ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
April 2010
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
22 participants
435 discussions
Start a n
N
ew thread
[tkreuzer] 46675: fix macro name in iptypes.h
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Apr 2 13:25:29 2010 New Revision: 46675 URL:
http://svn.reactos.org/svn/reactos?rev=46675&view=rev
Log: fix macro name in iptypes.h Modified: branches/header-work/include/psdk/iptypes.h Modified: branches/header-work/include/psdk/iptypes.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/iptype…
============================================================================== --- branches/header-work/include/psdk/iptypes.h [iso-8859-1] (original) +++ branches/header-work/include/psdk/iptypes.h [iso-8859-1] Fri Apr 2 13:25:29 2010 @@ -78,7 +78,7 @@ UINT EnableProxy; UINT EnableDns; } FIXED_INFO, *PFIXED_INFO; -#ifdef _WINSOCK2_H +#ifdef _WINSOCK2API_ typedef enum { IpPrefixOriginOther = 0, IpPrefixOriginManual,
14 years, 8 months
1
0
0
0
[akhaldi] 46674: [PSDK] - winddiui.h : Fix compstui.h inclusion.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 2 13:03:53 2010 New Revision: 46674 URL:
http://svn.reactos.org/svn/reactos?rev=46674&view=rev
Log: [PSDK] - winddiui.h : Fix compstui.h inclusion. Modified: branches/header-work/include/psdk/winddiui.h Modified: branches/header-work/include/psdk/winddiui.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/winddi…
============================================================================== --- branches/header-work/include/psdk/winddiui.h [iso-8859-1] (original) +++ branches/header-work/include/psdk/winddiui.h [iso-8859-1] Fri Apr 2 13:03:53 2010 @@ -21,7 +21,7 @@ #ifndef __WINE_WINDDIUI_H #define __WINE_WINDDIUI_H -#include <ddk/compstui.h> +#include <compstui.h> #ifdef __cplusplus extern "C" {
14 years, 8 months
1
0
0
0
[akhaldi] 46673: [DDK] - Move winddi.h and winddiui.h to PSDK.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 2 13:00:45 2010 New Revision: 46673 URL:
http://svn.reactos.org/svn/reactos?rev=46673&view=rev
Log: [DDK] - Move winddi.h and winddiui.h to PSDK. Added: branches/header-work/include/psdk/winddi.h - copied unchanged from r46671, branches/header-work/include/ddk/winddi.h branches/header-work/include/psdk/winddiui.h - copied unchanged from r46671, branches/header-work/include/ddk/winddiui.h Removed: branches/header-work/include/ddk/winddi.h branches/header-work/include/ddk/winddiui.h Removed: branches/header-work/include/ddk/winddi.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/winddi.…
============================================================================== --- branches/header-work/include/ddk/winddi.h [iso-8859-1] (original) +++ branches/header-work/include/ddk/winddi.h (removed) @@ -1,4164 +1,0 @@ -/* - * winddi.h - * - * GDI device driver interface - * - * This file is part of the w32api package. - * - * Contributors: - * Created by Casper S. Hornstrup <chorns(a)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_ -#define _WINDDI_ - -#ifdef __VIDEO_H__ -#error video.h cannot be included with winddi.h -#else - -#include <ddrawint.h> -#include <d3dnthal.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef DECLSPEC_IMPORT -#define DECLSPEC_IMPORT __attribute__((dllimport)) -#endif - -#ifndef WIN32KAPI -#define WIN32KAPI DECLSPEC_ADDRSAFE -#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 (APIENTRY *PFN)(); - -DECLARE_HANDLE(HBM); -DECLARE_HANDLE(HDEV); -DECLARE_HANDLE(HSURF); -DECLARE_HANDLE(DHSURF); -DECLARE_HANDLE(DHPDEV); -DECLARE_HANDLE(HDRVOBJ); - -#ifndef __NTDDVDEO_H -typedef struct _ENG_EVENT *PEVENT; -#endif - -#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 - -#define LTOFX(x) ((x) << 4) -#define FXTOL(x) ((x) >> 4) -#define FXTOLFLOOR(x) ((x) >> 4) -#define FXTOLCEILING(x) ((x + 0x0F) >> 4) -#define FXTOLROUND(x) ((((x) >> 3) + 1) >> 1) - -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; - -struct _DRIVEROBJ; - -typedef BOOL -(APIENTRY CALLBACK *FREEOBJPROC)( - IN struct _DRIVEROBJ *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_DrvUnknown1 9L -#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_DrvUnknown2 21L -#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_DrvUnknown3 36L -#define INDEX_DrvGetGlyphMode 37L -#define INDEX_DrvSynchronize 38L -#define INDEX_DrvUnknown4 39L -#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_DrvUnknown5 63L -#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 -#define DDI_DRIVER_VERSION_NT5_01_SP1 0x00030101 - -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; - -#if defined(_X86_) && !defined(USERMODE_DRIVER) -typedef struct _FLOATOBJ -{ - ULONG ul1; - ULONG ul2; -} FLOATOBJ, *PFLOATOBJ; -#else -typedef FLOAT FLOATOBJ, *PFLOATOBJ; -#endif - -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 *pptfx; -} 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; - - - -/* 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; - -/* 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 (APIENTRY CALLBACK *WNDOBJCHANGEPROC)( - IN WNDOBJ *pwo, - IN FLONG fl); - - -WIN32KAPI -HANDLE -APIENTRY -BRUSHOBJ_hGetColorTransform( - IN BRUSHOBJ *pbo); - -WIN32KAPI -PVOID -APIENTRY -BRUSHOBJ_pvAllocRbrush( - IN BRUSHOBJ *pbo, - IN ULONG cj); - -WIN32KAPI -PVOID -APIENTRY -BRUSHOBJ_pvGetRbrush( - IN BRUSHOBJ *pbo); - -WIN32KAPI -ULONG -APIENTRY -BRUSHOBJ_ulGetBrushColor( - IN BRUSHOBJ *pbo); - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -CLIPOBJ_cEnumStart( - IN CLIPOBJ *pco, - IN BOOL bAll, - IN ULONG iType, - IN ULONG iDirection, - IN ULONG cLimit); - -WIN32KAPI -PATHOBJ* -APIENTRY -CLIPOBJ_ppoGetPath( - IN CLIPOBJ *pco); - -WIN32KAPI -VOID -APIENTRY -EngAcquireSemaphore( - IN HSEMAPHORE hsem); - -#define FL_ZERO_MEMORY 0x00000001 -#define FL_NONPAGED_MEMORY 0x00000002 - -WIN32KAPI -PVOID -APIENTRY -EngAllocMem( - IN ULONG Flags, - IN ULONG MemSize, - IN ULONG Tag); - -WIN32KAPI -PVOID -APIENTRY -EngAllocPrivateUserMem( - IN PDD_SURFACE_LOCAL psl, - IN SIZE_T cj, - IN ULONG tag); - -WIN32KAPI -PVOID -APIENTRY -EngAllocUserMem( - IN SIZE_T cj, - IN ULONG tag); - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -EngAssociateSurface( - IN HSURF hsurf, - IN HDEV hdev, - IN FLONG flHooks); - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -EngCheckAbort( - IN SURFOBJ *pso); - -WIN32KAPI -VOID -APIENTRY -EngClearEvent( - IN PEVENT pEvent); - -WIN32KAPI -FD_GLYPHSET* -APIENTRY -EngComputeGlyphSet( - IN INT nCodePage, - IN INT nFirstChar, - IN INT cChars); - -/* EngControlSprites.fl constants */ -#define ECS_TEARDOWN 0x00000001 -#define ECS_REDRAW 0x00000002 - -WIN32KAPI -BOOL -APIENTRY -EngControlSprites( - IN WNDOBJ *pwo, - IN FLONG fl); - -WIN32KAPI -BOOL -APIENTRY -EngCopyBits( - OUT SURFOBJ *psoDest, - IN SURFOBJ *psoSrc, - IN CLIPOBJ *pco, - IN XLATEOBJ *pxlo, - IN RECTL *prclDest, - IN POINTL *pptlSrc); - -WIN32KAPI -HBITMAP -APIENTRY -EngCreateBitmap( - IN SIZEL sizl, - IN LONG lWidth, - IN ULONG iFormat, - IN FLONG fl, - IN PVOID pvBits); - -WIN32KAPI -CLIPOBJ* -APIENTRY -EngCreateClip( - VOID); - -WIN32KAPI -HBITMAP -APIENTRY -EngCreateDeviceBitmap( - IN DHSURF dhsurf, - IN SIZEL sizl, - IN ULONG iFormatCompat); - -WIN32KAPI -HSURF -APIENTRY -EngCreateDeviceSurface( - DHSURF dhsurf, - SIZEL sizl, - ULONG iFormatCompat); - -#if 0 -WIN32KAPI -HDRVOBJ -APIENTRY -EngCreateDriverObj( - PVOID pvObj, - FREEOBJPROC pFreeObjProc, - HDEV hdev); -#endif - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -EngCreatePalette( - IN ULONG iMode, - IN ULONG cColors, - IN ULONG *pulColors, - IN FLONG flRed, - IN FLONG flGreen, - IN FLONG flBlue); - -WIN32KAPI -PATHOBJ* -APIENTRY -EngCreatePath( - VOID); - -WIN32KAPI -HSEMAPHORE -APIENTRY -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* -APIENTRY -EngCreateWnd( - SURFOBJ *pso, - HWND hwnd, - WNDOBJCHANGEPROC pfn, - FLONG fl, - int iPixelFormat); - -WIN32KAPI -VOID -APIENTRY -EngDebugBreak( - VOID); - -WIN32KAPI -VOID -APIENTRY -EngDebugPrint( - IN PCHAR StandardPrefix, - IN PCHAR DebugMessage, - IN va_list ap); - -WIN32KAPI -VOID -APIENTRY -EngDeleteClip( - IN CLIPOBJ *pco); - -WIN32KAPI -BOOL -APIENTRY -EngDeleteDriverObj( - IN HDRVOBJ hdo, - IN BOOL bCallBack, - IN BOOL bLocked); - -WIN32KAPI -BOOL -APIENTRY -EngDeleteEvent( - IN PEVENT pEvent); - -WIN32KAPI -BOOL -APIENTRY -EngDeleteFile( - IN LPWSTR pwszFileName); - -WIN32KAPI -BOOL -APIENTRY -EngDeletePalette( - IN HPALETTE hpal); - -WIN32KAPI -VOID -APIENTRY -EngDeletePath( - IN PATHOBJ *ppo); - -WIN32KAPI -VOID -APIENTRY -EngDeleteSafeSemaphore( - IN OUT ENGSAFESEMAPHORE *pssem); - -WIN32KAPI -VOID -APIENTRY -EngDeleteSemaphore( - IN OUT HSEMAPHORE hsem); - -WIN32KAPI -BOOL -APIENTRY -EngDeleteSurface( - IN HSURF hsurf); - -WIN32KAPI -VOID -APIENTRY -EngDeleteWnd( - IN WNDOBJ *pwo); - -WIN32KAPI -DWORD -APIENTRY -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 -APIENTRY -EngDitherColor( - IN HDEV hdev, - IN ULONG iMode, - IN ULONG rgb, - OUT ULONG *pul); - -WIN32KAPI -BOOL -APIENTRY -EngEnumForms( - IN HANDLE hPrinter, - IN DWORD Level, - OUT LPBYTE pForm, - IN DWORD cbBuf, - OUT LPDWORD pcbNeeded, - OUT LPDWORD pcReturned); - -WIN32KAPI -BOOL -APIENTRY -EngEraseSurface( - IN SURFOBJ *pso, - IN RECTL *prcl, - IN ULONG iColor); - -WIN32KAPI -BOOL -APIENTRY -EngFillPath( - IN SURFOBJ *pso, - IN PATHOBJ *ppo, - IN CLIPOBJ *pco, - IN BRUSHOBJ *pbo, - IN POINTL *pptlBrushOrg, - IN MIX mix, - IN FLONG flOptions); - -WIN32KAPI -PVOID -APIENTRY -EngFindImageProcAddress( - IN HANDLE hModule, - IN LPSTR lpProcName); - -WIN32KAPI -PVOID -APIENTRY -EngFindResource( - IN HANDLE h, - IN int iName, - IN int iType, - OUT PULONG pulSize); - -WIN32KAPI -PVOID -APIENTRY -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 -APIENTRY -EngFntCacheFault( - IN ULONG ulFastCheckSum, - IN ULONG iFaultMode); - -WIN32KAPI -PVOID -APIENTRY -EngFntCacheLookUp( - IN ULONG FastCheckSum, - OUT ULONG *pulSize); - -WIN32KAPI -VOID -APIENTRY -EngFreeMem( - IN PVOID Mem); - -WIN32KAPI -VOID -APIENTRY -EngFreeModule( - IN HANDLE h); - -WIN32KAPI -VOID -APIENTRY -EngFreePrivateUserMem( - IN PDD_SURFACE_LOCAL psl, - IN PVOID pv); - -WIN32KAPI -VOID -APIENTRY -EngFreeUserMem( - IN PVOID pv); - -WIN32KAPI -VOID -APIENTRY -EngGetCurrentCodePage( - OUT PUSHORT OemCodePage, - OUT PUSHORT AnsiCodePage); - -WIN32KAPI -HANDLE -APIENTRY -EngGetCurrentProcessId( - VOID); - -WIN32KAPI -HANDLE -APIENTRY -EngGetCurrentThreadId( - VOID); - -WIN32KAPI -LPWSTR -APIENTRY -EngGetDriverName( - IN HDEV hdev); - -WIN32KAPI -BOOL -APIENTRY -EngGetFileChangeTime( - IN HANDLE h, - OUT LARGE_INTEGER *pChangeTime); - -WIN32KAPI -BOOL -APIENTRY -EngGetFilePath( - IN HANDLE h, - OUT WCHAR (*pDest)[MAX_PATH+1]); - -WIN32KAPI -BOOL -APIENTRY -EngGetForm( - IN HANDLE hPrinter, - IN LPWSTR pFormName, - IN DWORD Level, - OUT LPBYTE pForm, - IN DWORD cbBuf, - OUT LPDWORD pcbNeeded); - -WIN32KAPI -ULONG -APIENTRY -EngGetLastError( - VOID); - -WIN32KAPI -BOOL -APIENTRY -EngGetPrinter( - IN HANDLE hPrinter, - IN DWORD dwLevel, - OUT LPBYTE pPrinter, - IN DWORD cbBuf, - OUT LPDWORD pcbNeeded); - -WIN32KAPI -DWORD -APIENTRY -EngGetPrinterData( - IN HANDLE hPrinter, - IN LPWSTR pValueName, - OUT LPDWORD pType, - OUT LPBYTE pData, - IN DWORD nSize, - OUT LPDWORD pcbNeeded); - -WIN32KAPI -LPWSTR -APIENTRY -EngGetPrinterDataFileName( - IN HDEV hdev); - -WIN32KAPI -BOOL -APIENTRY -EngGetPrinterDriver( - IN HANDLE hPrinter, - IN LPWSTR pEnvironment, - IN DWORD dwLevel, - OUT BYTE *lpbDrvInfo, - IN DWORD cbBuf, - OUT DWORD *pcbNeeded); - -WIN32KAPI -HANDLE -APIENTRY -EngGetProcessHandle( - VOID); - -WIN32KAPI -BOOL -APIENTRY -EngGetType1FontList( - IN HDEV hdev, - OUT TYPE1_FONT *pType1Buffer, - IN ULONG cjType1Buffer, - OUT PULONG pulLocalFonts, - OUT PULONG pulRemoteFonts, - OUT LARGE_INTEGER *pLastModified); - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -EngHangNotification( - IN HDEV hDev, - IN PVOID Reserved); - -WIN32KAPI -BOOL -APIENTRY -EngInitializeSafeSemaphore( - OUT ENGSAFESEMAPHORE *pssem); - -WIN32KAPI -BOOL -APIENTRY -EngIsSemaphoreOwned( - IN HSEMAPHORE hsem); - -WIN32KAPI -BOOL -APIENTRY -EngIsSemaphoreOwnedByCurrentThread( - IN HSEMAPHORE hsem); - -WIN32KAPI -BOOL -APIENTRY -EngLineTo( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *prclBounds, - MIX mix); - -WIN32KAPI -HANDLE -APIENTRY -EngLoadImage( - IN LPWSTR pwszDriver); - -WIN32KAPI -HANDLE -APIENTRY -EngLoadModule( - IN LPWSTR pwsz); - -WIN32KAPI -HANDLE -APIENTRY -EngLoadModuleForWrite( - IN LPWSTR pwsz, - IN ULONG cjSizeOfModule); - -WIN32KAPI -PDD_SURFACE_LOCAL -APIENTRY -EngLockDirectDrawSurface( - IN HANDLE hSurface); - -WIN32KAPI -DRIVEROBJ* -APIENTRY -EngLockDriverObj( - IN HDRVOBJ hdo); - -WIN32KAPI -SURFOBJ* -APIENTRY -EngLockSurface( - IN HSURF hsurf); - -WIN32KAPI -BOOL -APIENTRY -EngLpkInstalled( - VOID); - -WIN32KAPI -PEVENT -APIENTRY -EngMapEvent( - IN HDEV hDev, - IN HANDLE hUserObject, - IN PVOID Reserved1, - IN PVOID Reserved2, - IN PVOID Reserved3); - -WIN32KAPI -PVOID -APIENTRY -EngMapFile( - IN LPWSTR pwsz, - IN ULONG cjSize, - OUT ULONG_PTR *piFile); - -WIN32KAPI -BOOL -APIENTRY -EngMapFontFile( - ULONG_PTR iFile, - PULONG *ppjBuf, - ULONG *pcjBuf); - -WIN32KAPI -BOOL -APIENTRY -EngMapFontFileFD( - IN ULONG_PTR iFile, - OUT PULONG *ppjBuf, - OUT ULONG *pcjBuf); - -WIN32KAPI -PVOID -APIENTRY -EngMapModule( - IN HANDLE h, - OUT PULONG pSize); - -WIN32KAPI -BOOL -APIENTRY -EngMarkBandingSurface( - IN HSURF hsurf); - -/* EngModifySurface.flSurface constants */ -#define MS_NOTSYSTEMMEMORY 0x00000001 -#define MS_SHAREDACCESS 0x00000002 - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -EngMovePointer( - IN SURFOBJ *pso, - IN LONG x, - IN LONG y, - IN RECTL *prcl); - -WIN32KAPI -int -APIENTRY -EngMulDiv( - IN int a, - IN int b, - IN int c); - -WIN32KAPI -VOID -APIENTRY -EngMultiByteToUnicodeN( - OUT LPWSTR UnicodeString, - IN ULONG MaxBytesInUnicodeString, - OUT PULONG BytesInUnicodeString, - IN PCHAR MultiByteString, - IN ULONG BytesInMultiByteString); - -WIN32KAPI -INT -APIENTRY -EngMultiByteToWideChar( - IN UINT CodePage, - OUT LPWSTR WideCharString, - IN INT BytesInWideCharString, - IN LPSTR MultiByteString, - IN INT BytesInMultiByteString); - -WIN32KAPI -BOOL -APIENTRY -EngPaint( - IN SURFOBJ *pso, - IN CLIPOBJ *pco, - IN BRUSHOBJ *pbo, - IN POINTL *pptlBrushOrg, - IN MIX mix); - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -EngProbeForRead( - IN PVOID Address, - IN ULONG Length, - IN ULONG Alignment); - -WIN32KAPI -VOID -APIENTRY -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 -APIENTRY -EngQueryDeviceAttribute( - IN HDEV hdev, - IN ENG_DEVICE_ATTRIBUTE devAttr, - IN VOID *pvIn, - IN ULONG ulInSize, - OUT VOID *pvOut, - OUT ULONG ulOutSize); - -WIN32KAPI -LARGE_INTEGER -APIENTRY -EngQueryFileTimeStamp( - IN LPWSTR pwsz); - -WIN32KAPI -VOID -APIENTRY -EngQueryLocalTime( - OUT PENG_TIME_FIELDS ptf); - -WIN32KAPI -ULONG -APIENTRY -EngQueryPalette( - IN HPALETTE hPal, - OUT ULONG *piMode, - IN ULONG cColors, - OUT ULONG *pulColors); - -WIN32KAPI -VOID -APIENTRY -EngQueryPerformanceCounter( - OUT LONGLONG *pPerformanceCount); - -WIN32KAPI -VOID -APIENTRY -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 -APIENTRY -EngQuerySystemAttribute( - IN ENG_SYSTEM_ATTRIBUTE CapNum, - OUT PDWORD pCapability); - -WIN32KAPI -LONG -APIENTRY -EngReadStateEvent( - IN PEVENT pEvent); - -WIN32KAPI -VOID -APIENTRY -EngReleaseSemaphore( - IN HSEMAPHORE hsem); - -WIN32KAPI -BOOL -APIENTRY -EngRestoreFloatingPointState( - IN VOID *pBuffer); - -WIN32KAPI -ULONG -APIENTRY -EngSaveFloatingPointState( - OUT VOID *pBuffer, - IN ULONG cjBufferSize); - -WIN32KAPI -HANDLE -APIENTRY -EngSecureMem( - IN PVOID Address, - IN ULONG Length); - -WIN32KAPI -LONG -APIENTRY -EngSetEvent( - IN PEVENT pEvent); - -WIN32KAPI -VOID -APIENTRY -EngSetLastError( - IN ULONG iError); - -WIN32KAPI -ULONG -APIENTRY -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 -APIENTRY -EngSetPointerTag( - IN HDEV hdev, - IN SURFOBJ *psoMask, - IN SURFOBJ *psoColor, - IN XLATEOBJ *pxlo, - IN FLONG fl); - -WIN32KAPI -DWORD -APIENTRY -EngSetPrinterData( - IN HANDLE hPrinter, - IN LPWSTR pType, - IN DWORD dwType, - IN LPBYTE lpbPrinterData, - IN DWORD cjPrinterData); - -typedef int (CDECL *SORTCOMP)(const void *pv1, const void *pv2); - -WIN32KAPI -VOID -APIENTRY -EngSort( - IN OUT PBYTE pjBuf, - IN ULONG c, - IN ULONG cjElem, - IN SORTCOMP pfnComp); - -WIN32KAPI -BOOL -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -EngUnicodeToMultiByteN( - OUT PCHAR MultiByteString, - IN ULONG MaxBytesInMultiByteString, - OUT PULONG BytesInMultiByteString, - IN PWSTR UnicodeString, - IN ULONG BytesInUnicodeString); - -WIN32KAPI -VOID -APIENTRY -EngUnloadImage( - IN HANDLE hModule); - -WIN32KAPI -BOOL -APIENTRY -EngUnlockDirectDrawSurface( - IN PDD_SURFACE_LOCAL pSurface); - -WIN32KAPI -BOOL -APIENTRY -EngUnlockDriverObj( - IN HDRVOBJ hdo); - -WIN32KAPI -VOID -APIENTRY -EngUnlockSurface( - IN SURFOBJ *pso); - -WIN32KAPI -BOOL -APIENTRY -EngUnmapEvent( - IN PEVENT pEvent); - -WIN32KAPI -BOOL -APIENTRY -EngUnmapFile( - IN ULONG_PTR iFile); - -WIN32KAPI -VOID -APIENTRY -EngUnmapFontFile( - ULONG_PTR iFile); - -WIN32KAPI -VOID -APIENTRY -EngUnmapFontFileFD( - IN ULONG_PTR iFile); - -WIN32KAPI -VOID -APIENTRY -EngUnsecureMem( - IN HANDLE hSecure); - -WIN32KAPI -BOOL -APIENTRY -EngWaitForSingleObject( - IN PEVENT pEvent, - IN PLARGE_INTEGER pTimeOut); - -WIN32KAPI -INT -APIENTRY -EngWideCharToMultiByte( - IN UINT CodePage, - IN LPWSTR WideCharString, - IN INT BytesInWideCharString, - OUT LPSTR MultiByteString, - IN INT BytesInMultiByteString); - -WIN32KAPI -BOOL -APIENTRY -EngWritePrinter( - IN HANDLE hPrinter, - IN LPVOID pBuf, - IN DWORD cbBuf, - OUT LPDWORD pcWritten); - -#if defined(_X86_) && !defined(USERMODE_DRIVER) -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_Add( - IN OUT PFLOATOBJ pf, - IN PFLOATOBJ pf1); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_AddFloat( - IN OUT PFLOATOBJ pf, - IN FLOATL f); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_AddLong( - IN OUT PFLOATOBJ pf, - IN LONG l); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_Div( - IN OUT PFLOATOBJ pf, - IN PFLOATOBJ pf1); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_DivFloat( - IN OUT PFLOATOBJ pf, - IN FLOATL f); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_DivLong( - IN OUT PFLOATOBJ pf, - IN LONG l); - -WIN32KAPI -BOOL -APIENTRY -FLOATOBJ_Equal( - IN PFLOATOBJ pf, - IN PFLOATOBJ pf1); - -WIN32KAPI -BOOL -APIENTRY -FLOATOBJ_EqualLong( - IN PFLOATOBJ pf, - IN LONG l); - -WIN32KAPI -LONG -APIENTRY -FLOATOBJ_GetFloat( - IN PFLOATOBJ pf); - -WIN32KAPI -LONG -APIENTRY -FLOATOBJ_GetLong( - IN PFLOATOBJ pf); - -WIN32KAPI -BOOL -APIENTRY -FLOATOBJ_GreaterThan( - IN PFLOATOBJ pf, - IN PFLOATOBJ pf1); - -WIN32KAPI -BOOL -APIENTRY -FLOATOBJ_GreaterThanLong( - IN PFLOATOBJ pf, - IN LONG l); - -WIN32KAPI -BOOL -APIENTRY -FLOATOBJ_LessThan( - IN PFLOATOBJ pf, - IN PFLOATOBJ pf1); - -WIN32KAPI -BOOL -APIENTRY -FLOATOBJ_LessThanLong( - IN PFLOATOBJ pf, - IN LONG l); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_Mul( - IN OUT PFLOATOBJ pf, - IN PFLOATOBJ pf1); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_MulFloat( - IN OUT PFLOATOBJ pf, - IN FLOATL f); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_MulLong( - IN OUT PFLOATOBJ pf, - IN LONG l); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_Neg( - IN OUT PFLOATOBJ pf); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_SetFloat( - OUT PFLOATOBJ pf, - IN FLOATL f); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_SetLong( - OUT PFLOATOBJ pf, - IN LONG l); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_Sub( - IN OUT PFLOATOBJ pf, - IN PFLOATOBJ pf1); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_SubFloat( - IN OUT PFLOATOBJ pf, - IN FLOATL f); - -WIN32KAPI -VOID -APIENTRY -FLOATOBJ_SubLong( - IN OUT PFLOATOBJ pf, - IN LONG l); - -#else - -#define FLOATOBJ_SetFloat(pf, f) {*(pf) = (f);} -#define FLOATOBJ_SetLong(pf, l) {*(pf) = (FLOAT)(l);} -#define FLOATOBJ_GetFloat(pf) (*(PULONG)(pf)) -#define FLOATOBJ_GetLong(pf) ((LONG)*(pf)) -#define FLOATOBJ_Add(pf, pf1) {*(pf) += *(pf1);} -#define FLOATOBJ_AddFloat(pf, f) {*(pf) += (f);} -#define FLOATOBJ_AddLong(pf, l) {*(pf) += (l);} -#define FLOATOBJ_Sub(pf, pf1) {*(pf) -= *(pf1);} -#define FLOATOBJ_SubFloat(pf, f) {*(pf) -= (f);} -#define FLOATOBJ_SubLong(pf, l) {*(pf) -= (l);} -#define FLOATOBJ_Mul(pf, pf1) {*(pf) *= *(pf1);} -#define FLOATOBJ_MulFloat(pf, f) {*(pf) *= (f);} -#define FLOATOBJ_MulLong(pf, l) {*(pf) *= (l);} -#define FLOATOBJ_Div(pf, pf1) {*(pf) /= *(pf1);} -#define FLOATOBJ_DivFloat(pf, f) {*(pf) /= (f);} -#define FLOATOBJ_DivLong(pf, l) {*(pf) /= (l);} -#define FLOATOBJ_Neg(pf) {*(pf) = -(*(pf));} -#define FLOATOBJ_Equal(pf, pf1) (*(pf) == *(pf1)) -#define FLOATOBJ_GreaterThan(pf, pf1) (*(pf) > *(pf1)) -#define FLOATOBJ_LessThan(pf, pf1) (*(pf) < *(pf1)) -#define FLOATOBJ_EqualLong(pf, l) (*(pf) == (FLOAT)(l)) -#define FLOATOBJ_GreaterThanLong(pf, l) (*(pf) > (FLOAT)(l)) -#define FLOATOBJ_LessThanLong(pf, l) (*(pf) < (FLOAT)(l)) - -#endif - -WIN32KAPI -ULONG -APIENTRY -FONTOBJ_cGetAllGlyphHandles( - IN FONTOBJ *pfo, - OUT HGLYPH *phg); - -WIN32KAPI -ULONG -APIENTRY -FONTOBJ_cGetGlyphs( - IN FONTOBJ *pfo, - IN ULONG iMode, - IN ULONG cGlyph, - IN HGLYPH *phg, - OUT PVOID *ppvGlyph); - -WIN32KAPI -FD_GLYPHSET* -APIENTRY -FONTOBJ_pfdg( - IN FONTOBJ *pfo); - -WIN32KAPI -IFIMETRICS* -APIENTRY -FONTOBJ_pifi( - IN FONTOBJ *pfo); - -WIN32KAPI -PBYTE -APIENTRY -FONTOBJ_pjOpenTypeTablePointer( - IN FONTOBJ *pfo, - IN ULONG ulTag, - OUT ULONG *pcjTable); - -WIN32KAPI -PFD_GLYPHATTR -APIENTRY -FONTOBJ_pQueryGlyphAttrs( - IN FONTOBJ *pfo, - IN ULONG iMode); - -WIN32KAPI -PVOID -APIENTRY -FONTOBJ_pvTrueTypeFontFile( - IN FONTOBJ *pfo, - OUT ULONG *pcjFile); - -WIN32KAPI -LPWSTR -APIENTRY -FONTOBJ_pwszFontFilePaths( - IN FONTOBJ *pfo, - OUT ULONG *pcwc); - -WIN32KAPI -XFORMOBJ* -APIENTRY -FONTOBJ_pxoGetXform( - IN FONTOBJ *pfo); - -WIN32KAPI -VOID -APIENTRY -FONTOBJ_vGetInfo( - IN FONTOBJ *pfo, - IN ULONG cjSize, - OUT FONTINFO *pfi); - - - -WIN32KAPI -LONG -APIENTRY -HT_ComputeRGBGammaTable( - IN USHORT GammaTableEntries, - IN USHORT GammaTableType, - IN USHORT RedGamma, - IN USHORT GreenGamma, - IN USHORT BlueGamma, - OUT LPBYTE pGammaTable); - -WIN32KAPI -LONG -APIENTRY -HT_Get8BPPFormatPalette( - OUT LPPALETTEENTRY pPaletteEntry, - IN USHORT RedGamma, - IN USHORT GreenGamma, - IN USHORT BlueGamma); - -WIN32KAPI -LONG -APIENTRY -HT_Get8BPPMaskPalette( - IN OUT LPPALETTEENTRY pPaletteEntry, - IN BOOL Use8BPPMaskPal, - IN BYTE CMYMask, - IN USHORT RedGamma, - IN USHORT GreenGamma, - IN USHORT BlueGamma); - -WIN32KAPI -LONG -APIENTRY -HTUI_DeviceColorAdjustment( - IN LPSTR pDeviceName, - OUT PDEVHTADJDATA pDevHTAdjData); - -WIN32KAPI -ULONG -APIENTRY -PALOBJ_cGetColors( - IN PALOBJ *ppalo, - IN ULONG iStart, - IN ULONG cColors, - OUT ULONG *pulColors); - -WIN32KAPI -BOOL -APIENTRY -PATHOBJ_bCloseFigure( - IN PATHOBJ *ppo); - -WIN32KAPI -BOOL -APIENTRY -PATHOBJ_bEnum( - IN PATHOBJ *ppo, - OUT PATHDATA *ppd); - -WIN32KAPI -BOOL -APIENTRY -PATHOBJ_bEnumClipLines( - IN PATHOBJ *ppo, - IN ULONG cb, - OUT CLIPLINE *pcl); - -WIN32KAPI -BOOL -APIENTRY -PATHOBJ_bMoveTo( - IN PATHOBJ *ppo, - IN POINTFIX ptfx); - -WIN32KAPI -BOOL -APIENTRY -PATHOBJ_bPolyBezierTo( - IN PATHOBJ *ppo, - IN POINTFIX *pptfx, - IN ULONG cptfx); - -WIN32KAPI -BOOL -APIENTRY -PATHOBJ_bPolyLineTo( - IN PATHOBJ *ppo, - IN POINTFIX *pptfx, - IN ULONG cptfx); - -WIN32KAPI -VOID -APIENTRY -PATHOBJ_vEnumStart( - IN PATHOBJ *ppo); - -WIN32KAPI -VOID -APIENTRY -PATHOBJ_vEnumStartClipLines( - IN PATHOBJ *ppo, - IN CLIPOBJ *pco, - IN SURFOBJ *pso, - IN LINEATTRS *pla); - -WIN32KAPI -VOID -APIENTRY -PATHOBJ_vGetBounds( - IN PATHOBJ *ppo, - OUT PRECTFX prectfx); - -WIN32KAPI -BOOL -APIENTRY -STROBJ_bEnum( - IN STROBJ *pstro, - OUT ULONG *pc, - OUT PGLYPHPOS *ppgpos); - -WIN32KAPI -BOOL -APIENTRY -STROBJ_bEnumPositionsOnly( - IN STROBJ *pstro, - OUT ULONG *pc, - OUT PGLYPHPOS *ppgpos); - -WIN32KAPI -BOOL -APIENTRY -STROBJ_bGetAdvanceWidths( - IN STROBJ *pso, - IN ULONG iFirst, - IN ULONG c, - OUT POINTQF *pptqD); - -WIN32KAPI -DWORD -APIENTRY -STROBJ_dwGetCodePage( - IN STROBJ *pstro); - -WIN32KAPI -FIX -APIENTRY -STROBJ_fxBreakExtra( - IN STROBJ *pstro); - -WIN32KAPI -FIX -APIENTRY -STROBJ_fxCharacterExtra( - IN STROBJ *pstro); - -WIN32KAPI -VOID -APIENTRY -STROBJ_vEnumStart( - IN STROBJ *pstro); - -WIN32KAPI -BOOL -APIENTRY -WNDOBJ_bEnum( - IN WNDOBJ *pwo, - IN ULONG cj, - OUT ULONG *pul); - -WIN32KAPI -ULONG -APIENTRY -WNDOBJ_cEnumStart( - IN WNDOBJ *pwo, - IN ULONG iType, - IN ULONG iDirection, - IN ULONG cLimit); - -WIN32KAPI -VOID -APIENTRY -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 -APIENTRY -XFORMOBJ_bApplyXform( - IN XFORMOBJ *pxo, - IN ULONG iMode, - IN ULONG cPoints, - IN PVOID pvIn, - OUT PVOID pvOut); - -WIN32KAPI -ULONG -APIENTRY -XFORMOBJ_iGetFloatObjXform( - IN XFORMOBJ *pxo, - OUT FLOATOBJ_XFORM *pxfo); - -WIN32KAPI -ULONG -APIENTRY -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 -APIENTRY -XLATEOBJ_cGetPalette( - IN XLATEOBJ *pxlo, - IN ULONG iPal, - IN ULONG cPal, - OUT ULONG *pPal); - -WIN32KAPI -HANDLE -APIENTRY -XLATEOBJ_hGetColorTransform( - IN XLATEOBJ *pxlo); - -WIN32KAPI -ULONG -APIENTRY -XLATEOBJ_iXlate( - IN XLATEOBJ *pxlo, - IN ULONG iColor); - -WIN32KAPI -ULONG* -APIENTRY -XLATEOBJ_piVector( - IN XLATEOBJ *pxlo); - - - -/* Graphics Driver Functions */ - -BOOL -APIENTRY -DrvAlphaBlend( - IN SURFOBJ *psoDest, - IN SURFOBJ *psoSrc, - IN CLIPOBJ *pco, - IN XLATEOBJ *pxlo, - IN RECTL *prclDest, - IN RECTL *prclSrc, - IN BLENDOBJ *pBlendObj); - -BOOL -APIENTRY -DrvAssertMode( - IN DHPDEV dhpdev, - IN BOOL bEnable); - -BOOL -APIENTRY -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 -APIENTRY -DrvCompletePDEV( - IN DHPDEV dhpdev, - IN HDEV hdev); - -BOOL -APIENTRY -DrvCopyBits( - IN SURFOBJ *psoDest, - IN SURFOBJ *psoSrc, - IN CLIPOBJ *pco, - IN XLATEOBJ *pxlo, - IN RECTL *prclDest, - IN POINTL *pptlSrc); - -HBITMAP -APIENTRY -DrvCreateDeviceBitmap( - IN DHPDEV dhpdev, - IN SIZEL sizl, - IN ULONG iFormat); - -VOID -APIENTRY -DrvDeleteDeviceBitmap( - IN DHSURF dhsurf); - -HBITMAP -APIENTRY -DrvDeriveSurface( - DD_DIRECTDRAW_GLOBAL *pDirectDraw, - DD_SURFACE_LOCAL *pSurface); - -LONG -APIENTRY -DrvDescribePixelFormat( - IN DHPDEV dhpdev, - IN LONG iPixelFormat, - IN ULONG cjpfd, - OUT PIXELFORMATDESCRIPTOR *ppfd); - -VOID -APIENTRY -DrvDestroyFont( - IN FONTOBJ *pfo); - -VOID -APIENTRY -DrvDisableDriver( - VOID); - -VOID -APIENTRY -DrvDisablePDEV( - IN DHPDEV dhpdev); - -VOID -APIENTRY -DrvDisableSurface( - IN DHPDEV dhpdev); - -#define DM_DEFAULT 0x00000001 -#define DM_MONOCHROME 0x00000002 - -ULONG -APIENTRY -DrvDitherColor( - IN DHPDEV dhpdev, - IN ULONG iMode, - IN ULONG rgb, - OUT ULONG *pul); - -ULONG -APIENTRY -DrvDrawEscape( - IN SURFOBJ *pso, - IN ULONG iEsc, - IN CLIPOBJ *pco, - IN RECTL *prcl, - IN ULONG cjIn, - IN PVOID pvIn); - -BOOL -APIENTRY -DrvEnableDriver( - IN ULONG iEngineVersion, - IN ULONG cj, - OUT DRVENABLEDATA *pded); - -DHPDEV -APIENTRY -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 -APIENTRY -DrvEnableSurface( - IN DHPDEV dhpdev); - -/* DrvEndDoc.fl constants */ -#define ED_ABORTDOC 0x00000001 - -BOOL -APIENTRY -DrvEndDoc( - IN SURFOBJ *pso, - IN FLONG fl); - -ULONG -APIENTRY -DrvEscape( - IN SURFOBJ *pso, - IN ULONG iEsc, - IN ULONG cjIn, - IN PVOID pvIn, - IN ULONG cjOut, - OUT PVOID pvOut); - -BOOL -APIENTRY -DrvFillPath( - IN SURFOBJ *pso, - IN PATHOBJ *ppo, - IN CLIPOBJ *pco, - IN BRUSHOBJ *pbo, - IN POINTL *pptlBrushOrg, - IN MIX mix, - IN FLONG flOptions); - -ULONG -APIENTRY -DrvFontManagement( - IN SURFOBJ *pso, - IN FONTOBJ *pfo, - IN ULONG iMode, - IN ULONG cjIn, - IN PVOID pvIn, - IN ULONG cjOut, - OUT PVOID pvOut); - -VOID -APIENTRY -DrvFree( - IN PVOID pv, - IN ULONG_PTR id); - -/* DrvGetGlyphMode return values */ -#define FO_HGLYPHS 0L -#define FO_GLYPHBITS 1L -#define FO_PATHOBJ 2L - -ULONG -APIENTRY -DrvGetGlyphMode( - IN DHPDEV dhpdev, - IN FONTOBJ *pfo); - -ULONG -APIENTRY -DrvGetModes( - IN HANDLE hDriver, - IN ULONG cjSize, - OUT DEVMODEW *pdm); - -PVOID -APIENTRY -DrvGetTrueTypeFile( - IN ULONG_PTR iFile, - IN ULONG *pcj); - -BOOL -APIENTRY -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 -APIENTRY -DrvIcmCheckBitmapBits( - IN DHPDEV dhpdev, - IN HANDLE hColorTransform, - IN SURFOBJ *pso, - OUT PBYTE paResults); - -HANDLE -APIENTRY -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 -APIENTRY -DrvIcmDeleteColorTransform( - IN DHPDEV dhpdev, - IN HANDLE hcmXform); - -/* DrvIcmSetDeviceGammaRamp.iFormat constants */ -#define IGRF_RGB_256BYTES 0x00000000 -#define IGRF_RGB_256WORDS 0x00000001 - -BOOL -APIENTRY -DrvIcmSetDeviceGammaRamp( - IN DHPDEV dhpdev, - IN ULONG iFormat, - IN LPVOID lpRamp); - -BOOL -APIENTRY -DrvLineTo( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *prclBounds, - MIX mix); - -ULONG_PTR -APIENTRY -DrvLoadFontFile( - ULONG cFiles, - ULONG_PTR *piFile, - PVOID *ppvView, - ULONG *pcjView, - DESIGNVECTOR *pdv, - ULONG ulLangID, - ULONG ulFastCheckSum); - -VOID -APIENTRY -DrvMovePointer( - IN SURFOBJ *pso, - IN LONG x, - IN LONG y, - IN RECTL *prcl); - -BOOL -APIENTRY -DrvNextBand( - IN SURFOBJ *pso, - IN POINTL *pptl); - -VOID -APIENTRY -DrvNotify( - IN SURFOBJ *pso, - IN ULONG iType, - IN PVOID pvData); - -BOOL -APIENTRY -DrvOffset( - IN SURFOBJ *pso, - IN LONG x, - IN LONG y, - IN FLONG flReserved); - -BOOL -APIENTRY -DrvPaint( - IN SURFOBJ *pso, - IN CLIPOBJ *pco, - IN BRUSHOBJ *pbo, - IN POINTL *pptlBrushOrg, - IN MIX mix); - -BOOL -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -DrvQueryDriverInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbBuf, - PDWORD pcbNeeded); - -PIFIMETRICS -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -DrvQueryFontTree( - IN DHPDEV dhpdev, - IN ULONG_PTR iFile, - IN ULONG iFace, - IN ULONG iMode, - IN ULONG_PTR *pid); - -PFD_GLYPHATTR -APIENTRY -DrvQueryGlyphAttrs( - IN FONTOBJ *pfo, - IN ULONG iMode); - -ULONG -APIENTRY -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 -APIENTRY -DrvQueryTrueTypeOutline( - IN DHPDEV dhpdev, - IN FONTOBJ *pfo, - IN HGLYPH hglyph, - IN BOOL bMetricsOnly, - IN GLYPHDATA *pgldt, - IN ULONG cjBuf, - OUT TTPOLYGONHEADER *ppoly); - -LONG -APIENTRY -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 -APIENTRY -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 -APIENTRY -DrvResetDevice( - IN DHPDEV dhpdev, - IN PVOID Reserved); - -BOOL -APIENTRY -DrvResetPDEV( - DHPDEV dhpdevOld, - DHPDEV dhpdevNew); - -/* DrvSaveScreenBits.iMode constants */ -#define SS_SAVE 0x00000000 -#define SS_RESTORE 0x00000001 -#define SS_FREE 0x00000002 - -ULONG_PTR -APIENTRY -DrvSaveScreenBits( - IN SURFOBJ *pso, - IN ULONG iMode, - IN ULONG_PTR ident, - IN RECTL *prcl); - -BOOL -APIENTRY -DrvSendPage( - IN SURFOBJ *pso); - -BOOL -APIENTRY -DrvSetPalette( - IN DHPDEV dhpdev, - IN PALOBJ *ppalo, - IN FLONG fl, - IN ULONG iStart, - IN ULONG cColors); - -BOOL -APIENTRY -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 -APIENTRY -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 -APIENTRY -DrvStartBanding( - IN SURFOBJ *pso, - IN POINTL *pptl); - -BOOL -APIENTRY -DrvStartDoc( - IN SURFOBJ *pso, - IN LPWSTR pwszDocName, - IN DWORD dwJobId); - -BOOL -APIENTRY -DrvStartPage( - IN SURFOBJ *pso); - -BOOL -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -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 -APIENTRY -DrvSwapBuffers( - IN SURFOBJ *pso, - IN WNDOBJ *pwo); - -VOID -APIENTRY -DrvSynchronize( - IN DHPDEV dhpdev, - IN RECTL *prcl); - -/* DrvSynchronizeSurface.fl constants */ -#define DSS_TIMER_EVENT 0x00000001 -#define DSS_FLUSH_EVENT 0x00000002 - -VOID -APIENTRY -DrvSynchronizeSurface( - IN SURFOBJ *pso, - IN RECTL *prcl, - IN FLONG fl); - -BOOL -APIENTRY -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 -APIENTRY -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 -APIENTRY -DrvUnloadFontFile( - IN ULONG_PTR iFile); - -typedef BOOL -(APIENTRY *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 -(APIENTRY *PFN_DrvAssertMode)( - IN DHPDEV dhpdev, - IN BOOL bEnable); - -typedef BOOL -(APIENTRY *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 -(APIENTRY *PFN_DrvCompletePDEV)( - IN DHPDEV dhpdev, - IN HDEV hdev); - -typedef BOOL -(APIENTRY *PFN_DrvCopyBits)( - IN SURFOBJ *psoDest, - IN SURFOBJ *psoSrc, - IN CLIPOBJ *pco, - IN XLATEOBJ *pxlo, - IN RECTL *prclDest, - IN POINTL *pptlSrc); - -typedef HBITMAP -(APIENTRY *PFN_DrvCreateDeviceBitmap)( - IN DHPDEV dhpdev, - IN SIZEL sizl, - IN ULONG iFormat); - -typedef VOID -(APIENTRY *PFN_DrvDeleteDeviceBitmap)( - IN DHSURF dhsurf); - -typedef HBITMAP -(APIENTRY *PFN_DrvDeriveSurface)( - DD_DIRECTDRAW_GLOBAL *pDirectDraw, - DD_SURFACE_LOCAL *pSurface); - -typedef LONG -(APIENTRY *PFN_DrvDescribePixelFormat)( - IN DHPDEV dhpdev, - IN LONG iPixelFormat, - IN ULONG cjpfd, - OUT PIXELFORMATDESCRIPTOR *ppfd); - -typedef VOID -(APIENTRY *PFN_DrvDestroyFont)( - IN FONTOBJ *pfo); - -typedef VOID -(APIENTRY *PFN_DrvDisableDriver)( - VOID); - -typedef VOID -(APIENTRY *PFN_DrvDisablePDEV)( - IN DHPDEV dhpdev); - -typedef VOID -(APIENTRY *PFN_DrvDisableSurface)( - IN DHPDEV dhpdev); - -typedef ULONG -(APIENTRY *PFN_DrvDitherColor)( - IN DHPDEV dhpdev, - IN ULONG iMode, - IN ULONG rgb, - OUT ULONG *pul); - -typedef ULONG -(APIENTRY *PFN_DrvDrawEscape)( - IN SURFOBJ *pso, - IN ULONG iEsc, - IN CLIPOBJ *pco, - IN RECTL *prcl, - IN ULONG cjIn, - IN PVOID pvIn); - -typedef BOOL -(APIENTRY *PFN_DrvEnableDriver)( - IN ULONG iEngineVersion, - IN ULONG cj, - OUT DRVENABLEDATA *pded); - -typedef DHPDEV -(APIENTRY *PFN_DrvEnablePDEV)( - IN DEVMODEW *pdm, - IN LPWSTR pwszLogAddress, - IN ULONG cPat, - OUT HSURF *phsurfPatterns, - IN ULONG cjCaps, - GDIINFO *pdevcaps, - IN ULONG cjDevInfo, - OUT DEVINFO *pdi, - IN HDEV hdev, - IN LPWSTR pwszDeviceName, - IN HANDLE hDriver); - -typedef HSURF -(APIENTRY *PFN_DrvEnableSurface)( - IN DHPDEV dhpdev); - -typedef BOOL -(APIENTRY *PFN_DrvEndDoc)( - IN SURFOBJ *pso, - IN FLONG fl); - -typedef ULONG -(APIENTRY *PFN_DrvEscape)( - IN SURFOBJ *pso, - IN ULONG iEsc, - IN ULONG cjIn, - IN PVOID pvIn, - IN ULONG cjOut, - OUT PVOID pvOut); - -typedef BOOL -(APIENTRY *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 -(APIENTRY *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 -(APIENTRY *PFN_DrvFree)( - IN PVOID pv, - IN ULONG_PTR id); - -typedef ULONG -(APIENTRY *PFN_DrvGetGlyphMode)( - IN DHPDEV dhpdev, - IN FONTOBJ *pfo); - -typedef ULONG -(APIENTRY *PFN_DrvGetModes)( - IN HANDLE hDriver, - IN ULONG cjSize, - OUT DEVMODEW *pdm); - -typedef PVOID -(APIENTRY *PFN_DrvGetTrueTypeFile)( - IN ULONG_PTR iFile, - IN ULONG *pcj); - -typedef BOOL -(APIENTRY *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 -(APIENTRY *PFN_DrvIcmCheckBitmapBits)( - IN DHPDEV dhpdev, - IN HANDLE hColorTransform, - IN SURFOBJ *pso, - OUT PBYTE paResults); - -typedef HANDLE -(APIENTRY *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 -(APIENTRY *PFN_DrvIcmDeleteColorTransform)( - IN DHPDEV dhpdev, - IN HANDLE hcmXform); - -typedef BOOL -(APIENTRY *PFN_DrvIcmSetDeviceGammaRamp)( - IN DHPDEV dhpdev, - IN ULONG iFormat, - IN LPVOID lpRamp); - -typedef BOOL -(APIENTRY *PFN_DrvLineTo)( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *prclBounds, - MIX mix); - -typedef ULONG_PTR -(APIENTRY *PFN_DrvLoadFontFile)( - ULONG cFiles, - ULONG_PTR *piFile, - PVOID *ppvView, - ULONG *pcjView, - DESIGNVECTOR *pdv, - ULONG ulLangID, - ULONG ulFastCheckSum); - -typedef VOID -(APIENTRY *PFN_DrvMovePointer)( - IN SURFOBJ *pso, - IN LONG x, - IN LONG y, - IN RECTL *prcl); - -typedef BOOL -(APIENTRY *PFN_DrvNextBand)( - IN SURFOBJ *pso, - IN POINTL *pptl); - -typedef VOID -(APIENTRY *PFN_DrvNotify)( - IN SURFOBJ *pso, - IN ULONG iType, - IN PVOID pvData); - -typedef BOOL -(APIENTRY *PFN_DrvOffset)( - IN SURFOBJ *pso, - IN LONG x, - IN LONG y, - IN FLONG flReserved); - -typedef BOOL -(APIENTRY *PFN_DrvPaint)( - IN SURFOBJ *pso, - IN CLIPOBJ *pco, - IN BRUSHOBJ *pbo, - IN POINTL *pptlBrushOrg, - IN MIX mix); - -typedef BOOL -(APIENTRY *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 -(APIENTRY *PFN_DrvQueryAdvanceWidths)( - IN DHPDEV dhpdev, - IN FONTOBJ *pfo, - IN ULONG iMode, - IN HGLYPH *phg, - OUT PVOID pvWidths, - IN ULONG cGlyphs); - -typedef BOOL -(APIENTRY *PFN_DrvQueryDeviceSupport)( - SURFOBJ *pso, - XLATEOBJ *pxlo, - XFORMOBJ *pxo, - ULONG iType, - ULONG cjIn, - PVOID pvIn, - ULONG cjOut, - PVOID pvOut); - -typedef BOOL -(APIENTRY *PFN_DrvQueryDriverInfo)( - DWORD dwMode, - PVOID pBuffer, - DWORD cbBuf, - PDWORD pcbNeeded); - -typedef PIFIMETRICS -(APIENTRY *PFN_DrvQueryFont)( - IN DHPDEV dhpdev, - IN ULONG_PTR iFile, - IN ULONG iFace, - IN ULONG_PTR *pid); - -typedef LONG -(APIENTRY *PFN_DrvQueryFontCaps)( - IN ULONG culCaps, - OUT ULONG *pulCaps); - -typedef LONG -(APIENTRY *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 -(APIENTRY *PFN_DrvQueryFontFile)( - IN ULONG_PTR iFile, - IN ULONG ulMode, - IN ULONG cjBuf, - IN ULONG *pulBuf); - -typedef PVOID -(APIENTRY *PFN_DrvQueryFontTree)( - IN DHPDEV dhpdev, - IN ULONG_PTR iFile, - IN ULONG iFace, - IN ULONG iMode, - IN ULONG_PTR *pid); - -typedef PFD_GLYPHATTR -(APIENTRY *PFN_DrvQueryGlyphAttrs)( - IN FONTOBJ *pfo, - IN ULONG iMode); - -typedef ULONG -(APIENTRY *PFN_DrvQueryPerBandInfo)( - IN SURFOBJ *pso, - IN OUT PERBANDINFO *pbi); - -typedef LONG -(APIENTRY *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 -(APIENTRY *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 -(APIENTRY *PFN_DrvRealizeBrush)( - IN BRUSHOBJ *pbo, - IN SURFOBJ *psoTarget, - IN SURFOBJ *psoPattern, - IN SURFOBJ *psoMask, - IN XLATEOBJ *pxlo, - IN ULONG iHatch); - -typedef ULONG -(APIENTRY *PFN_DrvResetDevice)( - IN DHPDEV dhpdev, - IN PVOID Reserved); - -typedef BOOL -(APIENTRY *PFN_DrvResetPDEV)( - DHPDEV dhpdevOld, - DHPDEV dhpdevNew); - -typedef ULONG_PTR -(APIENTRY *PFN_DrvSaveScreenBits)( - IN SURFOBJ *pso, - IN ULONG iMode, - IN ULONG_PTR ident, - IN RECTL *prcl); - -typedef BOOL -(APIENTRY *PFN_DrvSendPage)( - IN SURFOBJ *pso); - -typedef BOOL -(APIENTRY *PFN_DrvSetPalette)( - IN DHPDEV dhpdev, - IN PALOBJ *ppalo, - IN FLONG fl, - IN ULONG iStart, - IN ULONG cColors); - -typedef BOOL -(APIENTRY *PFN_DrvSetPixelFormat)( - IN SURFOBJ *pso, - IN LONG iPixelFormat, - IN HWND hwnd); - -typedef ULONG -(APIENTRY *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 -(APIENTRY *PFN_DrvStartBanding)( - IN SURFOBJ *pso, - IN POINTL *pptl); - -typedef BOOL -(APIENTRY *PFN_DrvStartDoc)( - IN SURFOBJ *pso, - IN LPWSTR pwszDocName, - IN DWORD dwJobId); - -typedef BOOL -(APIENTRY *PFN_DrvStartPage)( - IN SURFOBJ *pso); - -typedef BOOL -(APIENTRY *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 -(APIENTRY *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 -(APIENTRY *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 -(APIENTRY *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 -(APIENTRY *PFN_DrvSwapBuffers)( - IN SURFOBJ *pso, - IN WNDOBJ *pwo); - -typedef VOID -(APIENTRY *PFN_DrvSynchronize)( - IN DHPDEV dhpdev, - IN RECTL *prcl); - -typedef VOID -(APIENTRY *PFN_DrvSynchronizeSurface)( - IN SURFOBJ *pso, - IN RECTL *prcl, - IN FLONG fl); - -typedef BOOL -(APIENTRY *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 -(APIENTRY *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 -(APIENTRY *PFN_DrvUnloadFontFile)( - IN ULONG_PTR iFile); - - -WIN32KAPI -VOID -APIENTRY -DrvDisableDirectDraw( - IN DHPDEV dhpdev); - -typedef VOID -(APIENTRY *PFN_DrvDisableDirectDraw)( - IN DHPDEV dhpdev); - -WIN32KAPI -BOOL -APIENTRY -DrvEnableDirectDraw( - IN DHPDEV dhpdev, - OUT DD_CALLBACKS *pCallBacks, - OUT DD_SURFACECALLBACKS *pSurfaceCallBacks, - OUT DD_PALETTECALLBACKS *pPaletteCallBacks); - -typedef BOOL -(APIENTRY *PFN_DrvEnableDirectDraw)( - IN DHPDEV dhpdev, - OUT DD_CALLBACKS *pCallBacks, - OUT DD_SURFACECALLBACKS *pSurfaceCallBacks, - OUT DD_PALETTECALLBACKS *pPaletteCallBacks); - -WIN32KAPI -BOOL -APIENTRY -DrvGetDirectDrawInfo( - IN DHPDEV dhpdev, - OUT DD_HALINFO *pHalInfo, - OUT DWORD *pdwNumHeaps, - OUT VIDEOMEMORY *pvmList, - OUT DWORD *pdwNumFourCCCodes, - OUT DWORD *pdwFourCC); - -typedef BOOL -(APIENTRY *PFN_DrvGetDirectDrawInfo)( - IN DHPDEV dhpdev, - OUT DD_HALINFO *pHalInfo, - OUT DWORD *pdwNumHeaps, - OUT VIDEOMEMORY *pvmList, - OUT DWORD *pdwNumFourCCCodes, - OUT DWORD *pdwFourCC); - -//DECLSPEC_DEPRECATED_DDK -BOOL -APIENTRY -DrvQuerySpoolType( - IN DHPDEV dhpdev, - IN LPWSTR pwchType); - -typedef BOOL -(APIENTRY *PFN_DrvQuerySpoolType)( - IN DHPDEV dhpdev, - IN LPWSTR pwchType); - - -#ifdef __cplusplus -} -#endif - -#endif /* defined __VIDEO_H__ */ - -#endif /* _WINDDI_ */ Removed: branches/header-work/include/ddk/winddiui.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/winddiu…
============================================================================== --- branches/header-work/include/ddk/winddiui.h [iso-8859-1] (original) +++ branches/header-work/include/ddk/winddiui.h (removed) @@ -1,117 +1,0 @@ -/* - * Header for the Device Driver Interface - User Interface library - * - * Copyright 2007 Marcel Partap - * - * 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 - */ - -#ifndef __WINE_WINDDIUI_H -#define __WINE_WINDDIUI_H - -#include <ddk/compstui.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#if (NTDDI_VERSION >= NTDDI_WINXP) -typedef struct _DOCEVENT_FILTER { - UINT cbSize; - UINT cElementsAllocated; - UINT cElementsNeeded; - UINT cElementsReturned; - DWORD aDocEventCall[ANYSIZE_ARRAY]; -} DOCEVENT_FILTER, *PDOCEVENT_FILTER; -typedef struct _DOCEVENT_CREATEDCPRE { - PWSTR pszDriver; - PWSTR pszDevice; - PDEVMODEW pdm; - BOOL bIC; -} DOCEVENT_CREATEDCPRE, *PDCEVENT_CREATEDCPRE; -typedef struct _DOCEVENT_ESCAPE { - int iEscape; - int cjInput; - PVOID pvInData; -} DOCEVENT_ESCAPE, *PDOCEVENT_ESCAPE; -#endif -#define DOCUMENTEVENT_FIRST 1 -#define DOCUMENTEVENT_CREATEDCPRE 1 -#define DOCUMENTEVENT_CREATEDCPOST 2 -#define DOCUMENTEVENT_RESETDCPRE 3 -#define DOCUMENTEVENT_RESETDCPOST 4 -#define DOCUMENTEVENT_STARTDOC 5 -#define DOCUMENTEVENT_STARTDOCPRE 5 -#define DOCUMENTEVENT_STARTPAGE 6 -#define DOCUMENTEVENT_ENDPAGE 7 -#define DOCUMENTEVENT_ENDDOC 8 -#define DOCUMENTEVENT_ENDDOCPRE 8 -#define DOCUMENTEVENT_ABORTDOC 9 -#define DOCUMENTEVENT_DELETEDC 10 -#define DOCUMENTEVENT_ESCAPE 11 -#define DOCUMENTEVENT_ENDDOCPOST 12 -#define DOCUMENTEVENT_STARTDOCPOST 13 -#if (NTDDI_VERSION >= NTDDI_VISTA) -#define DOCUMENTEVENT_QUERYFILTER 14 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRE 1 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRE 2 -#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEEPRE 3 -#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPOST 4 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPOST 5 -#define DOCUMENTEVENT_XPS_CANCELJOB 6 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPRE 7 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPRE 8 -#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPRE 9 -#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPOST 10 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPOST 11 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPOST 12 -#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPOST 13 -#define DOCUMENTEVENT_LAST 15 -#elif (NTDDI_VERSION >= NTDDI_WINXP) -#define DOCUMENTEVENT_QUERYFILTER 14 -#define DOCUMENTEVENT_LAST 15 -#else -#define DOCUMENTEVENT_LAST 14 -#endif -#define DOCUMENTEVENT_SPOOLED 0x10000 -#define DOCUMENTEVENT_SUCCESS 1 -#define DOCUMENTEVENT_UNSUPPORTED 0 -#define DOCUMENTEVENT_FAILURE -1 -#define DOCUMENTEVENT_EVENT(iX) (LOWORD(iX)) -#define DOCUMENTEVENT_FLAGS(iX) (HIWORD(iX)) - -int WINAPI DrvDocumentEvent(HANDLE,HDC,int,ULONG,PVOID,ULONG,PVOID); - -#define DRIVER_EVENT_INITIALIZE 1 -#define DRIVER_EVENT_DELETE 2 - -#define PRINTER_EVENT_ADD_CONNECTION 1 -#define PRINTER_EVENT_DELETE_CONNECTION 2 -#define PRINTER_EVENT_INITIALIZE 3 -#define PRINTER_EVENT_DELETE 4 -#define PRINTER_EVENT_CACHE_REFRESH 5 -#define PRINTER_EVENT_CACHE_DELETE 6 -#define PRINTER_EVENT_ATTRIBUTES_CHANGED 7 - -#define PRINTER_EVENT_FLAG_NO_UI 1 - -BOOL WINAPI DrvDriverEvent(DWORD, DWORD, LPBYTE, LPARAM); -BOOL WINAPI DrvPrinterEvent(LPWSTR, INT, DWORD, LPARAM); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __WINE_WINDDIUI_H */
14 years, 8 months
1
0
0
0
[akhaldi] 46672: [PSDK] - winsock.h : Fix a typo, and remove some duplicate definitions.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 2 12:59:35 2010 New Revision: 46672 URL:
http://svn.reactos.org/svn/reactos?rev=46672&view=rev
Log: [PSDK] - winsock.h : Fix a typo, and remove some duplicate definitions. Modified: branches/header-work/include/psdk/winsock.h Modified: branches/header-work/include/psdk/winsock.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/winsoc…
============================================================================== --- branches/header-work/include/psdk/winsock.h [iso-8859-1] (original) +++ branches/header-work/include/psdk/winsock.h [iso-8859-1] Fri Apr 2 12:59:35 2010 @@ -166,6 +166,7 @@ #else short s_port; char *s_proto; +#endif }; struct protoent { @@ -491,9 +492,6 @@ 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; @@ -532,6 +530,7 @@ unsigned short iMaxSockets; unsigned short iMaxUdpDg; char *lpVendorInfo; +#endif } WSADATA, FAR *LPWSADATA; struct ip_mreq {
14 years, 8 months
1
0
0
0
[tkreuzer] 46671: - fix _EXTPUSH (DUMMYUNIONNAME was used twice, like in the broken ms headers) - add wine/ddk/compstui.h wrapper around our file, as wine code wants it in ddk
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Apr 2 12:45:00 2010 New Revision: 46671 URL:
http://svn.reactos.org/svn/reactos?rev=46671&view=rev
Log: - fix _EXTPUSH (DUMMYUNIONNAME was used twice, like in the broken ms headers) - add wine/ddk/compstui.h wrapper around our file, as wine code wants it in ddk Added: branches/header-work/include/reactos/wine/ddk/ (with props) branches/header-work/include/reactos/wine/ddk/compstui.h (with props) Modified: branches/header-work/include/psdk/compstui.h Modified: branches/header-work/include/psdk/compstui.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/compst…
============================================================================== --- branches/header-work/include/psdk/compstui.h [iso-8859-1] (original) +++ branches/header-work/include/psdk/compstui.h [iso-8859-1] Fri Apr 2 12:45:00 2010 @@ -722,7 +722,7 @@ union { WORD DlgTemplateID; HANDLE hDlgTemplate; - } DUMMYUNIONNAME; + } DUMMYUNIONNAME2; ULONG_PTR dwReserved[3]; } EXTPUSH, *PEXTPUSH; Propchange: branches/header-work/include/reactos/wine/ddk/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Fri Apr 2 12:45:00 2010 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) Propchange: branches/header-work/include/reactos/wine/ddk/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details. Propchange: branches/header-work/include/reactos/wine/ddk/ ------------------------------------------------------------------------------ bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/header-work/include/reactos/wine/ddk/ ------------------------------------------------------------------------------ tsvn:logminsize = 10 Added: branches/header-work/include/reactos/wine/ddk/compstui.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/reactos/win…
============================================================================== --- branches/header-work/include/reactos/wine/ddk/compstui.h (added) +++ branches/header-work/include/reactos/wine/ddk/compstui.h [iso-8859-1] Fri Apr 2 12:45:00 2010 @@ -1,0 +1,2 @@ + +#include_next <compstui.h> Propchange: branches/header-work/include/reactos/wine/ddk/compstui.h ------------------------------------------------------------------------------ svn:eol-style = native
14 years, 8 months
1
0
0
0
[tkreuzer] 46670: fix mingw.rbuild
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Apr 2 12:19:13 2010 New Revision: 46670 URL:
http://svn.reactos.org/svn/reactos?rev=46670&view=rev
Log: fix mingw.rbuild Modified: branches/header-work/lib/3rdparty/mingw/mingw.rbuild Modified: branches/header-work/lib/3rdparty/mingw/mingw.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
============================================================================== --- branches/header-work/lib/3rdparty/mingw/mingw.rbuild [iso-8859-1] (original) +++ branches/header-work/lib/3rdparty/mingw/mingw.rbuild [iso-8859-1] Fri Apr 2 12:19:13 2010 @@ -3,14 +3,21 @@ <group> <module name="mingw_common" type="staticlibrary" isstartuplib="true" crt="dll"> <define name="_CRTBLD" /> + + <!-- This is to prevent from using data imports directly --> + <define name="_M_CEE_PURE" /> + <include base="ReactOS">include/reactos/mingw-w64</include> <library>kernel32</library> <file>_newmode.c</file> <file>atonexit.c</file> + <file>binmode.c</file> <file>charmax.c</file> <file>cinitexe.c</file> <file>CRT_fp10.c</file> <file>CRT_fp8.c</file> + <file>CRT_glob.c</file> + <file>crt_handler.c</file> <file>dllentry.c</file> <file>gccmain.c</file> <file>getopt.c</file> @@ -21,11 +28,16 @@ <file>pesect.c</file> <file>pseudo-reloc.c</file> <file>pseudo-reloc-list.c</file> + <file>tlsmcrt.c</file> <file>tlssup.c</file> + <file>tlsthrd.c</file> + <file>txtmode.c</file> <file>wildcard.c</file> <file>xncommod.c</file> <file>xthdloc.c</file> <file>xtxtmode.c</file> + <file>ofmt_stub.c</file> + <file>cxa_pure_virtual.c</file> </module> <module name="mingw_main" type="staticlibrary" isstartuplib="true" crt="dll"> <define name="_CRTBLD" /> @@ -50,4 +62,8 @@ <file>crtdll.c</file> <file>dllargv.c</file> </module> +<module name="oldnames" type="staticlibrary"> + <define name="_CRTBLD" /> + <importlibrary definition="moldname-msvcrt.def" dllname="msvcrt.dll" /> +</module> </group>
14 years, 8 months
1
0
0
0
[tkreuzer] 46669: fix rbuild file
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Apr 2 12:18:35 2010 New Revision: 46669 URL:
http://svn.reactos.org/svn/reactos?rev=46669&view=rev
Log: fix rbuild file Modified: branches/header-work/ReactOS-i386.rbuild Modified: branches/header-work/ReactOS-i386.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ReactOS-i386.rbuild…
============================================================================== --- branches/header-work/ReactOS-i386.rbuild [iso-8859-1] (original) +++ branches/header-work/ReactOS-i386.rbuild [iso-8859-1] Fri Apr 2 12:18:35 2010 @@ -28,6 +28,8 @@ <compilerflag>-mpreferred-stack-boundary=2</compilerflag> <compilerflag compiler="midl">-m32 --win32</compilerflag> <compilerflag compiler="cc,cxx">-gstabs+</compilerflag> + <compilerflag compiler="cc,cxx">-fno-set-stack-executable</compilerflag> + <compilerflag compiler="cc,cxx">-fno-optimize-sibling-calls</compilerflag> <compilerflag compiler="as">-gstabs+</compilerflag> </group>
14 years, 8 months
1
0
0
0
[akhaldi] 46668: Sync with trunk head (part 2 or 2)
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 2 12:04:27 2010 New Revision: 46668 URL:
http://svn.reactos.org/svn/reactos?rev=46668&view=rev
Log: Sync with trunk head (part 2 or 2) Modified: branches/header-work/ (props changed) Propchange: branches/header-work/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 2 12:04:27 2010 @@ -1,3 +1,3 @@ /branches/ros-amd64-bringup:36852 -/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44762-44764,44772,45124,45126-45127,46394 -/trunk/reactos:45691-46460 +/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44772,45124,45126-45127,46394,46478,46511,46524,46526,46534-46535,46537-46539,46589 +/trunk/reactos:45691-46666
14 years, 8 months
1
0
0
0
[akhaldi] 46667: Sync with trunk head (part 1 or 2)
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 2 12:03:25 2010 New Revision: 46667 URL:
http://svn.reactos.org/svn/reactos?rev=46667&view=rev
Log: Sync with trunk head (part 1 or 2) Added: branches/header-work/boot/bootdata/packages/ (props changed) - copied from r46666, trunk/reactos/boot/bootdata/packages/ branches/header-work/dll/directx/msdvbnp/ethernetfilter.cpp - copied unchanged from r46666, trunk/reactos/dll/directx/msdvbnp/ethernetfilter.cpp branches/header-work/dll/directx/msdvbnp/ipv4.cpp - copied unchanged from r46666, trunk/reactos/dll/directx/msdvbnp/ipv4.cpp branches/header-work/dll/directx/msdvbnp/ipv6.cpp - copied unchanged from r46666, trunk/reactos/dll/directx/msdvbnp/ipv6.cpp branches/header-work/drivers/bus/pcix/ - copied from r46666, trunk/reactos/drivers/bus/pcix/ branches/header-work/hal/halx86/generic/acpi/ - copied from r46666, trunk/reactos/hal/halx86/generic/acpi/ branches/header-work/hal/halx86/generic/legacy/ - copied from r46666, trunk/reactos/hal/halx86/generic/legacy/ branches/header-work/hal/halx86/hal_generic_acpi.rbuild - copied unchanged from r46666, trunk/reactos/hal/halx86/hal_generic_acpi.rbuild branches/header-work/hal/halx86/hal_generic_pcat.rbuild - copied unchanged from r46666, trunk/reactos/hal/halx86/hal_generic_pcat.rbuild branches/header-work/hal/halx86/halacpi.rbuild - copied unchanged from r46666, trunk/reactos/hal/halx86/halacpi.rbuild branches/header-work/hal/halx86/include/halacpi.h - copied unchanged from r46666, trunk/reactos/hal/halx86/include/halacpi.h branches/header-work/include/crt/_mingw_mac.h - copied unchanged from r46666, trunk/reactos/include/crt/_mingw_mac.h branches/header-work/include/reactos/mingw-w64/reactos.diff - copied unchanged from r46666, trunk/reactos/include/reactos/mingw-w64/reactos.diff branches/header-work/lib/3rdparty/mingw/CRT_glob.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/CRT_glob.c branches/header-work/lib/3rdparty/mingw/CRT_noglob.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/CRT_noglob.c branches/header-work/lib/3rdparty/mingw/binmode.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/binmode.c branches/header-work/lib/3rdparty/mingw/crt_handler.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/crt_handler.c branches/header-work/lib/3rdparty/mingw/crtbegin.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/crtbegin.c branches/header-work/lib/3rdparty/mingw/crtend.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/crtend.c branches/header-work/lib/3rdparty/mingw/cxa_pure_virtual.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/cxa_pure_virtual.c branches/header-work/lib/3rdparty/mingw/dll_argv.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/dll_argv.c branches/header-work/lib/3rdparty/mingw/isascii.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/isascii.c branches/header-work/lib/3rdparty/mingw/iscsym.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/iscsym.c branches/header-work/lib/3rdparty/mingw/iscsymf.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/iscsymf.c branches/header-work/lib/3rdparty/mingw/mingw_custom.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/mingw_custom.c branches/header-work/lib/3rdparty/mingw/ofmt_stub.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/ofmt_stub.c branches/header-work/lib/3rdparty/mingw/reactos.diff - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/reactos.diff branches/header-work/lib/3rdparty/mingw/strcasecmp.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/strcasecmp.c branches/header-work/lib/3rdparty/mingw/strncasecmp.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/strncasecmp.c branches/header-work/lib/3rdparty/mingw/tlsmcrt.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/tlsmcrt.c branches/header-work/lib/3rdparty/mingw/tlsmthread.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/tlsmthread.c branches/header-work/lib/3rdparty/mingw/tlsthrd.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/tlsthrd.c branches/header-work/lib/3rdparty/mingw/toascii.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/toascii.c branches/header-work/lib/3rdparty/mingw/txtmode.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/txtmode.c branches/header-work/lib/3rdparty/mingw/ucrtexe.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/ucrtexe.c branches/header-work/lib/3rdparty/mingw/udll_argv.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/udll_argv.c branches/header-work/lib/3rdparty/mingw/udllargc.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/udllargc.c branches/header-work/lib/3rdparty/mingw/wcscmpi.c - copied unchanged from r46666, trunk/reactos/lib/3rdparty/mingw/wcscmpi.c branches/header-work/media/inf/bda.inf - copied unchanged from r46666, trunk/reactos/media/inf/bda.inf branches/header-work/media/inf/kscaptur.inf - copied unchanged from r46666, trunk/reactos/media/inf/kscaptur.inf branches/header-work/ntoskrnl/config/cmhvlist.c - copied unchanged from r46666, trunk/reactos/ntoskrnl/config/cmhvlist.c branches/header-work/ntoskrnl/config/cmnotify.c - copied unchanged from r46666, trunk/reactos/ntoskrnl/config/cmnotify.c branches/header-work/ntoskrnl/config/cmquota.c - copied unchanged from r46666, trunk/reactos/ntoskrnl/config/cmquota.c branches/header-work/ntoskrnl/include/internal/amd64/ (props changed) - copied from r46666, trunk/reactos/ntoskrnl/include/internal/amd64/ Removed: branches/header-work/boot/bootdata/hiveinst_amd64.inf branches/header-work/drivers/battery/cmbatt/ Modified: branches/header-work/ReactOS-amd64.rbuild branches/header-work/base/applications/network/ftp/fake.h branches/header-work/base/applications/network/ftp/ftp.rbuild branches/header-work/base/services/dhcp/dhcp.rbuild branches/header-work/base/services/tcpsvcs/tcpsvcs.rbuild branches/header-work/base/shell/explorer/explorer.rbuild branches/header-work/baseaddress.rbuild branches/header-work/boot/freeldr/freeldr/freeldr_arch.rbuild branches/header-work/boot/freeldr/freeldr/freeldr_base.rbuild branches/header-work/boot/freeldr/freeldr/freeldr_main.rbuild branches/header-work/boot/freeldr/freeldr/setupldr_main.rbuild branches/header-work/boot/freeldr/freeldr/windows/winldr.c branches/header-work/config-amd64.template.rbuild branches/header-work/dll/cpl/sysdm/general.c branches/header-work/dll/cpl/usrmgr/lang/de-DE.rc branches/header-work/dll/directx/bdaplgin/bdaplgin.cpp branches/header-work/dll/directx/bdaplgin/bdaplgin.rbuild branches/header-work/dll/directx/bdaplgin/classfactory.cpp (props changed) branches/header-work/dll/directx/bdaplgin/controlnode.cpp branches/header-work/dll/directx/bdaplgin/devicecontrol.cpp branches/header-work/dll/directx/bdaplgin/digitaldemo.cpp branches/header-work/dll/directx/bdaplgin/frequencyfilter.cpp branches/header-work/dll/directx/bdaplgin/lnbinfo.cpp branches/header-work/dll/directx/bdaplgin/pincontrol.cpp branches/header-work/dll/directx/bdaplgin/precomp.h branches/header-work/dll/directx/bdaplgin/signalstatistics.cpp branches/header-work/dll/directx/d3d8/d3d8.spec (props changed) branches/header-work/dll/directx/devenum/createdevenum.c branches/header-work/dll/directx/devenum/devenum_private.h branches/header-work/dll/directx/devenum/mediacatenum.c branches/header-work/dll/directx/directx.rbuild branches/header-work/dll/directx/dsound_new/classfactory.c (props changed) branches/header-work/dll/directx/dsound_new/dsound.spec (props changed) branches/header-work/dll/directx/dsound_new/dsound_convert.c (props changed) branches/header-work/dll/directx/dsound_new/regsvr.c (props changed) branches/header-work/dll/directx/ksproxy/enumpins.cpp branches/header-work/dll/directx/ksproxy/input_pin.cpp branches/header-work/dll/directx/ksproxy/ksproxy.cpp branches/header-work/dll/directx/ksproxy/ksproxy.rbuild branches/header-work/dll/directx/ksproxy/output_pin.cpp branches/header-work/dll/directx/msdvbnp/msdvbnp.cpp branches/header-work/dll/directx/msdvbnp/msdvbnp.rbuild branches/header-work/dll/directx/msdvbnp/networkprovider.cpp branches/header-work/dll/directx/msdvbnp/pin.cpp branches/header-work/dll/directx/msdvbnp/precomp.h branches/header-work/dll/directx/msdvbnp/scanningtuner.cpp branches/header-work/dll/directx/msvidctl/msvidctl.cpp branches/header-work/dll/directx/msvidctl/msvidctl.rbuild branches/header-work/dll/ntdll/ntdll.rbuild branches/header-work/dll/shellext/devcpux/devcpux.spec (props changed) branches/header-work/dll/shellext/slayer/slayer.spec (props changed) branches/header-work/dll/win32/crtdll/crtdll.rbuild branches/header-work/dll/win32/gdi32/objects/dc.c branches/header-work/dll/win32/gdi32/objects/font.c branches/header-work/dll/win32/kernel32/kernel32.pspec branches/header-work/dll/win32/msvcrt/msvcrt.def branches/header-work/dll/win32/msvcrt/msvcrt.rbuild branches/header-work/dll/win32/msvcrt20/msvcrt20.rbuild branches/header-work/dll/win32/msvcrt40/msvcrt40.rbuild branches/header-work/dll/win32/setupapi/devinst.c branches/header-work/dll/win32/user32/controls/scrollbar.c branches/header-work/dll/win32/user32/misc/desktop.c branches/header-work/dll/win32/user32/misc/winsta.c branches/header-work/dll/win32/user32/windows/defwnd.c branches/header-work/dll/win32/user32/windows/draw.c branches/header-work/drivers/base/kddll/kddll.h branches/header-work/drivers/battery/directory.rbuild branches/header-work/drivers/bus/acpi/cmbatt/cmbatt.rbuild branches/header-work/drivers/bus/acpi/cmbatt/cmbpnp.c branches/header-work/drivers/bus/acpi/compbatt/compbatt.c branches/header-work/drivers/bus/acpi/compbatt/compbatt.h branches/header-work/drivers/bus/acpi/compbatt/compmisc.c branches/header-work/drivers/bus/acpi/compbatt/comppnp.c branches/header-work/drivers/bus/acpi/main.c branches/header-work/drivers/bus/directory.rbuild branches/header-work/drivers/ksfilter/ks/api.c branches/header-work/drivers/ksfilter/ks/bag.c branches/header-work/drivers/ksfilter/ks/connectivity.c branches/header-work/drivers/ksfilter/ks/device.c branches/header-work/drivers/ksfilter/ks/deviceinterface.c branches/header-work/drivers/ksfilter/ks/driver.c branches/header-work/drivers/ksfilter/ks/filter.c branches/header-work/drivers/ksfilter/ks/filterfactory.c branches/header-work/drivers/ksfilter/ks/kcom.c branches/header-work/drivers/ksfilter/ks/ksfunc.h branches/header-work/drivers/ksfilter/ks/kstypes.h branches/header-work/drivers/ksfilter/ks/misc.c branches/header-work/drivers/ksfilter/ks/pin.c branches/header-work/drivers/multimedia/bdasup/bdasup.c branches/header-work/drivers/multimedia/bdasup/precomp.h branches/header-work/drivers/network/afd/afd/connect.c branches/header-work/drivers/network/afd/afd/write.c branches/header-work/drivers/usb/usbehci/fdo.c branches/header-work/drivers/usb/usbehci/irp.c branches/header-work/drivers/usb/usbehci/pdo.c branches/header-work/drivers/usb/usbehci/usbehci.h branches/header-work/hal/halx86/directory.rbuild branches/header-work/hal/halx86/generic/bus/pcibus.c branches/header-work/hal/halx86/generic/halinit.c branches/header-work/hal/halx86/generic/misc.c branches/header-work/hal/halx86/generic/usage.c branches/header-work/hal/halx86/hal.rbuild branches/header-work/hal/halx86/hal_generic.rbuild branches/header-work/hal/halx86/halamd64.rbuild branches/header-work/hal/halx86/halmps.rbuild branches/header-work/hal/halx86/halxbox.rbuild branches/header-work/hal/halx86/include/bus.h branches/header-work/hal/halx86/include/hal.h branches/header-work/hal/halx86/include/halp.h branches/header-work/hal/halx86/mp/processor_mp.c branches/header-work/hal/halx86/up/processor.c branches/header-work/include/crt/_mingw.h branches/header-work/include/crt/crtdefs.h branches/header-work/include/crt/ctype.h branches/header-work/include/crt/mingw32/intrin_x86.h branches/header-work/include/crt/stdlib.h branches/header-work/include/crt/tchar.h branches/header-work/include/ddk/ntimage.h branches/header-work/include/ddk/winsplp.h branches/header-work/include/ndk/amd64/ (props changed) branches/header-work/include/ndk/amd64/asmmacro.S (props changed) branches/header-work/include/ndk/iofuncs.h branches/header-work/include/psdk/ks.h branches/header-work/include/psdk/wingdi.h branches/header-work/include/psdk/winuser.h branches/header-work/include/reactos/mingw-w64/internal.h branches/header-work/include/reactos/mingw-w64/oscalls.h branches/header-work/include/reactos/mingw-w64/sect_attribs.h branches/header-work/lib/3rdparty/libwine/debug_ros.c branches/header-work/lib/3rdparty/mingw/CRT_fp10.c branches/header-work/lib/3rdparty/mingw/CRT_fp8.c branches/header-work/lib/3rdparty/mingw/_newmode.c branches/header-work/lib/3rdparty/mingw/atonexit.c branches/header-work/lib/3rdparty/mingw/charmax.c branches/header-work/lib/3rdparty/mingw/crt0_c.c branches/header-work/lib/3rdparty/mingw/crt0_w.c branches/header-work/lib/3rdparty/mingw/crtdll.c branches/header-work/lib/3rdparty/mingw/crtexe.c branches/header-work/lib/3rdparty/mingw/dllargv.c branches/header-work/lib/3rdparty/mingw/dllentry.c branches/header-work/lib/3rdparty/mingw/dllmain.c branches/header-work/lib/3rdparty/mingw/gccmain.c branches/header-work/lib/3rdparty/mingw/gs_support.c branches/header-work/lib/3rdparty/mingw/merr.c branches/header-work/lib/3rdparty/mingw/mingw_helpers.c branches/header-work/lib/3rdparty/mingw/moldname-msvcrt.def branches/header-work/lib/3rdparty/mingw/natstart.c branches/header-work/lib/3rdparty/mingw/pesect.c branches/header-work/lib/3rdparty/mingw/pseudo-reloc-list.c branches/header-work/lib/3rdparty/mingw/pseudo-reloc.c branches/header-work/lib/3rdparty/mingw/tlssup.c branches/header-work/lib/3rdparty/mingw/wildcard.c branches/header-work/lib/3rdparty/mingw/xncommod.c branches/header-work/lib/3rdparty/mingw/xthdloc.c branches/header-work/lib/3rdparty/mingw/xtxtmode.c branches/header-work/lib/rtl/registry.c branches/header-work/lib/rtl/rtl.rbuild branches/header-work/lib/sdk/crt/crt.rbuild branches/header-work/lib/sdk/crt/except/xcptfil.c branches/header-work/lib/sdk/crt/float/chgsign.c branches/header-work/lib/sdk/crt/float/copysign.c branches/header-work/lib/sdk/crt/float/fpclass.c branches/header-work/lib/sdk/crt/float/isnan.c branches/header-work/lib/sdk/crt/float/scalb.c branches/header-work/lib/sdk/crt/include/internal/ieee.h branches/header-work/lib/sdk/crt/libcntpr.rbuild branches/header-work/lib/sdk/crt/math/frexp.c branches/header-work/lib/sdk/crt/math/huge_val.c branches/header-work/lib/sdk/crt/math/modf.c branches/header-work/lib/sdk/crt/string/ctype.c branches/header-work/lib/sdk/crt/time/ (props changed) branches/header-work/media/inf/cpu.inf branches/header-work/media/inf/inf.rbuild branches/header-work/media/inf/machine.inf branches/header-work/ntoskrnl/config/cmsysini.c branches/header-work/ntoskrnl/include/internal/arch/intrin_i.h branches/header-work/ntoskrnl/include/internal/arch/ke.h branches/header-work/ntoskrnl/include/internal/arch/mm.h branches/header-work/ntoskrnl/include/internal/cm.h branches/header-work/ntoskrnl/include/internal/cm_x.h branches/header-work/ntoskrnl/include/internal/io.h branches/header-work/ntoskrnl/io/iomgr/deviface.c branches/header-work/ntoskrnl/io/pnpmgr/pnpmgr.c branches/header-work/ntoskrnl/io/pnpmgr/pnpreport.c branches/header-work/ntoskrnl/io/pnpmgr/pnproot.c branches/header-work/ntoskrnl/kdbg/ (props changed) branches/header-work/ntoskrnl/ntoskrnl-generic.rbuild branches/header-work/ntoskrnl/ntoskrnl.pspec branches/header-work/ntoskrnl/se/semgr.c branches/header-work/subsystems/win32/win32k/include/engobjects.h (props changed) branches/header-work/subsystems/win32/win32k/include/timer.h branches/header-work/subsystems/win32/win32k/include/winpos.h branches/header-work/subsystems/win32/win32k/ntuser/timer.c branches/header-work/subsystems/win32/win32k/ntuser/windc.c branches/header-work/tools/rbuild/backend/mingw/linkers/ld.mak branches/header-work/tools/rbuild/backend/mingw/mingw.cpp branches/header-work/tools/rbuild/backend/mingw/mingw.h branches/header-work/tools/rbuild/backend/mingw/modulehandler.cpp branches/header-work/tools/rbuild/installfile.cpp branches/header-work/tools/rbuild/module.cpp branches/header-work/tools/rbuild/project.cpp branches/header-work/tools/rbuild/rbuild.h branches/header-work/tools/rsym/rsym.c (props changed) branches/header-work/tools/rsym/rsym.h (props changed) branches/header-work/tools/rsym/rsym.mak (props changed) branches/header-work/tools/rsym/rsym_common.c (props changed) [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/header-work/ReactOS-amd64.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ReactOS-amd64.rbuil…
Modified: branches/header-work/base/applications/network/ftp/fake.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/base/applications/n…
Modified: branches/header-work/base/applications/network/ftp/ftp.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/base/applications/n…
Modified: branches/header-work/base/services/dhcp/dhcp.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/base/services/dhcp/…
Modified: branches/header-work/base/services/tcpsvcs/tcpsvcs.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/base/services/tcpsv…
Modified: branches/header-work/base/shell/explorer/explorer.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/base/shell/explorer…
Modified: branches/header-work/baseaddress.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/baseaddress.rbuild?…
Removed: branches/header-work/boot/bootdata/hiveinst_amd64.inf URL:
http://svn.reactos.org/svn/reactos/branches/header-work/boot/bootdata/hivei…
Modified: branches/header-work/boot/freeldr/freeldr/freeldr_arch.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/boot/freeldr/freeld…
Modified: branches/header-work/boot/freeldr/freeldr/freeldr_base.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/boot/freeldr/freeld…
Modified: branches/header-work/boot/freeldr/freeldr/freeldr_main.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/boot/freeldr/freeld…
Modified: branches/header-work/boot/freeldr/freeldr/setupldr_main.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/boot/freeldr/freeld…
Modified: branches/header-work/boot/freeldr/freeldr/windows/winldr.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/boot/freeldr/freeld…
Modified: branches/header-work/config-amd64.template.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/config-amd64.templa…
Modified: branches/header-work/dll/cpl/sysdm/general.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/cpl/sysdm/gener…
Modified: branches/header-work/dll/cpl/usrmgr/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/cpl/usrmgr/lang…
Modified: branches/header-work/dll/directx/bdaplgin/bdaplgin.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/bdaplgin.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/controlnode.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/devicecontrol.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/digitaldemo.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/frequencyfilter.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/lnbinfo.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/pincontrol.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/precomp.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/bdaplgin/signalstatistics.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/bdaplgi…
Modified: branches/header-work/dll/directx/devenum/createdevenum.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/devenum…
Modified: branches/header-work/dll/directx/devenum/devenum_private.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/devenum…
Modified: branches/header-work/dll/directx/devenum/mediacatenum.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/devenum…
Modified: branches/header-work/dll/directx/directx.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/directx…
Modified: branches/header-work/dll/directx/ksproxy/enumpins.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/ksproxy…
Modified: branches/header-work/dll/directx/ksproxy/input_pin.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/ksproxy…
Modified: branches/header-work/dll/directx/ksproxy/ksproxy.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/ksproxy…
Modified: branches/header-work/dll/directx/ksproxy/ksproxy.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/ksproxy…
Modified: branches/header-work/dll/directx/ksproxy/output_pin.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/ksproxy…
Modified: branches/header-work/dll/directx/msdvbnp/msdvbnp.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msdvbnp…
Modified: branches/header-work/dll/directx/msdvbnp/msdvbnp.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msdvbnp…
Modified: branches/header-work/dll/directx/msdvbnp/networkprovider.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msdvbnp…
Modified: branches/header-work/dll/directx/msdvbnp/pin.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msdvbnp…
Modified: branches/header-work/dll/directx/msdvbnp/precomp.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msdvbnp…
Modified: branches/header-work/dll/directx/msdvbnp/scanningtuner.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msdvbnp…
Modified: branches/header-work/dll/directx/msvidctl/msvidctl.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msvidct…
Modified: branches/header-work/dll/directx/msvidctl/msvidctl.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/directx/msvidct…
Modified: branches/header-work/dll/ntdll/ntdll.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/ntdll/ntdll.rbu…
Modified: branches/header-work/dll/win32/crtdll/crtdll.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/crtdll/cr…
Modified: branches/header-work/dll/win32/gdi32/objects/dc.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/gdi32/obj…
Modified: branches/header-work/dll/win32/gdi32/objects/font.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/gdi32/obj…
Modified: branches/header-work/dll/win32/kernel32/kernel32.pspec URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/kernel32/…
Modified: branches/header-work/dll/win32/msvcrt/msvcrt.def URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/msvcrt/ms…
Modified: branches/header-work/dll/win32/msvcrt/msvcrt.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/msvcrt/ms…
Modified: branches/header-work/dll/win32/msvcrt20/msvcrt20.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/msvcrt20/…
Modified: branches/header-work/dll/win32/msvcrt40/msvcrt40.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/msvcrt40/…
Modified: branches/header-work/dll/win32/setupapi/devinst.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/setupapi/…
Modified: branches/header-work/dll/win32/user32/controls/scrollbar.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/user32/co…
Modified: branches/header-work/dll/win32/user32/misc/desktop.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/user32/mi…
Modified: branches/header-work/dll/win32/user32/misc/winsta.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/user32/mi…
Modified: branches/header-work/dll/win32/user32/windows/defwnd.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/user32/wi…
Modified: branches/header-work/dll/win32/user32/windows/draw.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/dll/win32/user32/wi…
Modified: branches/header-work/drivers/base/kddll/kddll.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/base/kddll/…
Modified: branches/header-work/drivers/battery/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/battery/dir…
Modified: branches/header-work/drivers/bus/acpi/cmbatt/cmbatt.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/acpi/cm…
Modified: branches/header-work/drivers/bus/acpi/cmbatt/cmbpnp.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/acpi/cm…
Modified: branches/header-work/drivers/bus/acpi/compbatt/compbatt.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/acpi/co…
Modified: branches/header-work/drivers/bus/acpi/compbatt/compbatt.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/acpi/co…
Modified: branches/header-work/drivers/bus/acpi/compbatt/compmisc.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/acpi/co…
Modified: branches/header-work/drivers/bus/acpi/compbatt/comppnp.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/acpi/co…
Modified: branches/header-work/drivers/bus/acpi/main.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/acpi/ma…
Modified: branches/header-work/drivers/bus/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/bus/directo…
Modified: branches/header-work/drivers/ksfilter/ks/api.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/bag.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/connectivity.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/device.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/deviceinterface.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/driver.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/filter.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/filterfactory.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/kcom.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/ksfunc.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/kstypes.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/misc.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/ksfilter/ks/pin.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/ksfilter/ks…
Modified: branches/header-work/drivers/multimedia/bdasup/bdasup.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/multimedia/…
Modified: branches/header-work/drivers/multimedia/bdasup/precomp.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/multimedia/…
Modified: branches/header-work/drivers/network/afd/afd/connect.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/network/afd…
Modified: branches/header-work/drivers/network/afd/afd/write.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/network/afd…
Modified: branches/header-work/drivers/usb/usbehci/fdo.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/usb/usbehci…
Modified: branches/header-work/drivers/usb/usbehci/irp.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/usb/usbehci…
Modified: branches/header-work/drivers/usb/usbehci/pdo.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/usb/usbehci…
Modified: branches/header-work/drivers/usb/usbehci/usbehci.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/usb/usbehci…
Modified: branches/header-work/hal/halx86/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/director…
Modified: branches/header-work/hal/halx86/generic/bus/pcibus.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/generic/…
Modified: branches/header-work/hal/halx86/generic/halinit.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/generic/…
Modified: branches/header-work/hal/halx86/generic/misc.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/generic/…
Modified: branches/header-work/hal/halx86/generic/usage.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/generic/…
Modified: branches/header-work/hal/halx86/hal.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/hal.rbui…
Modified: branches/header-work/hal/halx86/hal_generic.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/hal_gene…
Modified: branches/header-work/hal/halx86/halamd64.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/halamd64…
Modified: branches/header-work/hal/halx86/halmps.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/halmps.r…
Modified: branches/header-work/hal/halx86/halxbox.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/halxbox.…
Modified: branches/header-work/hal/halx86/include/bus.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/include/…
Modified: branches/header-work/hal/halx86/include/hal.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/include/…
Modified: branches/header-work/hal/halx86/include/halp.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/include/…
Modified: branches/header-work/hal/halx86/mp/processor_mp.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/mp/proce…
Modified: branches/header-work/hal/halx86/up/processor.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/hal/halx86/up/proce…
Modified: branches/header-work/include/crt/_mingw.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/crt/_mingw.…
Modified: branches/header-work/include/crt/crtdefs.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/crt/crtdefs…
Modified: branches/header-work/include/crt/ctype.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/crt/ctype.h…
Modified: branches/header-work/include/crt/mingw32/intrin_x86.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/crt/mingw32…
Modified: branches/header-work/include/crt/stdlib.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/crt/stdlib.…
Modified: branches/header-work/include/crt/tchar.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/crt/tchar.h…
Modified: branches/header-work/include/ddk/ntimage.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/ntimage…
Modified: branches/header-work/include/ddk/winsplp.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/winsplp…
Modified: branches/header-work/include/ndk/iofuncs.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ndk/iofuncs…
Modified: branches/header-work/include/psdk/ks.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/ks.h?r…
Modified: branches/header-work/include/psdk/wingdi.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/wingdi…
Modified: branches/header-work/include/psdk/winuser.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/winuse…
Modified: branches/header-work/include/reactos/mingw-w64/internal.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/reactos/min…
Modified: branches/header-work/include/reactos/mingw-w64/oscalls.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/reactos/min…
Modified: branches/header-work/include/reactos/mingw-w64/sect_attribs.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/reactos/min…
Modified: branches/header-work/lib/3rdparty/libwine/debug_ros.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/libwin…
Modified: branches/header-work/lib/3rdparty/mingw/CRT_fp10.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/CRT_fp8.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/_newmode.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/atonexit.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/charmax.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/crt0_c.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/crt0_w.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/crtdll.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/crtexe.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/dllargv.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/dllentry.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/dllmain.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/gccmain.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/gs_support.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/merr.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/mingw_helpers.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/moldname-msvcrt.def URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/natstart.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/pesect.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/pseudo-reloc-list.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/pseudo-reloc.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/tlssup.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/wildcard.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/xncommod.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/xthdloc.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/3rdparty/mingw/xtxtmode.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/3rdparty/mingw/…
Modified: branches/header-work/lib/rtl/registry.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/rtl/registry.c?…
Modified: branches/header-work/lib/rtl/rtl.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/rtl/rtl.rbuild?…
Modified: branches/header-work/lib/sdk/crt/crt.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/crt.rbu…
Modified: branches/header-work/lib/sdk/crt/except/xcptfil.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/except/…
Modified: branches/header-work/lib/sdk/crt/float/chgsign.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/float/c…
Modified: branches/header-work/lib/sdk/crt/float/copysign.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/float/c…
Modified: branches/header-work/lib/sdk/crt/float/fpclass.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/float/f…
Modified: branches/header-work/lib/sdk/crt/float/isnan.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/float/i…
Modified: branches/header-work/lib/sdk/crt/float/scalb.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/float/s…
Modified: branches/header-work/lib/sdk/crt/include/internal/ieee.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/include…
Modified: branches/header-work/lib/sdk/crt/libcntpr.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/libcntp…
Modified: branches/header-work/lib/sdk/crt/math/frexp.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/math/fr…
Modified: branches/header-work/lib/sdk/crt/math/huge_val.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/math/hu…
Modified: branches/header-work/lib/sdk/crt/math/modf.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/math/mo…
Modified: branches/header-work/lib/sdk/crt/string/ctype.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/lib/sdk/crt/string/…
Modified: branches/header-work/media/inf/cpu.inf URL:
http://svn.reactos.org/svn/reactos/branches/header-work/media/inf/cpu.inf?r…
Modified: branches/header-work/media/inf/inf.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/media/inf/inf.rbuil…
Modified: branches/header-work/media/inf/machine.inf URL:
http://svn.reactos.org/svn/reactos/branches/header-work/media/inf/machine.i…
Modified: branches/header-work/ntoskrnl/config/cmsysini.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/config/cms…
Modified: branches/header-work/ntoskrnl/include/internal/arch/intrin_i.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/include/in…
Modified: branches/header-work/ntoskrnl/include/internal/arch/ke.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/include/in…
Modified: branches/header-work/ntoskrnl/include/internal/arch/mm.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/include/in…
Modified: branches/header-work/ntoskrnl/include/internal/cm.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/include/in…
Modified: branches/header-work/ntoskrnl/include/internal/cm_x.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/include/in…
Modified: branches/header-work/ntoskrnl/include/internal/io.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/include/in…
Modified: branches/header-work/ntoskrnl/io/iomgr/deviface.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/io/iomgr/d…
Modified: branches/header-work/ntoskrnl/io/pnpmgr/pnpmgr.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/io/pnpmgr/…
Modified: branches/header-work/ntoskrnl/io/pnpmgr/pnpreport.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/io/pnpmgr/…
Modified: branches/header-work/ntoskrnl/io/pnpmgr/pnproot.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/io/pnpmgr/…
Modified: branches/header-work/ntoskrnl/ntoskrnl-generic.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/ntoskrnl-g…
Modified: branches/header-work/ntoskrnl/ntoskrnl.pspec URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/ntoskrnl.p…
Modified: branches/header-work/ntoskrnl/se/semgr.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/ntoskrnl/se/semgr.c…
Modified: branches/header-work/subsystems/win32/win32k/include/timer.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/subsystems/win32/wi…
Modified: branches/header-work/subsystems/win32/win32k/include/winpos.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/subsystems/win32/wi…
Modified: branches/header-work/subsystems/win32/win32k/ntuser/timer.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/subsystems/win32/wi…
Modified: branches/header-work/subsystems/win32/win32k/ntuser/windc.c URL:
http://svn.reactos.org/svn/reactos/branches/header-work/subsystems/win32/wi…
Modified: branches/header-work/tools/rbuild/backend/mingw/linkers/ld.mak URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/backen…
Modified: branches/header-work/tools/rbuild/backend/mingw/mingw.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/backen…
Modified: branches/header-work/tools/rbuild/backend/mingw/mingw.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/backen…
Modified: branches/header-work/tools/rbuild/backend/mingw/modulehandler.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/backen…
Modified: branches/header-work/tools/rbuild/installfile.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/instal…
Modified: branches/header-work/tools/rbuild/module.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/module…
Modified: branches/header-work/tools/rbuild/project.cpp URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/projec…
Modified: branches/header-work/tools/rbuild/rbuild.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/tools/rbuild/rbuild…
14 years, 8 months
1
0
0
0
[akhaldi] 46666: [PSDK] - Add missing mstcpip.h, wsipv6ok.h and wspiapi.h definitions.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 2 11:14:55 2010 New Revision: 46666 URL:
http://svn.reactos.org/svn/reactos?rev=46666&view=rev
Log: [PSDK] - Add missing mstcpip.h, wsipv6ok.h and wspiapi.h definitions. Added: branches/header-work/include/psdk/mstcpip.h - copied, changed from r46485, vendor/mingw-w64/mingw-w64-headers/include/mstcpip.h branches/header-work/include/psdk/wsipv6ok.h (with props) branches/header-work/include/psdk/wspiapi.h (with props) Copied: branches/header-work/include/psdk/mstcpip.h (from r46485, vendor/mingw-w64/mingw-w64-headers/include/mstcpip.h) URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/mstcpi…
============================================================================== --- vendor/mingw-w64/mingw-w64-headers/include/mstcpip.h [iso-8859-1] (original) +++ branches/header-work/include/psdk/mstcpip.h [iso-8859-1] Fri Apr 2 11:14:55 2010 @@ -1,12 +1,28 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the w64 mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef ASSERT +#define MSTCPIP_ASSERT_UNDEFINED +#define ASSERT(exp) ((VOID) 0) +#endif + +#ifdef _MSC_VER +#define MSTCPIP_INLINE __inline +#else +#define MSTCPIP_INLINE extern inline +#endif + +/* FIXME : +#include <nldef.h> +*/ + struct tcp_keepalive { - u_long onoff; - u_long keepalivetime; - u_long keepaliveinterval; + ULONG onoff; + ULONG keepalivetime; + ULONG keepaliveinterval; }; #define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) @@ -20,7 +36,1490 @@ #define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9) #define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10) #define SIO_INDEX_DEL_MCAST _WSAIOW(IOC_VENDOR,11) - -#define RCVALL_OFF 0 -#define RCVALL_ON 1 -#define RCVALL_SOCKETLEVELONLY 2 +#define SIO_RCVALL_MCAST_IF _WSAIOW(IOC_VENDOR,13) +#define SIO_RCVALL_IF _WSAIOW(IOC_VENDOR,14) + +typedef enum { + RCVALL_OFF = 0, + RCVALL_ON = 1, + RCVALL_SOCKETLEVELONLY = 2, + RCVALL_IPLEVEL = 3, +} RCVALL_VALUE, *PRCVALL_VALUE; + +#define RCVALL_MAX RCVALL_IPLEVEL + +typedef struct { + RCVALL_VALUE Mode; + ULONG Interface; +} RCVALL_IF, *PRCVALL_IF; + +#if (NTDDI_VERSION >= NTDDI_WIN7) +DEFINE_GUID(SOCKET_DEFAULT2_QM_POLICY, 0xaec2ef9c, 0x3a4d, 0x4d3e, 0x88, 0x42, 0x23, 0x99, 0x42, 0xe3, 0x9a, 0x47); +#endif + +#define SIO_ACQUIRE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 100) +#define SIO_RELEASE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 101) +#define SIO_ASSOCIATE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 102) + +typedef struct _INET_PORT_RANGE { + USHORT StartPort; + USHORT NumberOfPorts; +} INET_PORT_RANGE, *PINET_PORT_RANGE; +typedef struct _INET_PORT_RANGE INET_PORT_RESERVATION, *PINET_PORT_RESERVATION; + +typedef struct { + ULONG64 Token; +} INET_PORT_RESERVATION_TOKEN, *PINET_PORT_RESERVATION_TOKEN; + +#define INVALID_PORT_RESERVATION_TOKEN ((ULONG64)0) + +typedef struct { +#ifdef __cplusplus + INET_PORT_RESERVATION Reservation; + INET_PORT_RESERVATION_TOKEN Token; +#else + INET_PORT_RESERVATION; + INET_PORT_RESERVATION_TOKEN; +#endif +} INET_PORT_RESERVATION_INSTANCE, *PINET_PORT_RESERVATION_INSTANCE; + +typedef struct { + ULONG AssignmentCount; + ULONG OwningPid; +} INET_PORT_RESERVATION_INFORMATION, *PINET_PORT_RESERVATION_INFORMATION; + +#ifdef _WS2DEF_ + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +#define _SECURE_SOCKET_TYPES_DEFINED_ + +#define SIO_SET_SECURITY _WSAIOW(IOC_VENDOR, 200) +#define SIO_QUERY_SECURITY _WSAIORW(IOC_VENDOR, 201) +#define SIO_SET_PEER_TARGET_NAME _WSAIOW(IOC_VENDOR, 202) +#define SIO_DELETE_PEER_TARGET_NAME _WSAIOW(IOC_VENDOR, 203) + +#define SIO_SOCKET_USAGE_NOTIFICATION _WSAIOW(IOC_VENDOR, 204) + +typedef enum _SOCKET_USAGE_TYPE { + SYSTEM_CRITICAL_SOCKET = 1 +}SOCKET_USAGE_TYPE; + +typedef enum _SOCKET_SECURITY_PROTOCOL { + SOCKET_SECURITY_PROTOCOL_DEFAULT, + SOCKET_SECURITY_PROTOCOL_IPSEC, +#if (NTDDI_VERSION >= NTDDI_WIN7) + SOCKET_SECURITY_PROTOCOL_IPSEC2, +#endif + SOCKET_SECURITY_PROTOCOL_INVALID +} SOCKET_SECURITY_PROTOCOL; + +#define SOCKET_SETTINGS_GUARANTEE_ENCRYPTION 0x1 +#define SOCKET_SETTINGS_ALLOW_INSECURE 0x2 + +typedef struct _SOCKET_SECURITY_SETTINGS { + SOCKET_SECURITY_PROTOCOL SecurityProtocol; + ULONG SecurityFlags; +} SOCKET_SECURITY_SETTINGS; + +#define SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION 0x1 + +#if (NTDDI_VERSION >= NTDDI_WIN7) + +#define SOCKET_SETTINGS_IPSEC_OPTIONAL_PEER_NAME_VERIFICATION 0x2 +#define SOCKET_SETTINGS_IPSEC_ALLOW_FIRST_INBOUND_PKT_UNENCRYPTED 0x4 +#define SOCKET_SETTINGS_IPSEC_PEER_NAME_IS_RAW_FORMAT 0x8 + +#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */ + +typedef struct _SOCKET_SECURITY_SETTINGS_IPSEC { + SOCKET_SECURITY_PROTOCOL SecurityProtocol; + ULONG SecurityFlags; + ULONG IpsecFlags; + GUID AuthipMMPolicyKey; + GUID AuthipQMPolicyKey; + GUID Reserved; + UINT64 Reserved2; + ULONG UserNameStringLen; + ULONG DomainNameStringLen; + ULONG PasswordStringLen; + wchar_t AllStrings[0]; +} SOCKET_SECURITY_SETTINGS_IPSEC; + +typedef struct _SOCKET_PEER_TARGET_NAME { + SOCKET_SECURITY_PROTOCOL SecurityProtocol; + SOCKADDR_STORAGE PeerAddress; + ULONG PeerTargetNameStringLen; + wchar_t AllStrings[0]; +} SOCKET_PEER_TARGET_NAME; + +typedef struct _SOCKET_SECURITY_QUERY_TEMPLATE { + SOCKET_SECURITY_PROTOCOL SecurityProtocol; + SOCKADDR_STORAGE PeerAddress; + ULONG PeerTokenAccessMask; +} SOCKET_SECURITY_QUERY_TEMPLATE; + +#if (NTDDI_VERSION >= NTDDI_WIN7) + +#define SOCKET_QUERY_IPSEC2_ABORT_CONNECTION_ON_FIELD_CHANGE 0x1 + +#define SOCKET_QUERY_IPSEC2_FIELD_MASK_MM_SA_ID 0x1 +#define SOCKET_QUERY_IPSEC2_FIELD_MASK_QM_SA_ID 0x2 + +typedef struct _SOCKET_SECURITY_QUERY_TEMPLATE_IPSEC2 { + SOCKET_SECURITY_PROTOCOL SecurityProtocol; + SOCKADDR_STORAGE PeerAddress; + ULONG PeerTokenAccessMask; + ULONG Flags; + ULONG FieldMask; +} SOCKET_SECURITY_QUERY_TEMPLATE_IPSEC2; + +#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */ + +#define SOCKET_INFO_CONNECTION_SECURED 0x1 +#define SOCKET_INFO_CONNECTION_ENCRYPTED 0x2 +#define SOCKET_INFO_CONNECTION_IMPERSONATED 0x4 + +typedef struct _SOCKET_SECURITY_QUERY_INFO { + SOCKET_SECURITY_PROTOCOL SecurityProtocol; + ULONG Flags; + UINT64 PeerApplicationAccessTokenHandle; + UINT64 PeerMachineAccessTokenHandle; +} SOCKET_SECURITY_QUERY_INFO; + +#if (NTDDI_VERSION >= NTDDI_WIN7) +typedef struct _SOCKET_SECURITY_QUERY_INFO_IPSEC2 { + SOCKET_SECURITY_PROTOCOL SecurityProtocol; + ULONG Flags; + UINT64 PeerApplicationAccessTokenHandle; + UINT64 PeerMachineAccessTokenHandle; + UINT64 MmSaId; + UINT64 QmSaId; + UINT32 NegotiationWinerr; + GUID SaLookupContext; +} SOCKET_SECURITY_QUERY_INFO_IPSEC2; +#endif + +#define SIO_QUERY_WFP_ALE_ENDPOINT_HANDLE _WSAIOR(IOC_VENDOR, 205) +#define SIO_QUERY_RSS_SCALABILITY_INFO _WSAIOR(IOC_VENDOR, 210) + +typedef struct _RSS_SCALABILITY_INFO { + BOOLEAN RssEnabled; +} RSS_SCALABILITY_INFO, *PRSS_SCALABILITY_INFO; + +#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ + +#define IN4_CLASSA(i) (((LONG)(i) & 0x00000080) == 0) +#define IN4_CLASSB(i) (((LONG)(i) & 0x000000c0) == 0x00000080) +#define IN4_CLASSC(i) (((LONG)(i) & 0x000000e0) == 0x000000c0) +#define IN4_CLASSD(i) (((LONG)(i) & 0x000000f0) == 0x000000e0) +#define IN4_MULTICAST(i) IN4_CLASSD(i) + +#define IN4ADDR_ANY INADDR_ANY +#define IN4ADDR_LOOPBACK 0x0100007f +#define IN4ADDR_BROADCAST INADDR_BROADCAST +#define IN4ADDR_NONE INADDR_NONE +#define IN4ADDR_ANY_INIT { 0 } +#define IN4ADDR_LOOPBACK_INIT { 0x7f, 0, 0, 1 } +#define IN4ADDR_BROADCAST_INIT { 0xff, 0xff, 0xff, 0xff } +#define IN4ADDR_ALLNODESONLINK_INIT { 0xe0, 0, 0, 1 } +#define IN4ADDR_ALLROUTERSONLINK_INIT { 0xe0, 0, 0, 2 } +#define IN4ADDR_ALLIGMPV3ROUTERSONLINK_INIT { 0xe0, 0, 0, 0x16 } +#define IN4ADDR_ALLTEREDONODESONLINK_INIT { 0xe0, 0, 0, 0xfd } +#define IN4ADDR_LINKLOCALPREFIX_INIT { 0xa9, 0xfe, } +#define IN4ADDR_MULTICASTPREFIX_INIT { 0xe0, } + +#define IN4ADDR_LOOPBACKPREFIX_LENGTH 8 +#define IN4ADDR_LINKLOCALPREFIX_LENGTH 16 +#define IN4ADDR_MULTICASTPREFIX_LENGTH 4 + +#if (NTDDI_VERSION >= NTDDI_WIN2KSP1) + +MSTCPIP_INLINE +BOOLEAN +IN4_ADDR_EQUAL( + IN CONST IN_ADDR *a, + IN CONST IN_ADDR *b) +{ + return (BOOLEAN)(a->s_addr == b->s_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_UNALIGNED_ADDR_EQUAL( + IN CONST IN_ADDR UNALIGNED *a, + IN CONST IN_ADDR UNALIGNED *b) +{ + return (BOOLEAN)(a->s_addr == b->s_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_UNSPECIFIED( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)(a->s_addr == IN4ADDR_ANY); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_UNALIGNED_ADDR_UNSPECIFIED( + IN CONST IN_ADDR UNALIGNED *a) +{ + return (BOOLEAN)(a->s_addr == IN4ADDR_ANY); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_LOOPBACK( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)(*((PUCHAR) a) == 0x7f); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_UNALIGNED_ADDR_LOOPBACK( + IN CONST IN_ADDR UNALIGNED *a) +{ + return (BOOLEAN)(*((PUCHAR) a) == 0x7f); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_BROADCAST( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)(a->s_addr == IN4ADDR_BROADCAST); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_UNALIGNED_ADDR_BROADCAST( + IN CONST IN_ADDR UNALIGNED *a) +{ + return (BOOLEAN)(a->s_addr == IN4ADDR_BROADCAST); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_MULTICAST( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)IN4_MULTICAST(a->s_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_UNALIGNED_ADDR_MULTICAST( + IN CONST IN_ADDR UNALIGNED *a) +{ + return (BOOLEAN)IN4_MULTICAST(a->s_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_LINKLOCAL( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)((a->s_addr & 0xffff) == 0xfea9); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_UNALIGNED_ADDR_LINKLOCAL( + IN CONST IN_ADDR UNALIGNED *a) +{ + return (BOOLEAN)((a->s_addr & 0xffff) == 0xfea9); // 169.254/16 +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_SITELOCAL( + IN CONST IN_ADDR *a) +{ + UNREFERENCED_PARAMETER(a); + return FALSE; +} +#define IN4_IS_UNALIGNED_ADDR_SITELOCAL IN4_IS_ADDR_SITELOCAL + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_RFC1918( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)(((a->s_addr & 0x00ff) == 0x0a) || + ((a->s_addr & 0xf0ff) == 0x10ac) || + ((a->s_addr & 0xffff) == 0xa8c0)); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_UNALIGNED_ADDR_RFC1918( + IN CONST IN_ADDR UNALIGNED *a) +{ + IN_ADDR Ipv4Address = *a; + return IN4_IS_ADDR_RFC1918(&Ipv4Address); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_MC_LINKLOCAL( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)((a->s_addr & 0xffffff) == 0xe0); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_MC_ADMINLOCAL( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)((a->s_addr & 0xffff) == 0xffef); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_MC_SITELOCAL( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)((a->s_addr & 0xff) == 0xef) && + !IN4_IS_ADDR_MC_ADMINLOCAL(a); +} + +MSTCPIP_INLINE +VOID +IN4ADDR_SETSOCKADDR( + OUT PSOCKADDR_IN a, + IN CONST IN_ADDR *addr, + IN USHORT port) +{ + a->sin_family = AF_INET; + a->sin_port = port; + a->sin_addr = *addr; + memset(a->sin_zero, 0, sizeof(a->sin_zero)); +} + +MSTCPIP_INLINE +VOID +IN4ADDR_SETANY( + OUT PSOCKADDR_IN a) +{ + a->sin_family = AF_INET; + a->sin_port = 0; + a->sin_addr.s_addr = IN4ADDR_ANY; + memset(a->sin_zero, 0, sizeof(a->sin_zero)); +} + +MSTCPIP_INLINE +VOID +IN4ADDR_SETLOOPBACK( + OUT PSOCKADDR_IN a) +{ + a->sin_family = AF_INET; + a->sin_port = 0; + a->sin_addr.s_addr = IN4ADDR_LOOPBACK; + memset(a->sin_zero, 0, sizeof(a->sin_zero)); +} + +MSTCPIP_INLINE +BOOLEAN +IN4ADDR_ISANY( + IN CONST SOCKADDR_IN *a) +{ + ASSERT(a->sin_family == AF_INET); + return IN4_IS_ADDR_UNSPECIFIED(&a->sin_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN4ADDR_ISLOOPBACK( + IN CONST SOCKADDR_IN *a) +{ + ASSERT(a->sin_family == AF_INET); + return IN4_IS_ADDR_LOOPBACK(&a->sin_addr); +} + +MSTCPIP_INLINE +SCOPE_ID +IN4ADDR_SCOPE_ID( + IN CONST SOCKADDR_IN *a) +{ + SCOPE_ID UnspecifiedScopeId = {0}; + UNREFERENCED_PARAMETER(a); + return UnspecifiedScopeId; +} + +MSTCPIP_INLINE +BOOLEAN +IN4ADDR_ISEQUAL( + IN CONST SOCKADDR_IN *a, + IN CONST SOCKADDR_IN *b) +{ + ASSERT(a->sin_family == AF_INET); + return (BOOLEAN)(IN4ADDR_SCOPE_ID(a).Value == IN4ADDR_SCOPE_ID(b).Value && + IN4_ADDR_EQUAL(&a->sin_addr, &b->sin_addr)); +} + +MSTCPIP_INLINE +BOOLEAN +IN4ADDR_ISUNSPECIFIED( + IN CONST SOCKADDR_IN *a) +{ + ASSERT(a->sin_family == AF_INET); + return (BOOLEAN)(IN4ADDR_SCOPE_ID(a).Value == 0 && + IN4_IS_ADDR_UNSPECIFIED(&a->sin_addr)); +} + +#define INET_IS_ALIGNED(Pointer, Type) \ + (((ULONG_PTR)Pointer & (__builtin_alignof(Type)-1)) == 0) + +MSTCPIP_INLINE +SCOPE_LEVEL +Ipv4UnicastAddressScope( + IN CONST UCHAR *Address) +{ + IN_ADDR Ipv4Address; + + if (!INET_IS_ALIGNED(Address, IN_ADDR)) { + Ipv4Address = *(CONST IN_ADDR UNALIGNED *)Address; + Address = (CONST UCHAR *) &Ipv4Address; + } + if (IN4_IS_ADDR_LINKLOCAL((PIN_ADDR) Address) || + IN4_IS_ADDR_LOOPBACK((PIN_ADDR) Address)) { + return ScopeLevelLink; + } + return ScopeLevelGlobal; +} + +MSTCPIP_INLINE +SCOPE_LEVEL +Ipv4MulticastAddressScope( + IN CONST UCHAR *Address) +{ + IN_ADDR Ipv4Address; + + if (!INET_IS_ALIGNED(Address, IN_ADDR)) { + Ipv4Address = *(CONST IN_ADDR UNALIGNED *)Address; + Address = (CONST UCHAR *) &Ipv4Address; + } + if (IN4_IS_ADDR_MC_LINKLOCAL((PIN_ADDR) Address)) { + return ScopeLevelLink; + } else if (IN4_IS_ADDR_MC_ADMINLOCAL((PIN_ADDR) Address)) { + return ScopeLevelAdmin; + } else if (IN4_IS_ADDR_MC_SITELOCAL((PIN_ADDR) Address)) { + return ScopeLevelSite; + } else { + return ScopeLevelGlobal; + } +} + +MSTCPIP_INLINE +SCOPE_LEVEL +Ipv4AddressScope( + IN CONST UCHAR *Address) +{ + IN CONST IN_ADDR Ipv4Address = *(CONST IN_ADDR UNALIGNED *)Address; + + if (IN4_IS_ADDR_BROADCAST(&Ipv4Address)) { + return ScopeLevelLink; + } else if (IN4_IS_ADDR_MULTICAST(&Ipv4Address)) { + return Ipv4MulticastAddressScope((UCHAR *) &Ipv4Address); + } else { + return Ipv4UnicastAddressScope((UCHAR *) &Ipv4Address); + } +} + +MSTCPIP_INLINE +NL_ADDRESS_TYPE +Ipv4AddressType( + IN CONST UCHAR *Address) +{ + IN_ADDR Ipv4Address = *(CONST IN_ADDR UNALIGNED *) Address; + + if (IN4_IS_ADDR_MULTICAST(&Ipv4Address)) { + return NlatMulticast; + } + if (IN4_IS_ADDR_BROADCAST(&Ipv4Address)) { + return NlatBroadcast; + } + if (IN4_IS_ADDR_UNSPECIFIED(&Ipv4Address)) { + return NlatUnspecified; + } + if (((Ipv4Address.s_addr & 0x000000ff) == 0) || + ((Ipv4Address.s_addr & 0x000000f0) == 240)) { + return NlatInvalid; + } + return NlatUnicast; +} + +MSTCPIP_INLINE +VOID +IN4_UNCANONICALIZE_SCOPE_ID( + IN CONST IN_ADDR *Address, + IN OUT SCOPE_ID *ScopeId) +{ + SCOPE_LEVEL ScopeLevel = Ipv4AddressScope((CONST UCHAR *)Address); + + if ((IN4_IS_ADDR_LOOPBACK(Address)) || (ScopeLevel == ScopeLevelGlobal)) { + ScopeId->Value = 0; + } + if ((SCOPE_LEVEL)ScopeId->Level == ScopeLevel) { + ScopeId->Level = 0; + } +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_ADDR_6TO4ELIGIBLE( + IN CONST IN_ADDR *a) +{ + return (BOOLEAN)((Ipv4AddressType((CONST UCHAR *) a) == NlatUnicast) && + !(IN4_IS_ADDR_LOOPBACK(a) || + IN4_IS_ADDR_LINKLOCAL(a) || + IN4_IS_ADDR_SITELOCAL(a) || + IN4_IS_ADDR_RFC1918(a))); +} + +MSTCPIP_INLINE +BOOLEAN +IN4_IS_UNALIGNED_ADDR_6TO4ELIGIBLE( + IN CONST IN_ADDR UNALIGNED *a) +{ + IN_ADDR Ipv4Address = *a; + return IN4_IS_ADDR_6TO4ELIGIBLE(&Ipv4Address); +} + +#endif /* (NTDDI_VERSION >= NTDDI_WIN2KSP1) */ + +#endif /* _WS2DEF_ */ + +#ifdef _WS2IPDEF_ + +MSTCPIP_INLINE +BOOLEAN +IN6_PREFIX_EQUAL( + IN CONST IN6_ADDR *a, + IN CONST IN6_ADDR *b, + IN UINT8 len) +{ + UINT8 Bytes = len / 8; + UINT8 Bits = len % 8; + UINT8 Mask = 0xff << (8 - Bits); + + ASSERT(len <= (sizeof(IN6_ADDR) * 8)); + return (BOOLEAN) (((memcmp(a, b, Bytes)) == 0) && ((Bits == 0) || + ((a->s6_bytes[Bytes] | Mask) == (b->s6_bytes[Bytes] | Mask)))); +} + +MSTCPIP_INLINE +BOOLEAN +IN6_IS_ADDR_ALLNODESONNODE( + IN CONST IN6_ADDR *a) +{ + return IN6_ADDR_EQUAL(a, &in6addr_allnodesonnode); +} + +MSTCPIP_INLINE +BOOLEAN +IN6_IS_ADDR_ALLNODESONLINK( + IN CONST IN6_ADDR *a) +{ + return IN6_ADDR_EQUAL(a, &in6addr_allnodesonlink); +} + +MSTCPIP_INLINE +BOOLEAN +IN6_IS_ADDR_ALLROUTERSONLINK( + IN CONST IN6_ADDR *a) +{ + return IN6_ADDR_EQUAL(a, &in6addr_allroutersonlink); +} + +MSTCPIP_INLINE +BOOLEAN +IN6_IS_ADDR_SOLICITEDNODE( + IN CONST IN6_ADDR *a) +{ + return IN6_PREFIX_EQUAL(a, &in6addr_solicitednodemulticastprefix, + IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_LENGTH); +} + +MSTCPIP_INLINE +BOOLEAN +IN6_IS_ADDR_ISATAP( + IN CONST IN6_ADDR *a) +{ + return (BOOLEAN)(((a->s6_words[4] & 0xfffd) == 0x0000) && + (a->s6_words[5] == 0xfe5e)); +} + +MSTCPIP_INLINE +BOOLEAN +IN6_IS_ADDR_6TO4( + IN CONST IN6_ADDR *a) +{ + C_ASSERT(IN6ADDR_6TO4PREFIX_LENGTH == RTL_BITS_OF(USHORT)); + return (BOOLEAN)(a->s6_words[0] == in6addr_6to4prefix.s6_words[0]); +} + +MSTCPIP_INLINE +BOOLEAN +IN6_IS_ADDR_TEREDO( + IN CONST IN6_ADDR *a) +{ + C_ASSERT(IN6ADDR_TEREDOPREFIX_LENGTH == 2 * RTL_BITS_OF(USHORT)); + return (BOOLEAN) + (((a->s6_words[0] == in6addr_teredoprefix.s6_words[0]) && + (a->s6_words[1] == in6addr_teredoprefix.s6_words[1])) || + ((a->s6_words[0] == in6addr_teredoprefix_old.s6_words[0]) && + (a->s6_words[1] == in6addr_teredoprefix_old.s6_words[1]))); +} + +MSTCPIP_INLINE +BOOLEAN +IN6ADDR_ISV4MAPPED( + IN CONST SOCKADDR_IN6 *a) +{ + ASSERT(a->sin6_family == AF_INET6); + return IN6_IS_ADDR_V4MAPPED(&a->sin6_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN6ADDR_ISISATAP( + IN CONST SOCKADDR_IN6 *a) +{ + ASSERT(a->sin6_family == AF_INET6); + return IN6_IS_ADDR_ISATAP(&a->sin6_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN6ADDR_IS6TO4( + IN CONST SOCKADDR_IN6 *a) +{ + ASSERT(a->sin6_family == AF_INET6); + return IN6_IS_ADDR_6TO4(&a->sin6_addr); +} + +MSTCPIP_INLINE +BOOLEAN +IN6ADDR_ISTEREDO( + IN CONST SOCKADDR_IN6 *a) +{ + ASSERT(a->sin6_family == AF_INET6); + return IN6_IS_ADDR_TEREDO(&a->sin6_addr); +} + +MSTCPIP_INLINE +CONST UCHAR* +IN6_GET_ADDR_V4MAPPED( + IN CONST IN6_ADDR *Ipv6Address) +{ + return (CONST UCHAR *) (Ipv6Address->s6_words + 6); +} + +MSTCPIP_INLINE +CONST UCHAR* +IN6_GET_ADDR_V4COMPAT( + IN CONST IN6_ADDR *Ipv6Address) +{ + return (CONST UCHAR *) (Ipv6Address->s6_words + 6); +} + +MSTCPIP_INLINE +CONST UCHAR* +IN6_EXTRACT_V4ADDR_FROM_ISATAP( + IN CONST IN6_ADDR *Ipv6Address) +{ + return (CONST UCHAR *) (Ipv6Address->s6_words + 6); +} + +MSTCPIP_INLINE +CONST UCHAR* +IN6_EXTRACT_V4ADDR_FROM_6TO4( + IN CONST IN6_ADDR *Ipv6Address) +{ + return (CONST UCHAR *) (Ipv6Address->s6_words + 1); +} + +MSTCPIP_INLINE +VOID +IN6_SET_ADDR_V4MAPPED( + OUT PIN6_ADDR a6, + IN CONST IN_ADDR* a4) +{ + *a6 = in6addr_v4mappedprefix; + a6->s6_bytes[12] = ((CONST UCHAR *) a4)[0]; + a6->s6_bytes[13] = ((CONST UCHAR *) a4)[1]; + a6->s6_bytes[14] = ((CONST UCHAR *) a4)[2]; + a6->s6_bytes[15] = ((CONST UCHAR *) a4)[3]; +} + +MSTCPIP_INLINE +VOID +IN6_SET_ADDR_V4COMPAT( + OUT PIN6_ADDR a6, + IN CONST IN_ADDR* a4) +{ + *a6 = in6addr_any; + a6->s6_bytes[12] = ((CONST UCHAR *) a4)[0]; + a6->s6_bytes[13] = ((CONST UCHAR *) a4)[1]; + a6->s6_bytes[14] = ((CONST UCHAR *) a4)[2]; + a6->s6_bytes[15] = ((CONST UCHAR *) a4)[3]; +} + +MSTCPIP_INLINE +VOID +IN6_SET_ADDR_SOLICITEDNODE( + OUT PIN6_ADDR Multicast, + IN CONST IN6_ADDR *Unicast) +{ + *Multicast = in6addr_solicitednodemulticastprefix; + Multicast->s6_bytes[13] = Unicast->s6_bytes[13]; + Multicast->s6_bytes[14] = Unicast->s6_bytes[14]; + Multicast->s6_bytes[15] = Unicast->s6_bytes[15]; +} + +MSTCPIP_INLINE +VOID +IN6_SET_ISATAP_IDENTIFIER( + IN OUT IN6_ADDR *Ipv6Address, + IN CONST IN_ADDR *Ipv4Address) +{ + if (IN4_IS_ADDR_6TO4ELIGIBLE(Ipv4Address)) { + Ipv6Address->s6_words[4] = 0x0002; + } else { + Ipv6Address->s6_words[4] = 0x0000; + } + Ipv6Address->s6_words[5] = 0xFE5E; + *((UNALIGNED IN_ADDR *) (Ipv6Address->s6_words + 6)) = *Ipv4Address; +} + +MSTCPIP_INLINE +VOID +IN6_SET_6TO4_PREFIX( + IN OUT IN6_ADDR *Ipv6Address, + IN CONST IN_ADDR *Ipv4Address) +{ + Ipv6Address->s6_words[0] = 0x0220; + *((UNALIGNED IN_ADDR *) (Ipv6Address->s6_words + 1)) = *Ipv4Address; + Ipv6Address->s6_words[3] = 0x0000; +} + +MSTCPIP_INLINE +SCOPE_LEVEL +Ipv6UnicastAddressScope( + IN CONST UCHAR *Address) +{ + IN6_ADDR Ipv6Address; + + if (!INET_IS_ALIGNED(Address, IN6_ADDR)) { + Ipv6Address = *(CONST IN6_ADDR UNALIGNED *)Address; + Address = (CONST UCHAR *) &Ipv6Address; + } + if (IN6_IS_ADDR_LINKLOCAL((PIN6_ADDR) Address) || + IN6_IS_ADDR_LOOPBACK((PIN6_ADDR) Address)) { + return ScopeLevelLink; + } else if (IN6_IS_ADDR_SITELOCAL((PIN6_ADDR) Address)) { + return ScopeLevelSite; + } else { + return ScopeLevelGlobal; + } +} + +MSTCPIP_INLINE +SCOPE_LEVEL +IN6_MULTICAST_SCOPE( + IN CONST UCHAR *Address) +{ + PIN6_ADDR Ipv6Address = (PIN6_ADDR) Address; + return (SCOPE_LEVEL)(Ipv6Address->s6_bytes[1] & 0xf); +} + +MSTCPIP_INLINE +SCOPE_LEVEL +Ipv6AddressScope( + IN CONST UCHAR *Address) +{ + if (IN6_IS_ADDR_MULTICAST((CONST IN6_ADDR *) Address)) { + return IN6_MULTICAST_SCOPE(Address); + } else { + return Ipv6UnicastAddressScope(Address); + } +} + +MSTCPIP_INLINE +NL_ADDRESS_TYPE +Ipv6AddressType( + IN CONST UCHAR *Address) +{ + CONST IN6_ADDR *Ipv6Address = (CONST IN6_ADDR *) Address; + CONST UCHAR *Ipv4Address; + + if (IN6_IS_ADDR_MULTICAST(Ipv6Address)) { + return NlatMulticast; + } + if (IN6_IS_ADDR_UNSPECIFIED(Ipv6Address)) { + return NlatUnspecified; + } + if (IN6_IS_ADDR_ISATAP(Ipv6Address) || IN6_IS_ADDR_V4COMPAT(Ipv6Address) || + IN6_IS_ADDR_V4MAPPED(Ipv6Address) || IN6_IS_ADDR_V4TRANSLATED(Ipv6Address)) { + Ipv4Address = IN6_EXTRACT_V4ADDR_FROM_ISATAP(Ipv6Address); + } else if (IN6_IS_ADDR_6TO4(Ipv6Address)) { + Ipv4Address = IN6_EXTRACT_V4ADDR_FROM_6TO4(Ipv6Address); + } else { + return NlatUnicast; + } + if (Ipv4AddressType(Ipv4Address) != NlatUnicast) { + return NlatInvalid; + } + return NlatUnicast; +} + +MSTCPIP_INLINE +VOID +IN6_UNCANONICALIZE_SCOPE_ID( + IN CONST IN6_ADDR *Address, + IN OUT SCOPE_ID *ScopeId) +{ + SCOPE_LEVEL ScopeLevel = Ipv6AddressScope((CONST UCHAR *)Address); + + if ((IN6_IS_ADDR_LOOPBACK(Address)) || (ScopeLevel == ScopeLevelGlobal)) { + ScopeId->Value = 0; + } + if ((SCOPE_LEVEL)ScopeId->Level == ScopeLevel) { + ScopeId->Level = 0; + } +} + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +MSTCPIP_INLINE +VOID +IN6ADDR_SETSOCKADDR( + OUT PSOCKADDR_IN6 a, + IN CONST IN6_ADDR *addr, + IN SCOPE_ID scope, + IN USHORT port) +{ + a->sin6_family = AF_INET6; + a->sin6_port = port; + a->sin6_flowinfo = 0; + RtlCopyMemory(&a->sin6_addr, addr, sizeof(IN6_ADDR)); + a->sin6_scope_struct = scope; + IN6_UNCANONICALIZE_SCOPE_ID(&a->sin6_addr, &a->sin6_scope_struct); +} + +MSTCPIP_INLINE +VOID +IN6ADDR_SETV4MAPPED( + OUT PSOCKADDR_IN6 a6, + IN CONST IN_ADDR* a4, + IN SCOPE_ID scope, + IN USHORT port) +{ + a6->sin6_family = AF_INET6; + a6->sin6_port = port; + a6->sin6_flowinfo = 0; + IN6_SET_ADDR_V4MAPPED(&a6->sin6_addr, a4); + a6->sin6_scope_struct = scope; + IN4_UNCANONICALIZE_SCOPE_ID(a4, &a6->sin6_scope_struct); +} + +#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ + +MSTCPIP_INLINE +BOOLEAN +INET_ADDR_EQUAL( + IN ADDRESS_FAMILY af, + IN CONST VOID* a, + IN CONST VOID* b) +{ + if (af == AF_INET6) { + return IN6_ADDR_EQUAL((CONST IN6_ADDR*)a, (CONST IN6_ADDR*)b); + } else { + ASSERT(af == AF_INET); + return IN4_ADDR_EQUAL((CONST IN_ADDR*)a, (CONST IN_ADDR*)b); + } +} + +MSTCPIP_INLINE +BOOLEAN +INET_UNALIGNED_ADDR_EQUAL( + IN ADDRESS_FAMILY af, + IN CONST VOID* a, + IN CONST VOID* b) +{ + if (af == AF_INET6) { + return IN6_ADDR_EQUAL((CONST IN6_ADDR*)a, (CONST IN6_ADDR*)b); + } else { + ASSERT(af == AF_INET); + return IN4_UNALIGNED_ADDR_EQUAL((CONST IN_ADDR*)a, (CONST IN_ADDR*)b); + } +} + +MSTCPIP_INLINE +BOOLEAN +INET_IS_ADDR_UNSPECIFIED( + IN ADDRESS_FAMILY af, + IN CONST VOID* a) +{ + if (af == AF_INET6) { + return IN6_IS_ADDR_UNSPECIFIED((CONST IN6_ADDR*)a); + } else { + ASSERT(af == AF_INET); + return IN4_IS_ADDR_UNSPECIFIED((CONST IN_ADDR*)a); + } +} + +MSTCPIP_INLINE +BOOLEAN +INET_IS_UNALIGNED_ADDR_UNSPECIFIED( + IN ADDRESS_FAMILY af, + IN CONST VOID* a) +{ + if (af == AF_INET6) { + return IN6_IS_ADDR_UNSPECIFIED((CONST IN6_ADDR*)a); + } else { + ASSERT(af == AF_INET); + return IN4_IS_UNALIGNED_ADDR_UNSPECIFIED((CONST IN_ADDR UNALIGNED*)a); + } +} + +MSTCPIP_INLINE +BOOLEAN +INET_IS_ADDR_LOOPBACK( + IN ADDRESS_FAMILY af, + IN CONST VOID* a) +{ + if (af == AF_INET6) { + return IN6_IS_ADDR_LOOPBACK((CONST IN6_ADDR*)a); + } else { + ASSERT(af == AF_INET); + return IN4_IS_ADDR_LOOPBACK((CONST IN_ADDR*)a); + } +} + +MSTCPIP_INLINE +BOOLEAN +INET_IS_ADDR_BROADCAST( + IN ADDRESS_FAMILY af, + IN CONST VOID* a) +{ + if (af == AF_INET6) { + return FALSE; + } else { + ASSERT(af == AF_INET); + return IN4_IS_ADDR_BROADCAST((CONST IN_ADDR*)a); + } +} + +MSTCPIP_INLINE +BOOLEAN +INET_IS_ADDR_MULTICAST( + IN ADDRESS_FAMILY af, + IN CONST VOID* a) +{ + if (af == AF_INET6) { + return IN6_IS_ADDR_MULTICAST((CONST IN6_ADDR*)a); + } else { + ASSERT(af == AF_INET); + return IN4_IS_ADDR_MULTICAST((CONST IN_ADDR*)a); + } +} + +MSTCPIP_INLINE +CONST UCHAR* +INET_ADDR_UNSPECIFIED( + IN ADDRESS_FAMILY af) +{ + if (af == AF_INET6) { + return (CONST UCHAR*)&in6addr_any; + } else { + ASSERT(af == AF_INET); + return (CONST UCHAR*)&in4addr_any; + } +} + +MSTCPIP_INLINE +VOID +INET_SET_ADDRESS( + IN ADDRESS_FAMILY Family, + OUT PUCHAR Address, + IN CONST UCHAR *Value) +{ + if (Family == AF_INET6) { + *((PIN6_ADDR)Address) = *((PIN6_ADDR)Value); + } else { + ASSERT(Family == AF_INET); + *((PIN_ADDR)Address) = *((PIN_ADDR)Value); + } +} + +MSTCPIP_INLINE +SIZE_T +INET_ADDR_LENGTH( + IN ADDRESS_FAMILY af) +{ + if (af == AF_INET6) { + return sizeof(IN6_ADDR); + } else { + ASSERT(af == AF_INET); + return sizeof(IN_ADDR); + } +} + +MSTCPIP_INLINE +SIZE_T +INET_SOCKADDR_LENGTH( + IN ADDRESS_FAMILY af) +{ + if (af == AF_INET6) { + return sizeof(SOCKADDR_IN6); + } else { + ASSERT(af == AF_INET); + return sizeof(SOCKADDR_IN); + } +} + +#if (NTDDI_VERSION >= NTDDI_VISTA) +MSTCPIP_INLINE +VOID +INETADDR_SETSOCKADDR( + IN ADDRESS_FAMILY af, + OUT PSOCKADDR a, + IN CONST VOID* addr, + IN SCOPE_ID scope, + IN USHORT port) +{ + if (af == AF_INET6) { + IN6ADDR_SETSOCKADDR((PSOCKADDR_IN6) a, (CONST IN6_ADDR *) addr, scope, port); + } else { + CONST IN_ADDR addr4 = *((IN_ADDR UNALIGNED *) addr); + ASSERT(af == AF_INET); + IN4ADDR_SETSOCKADDR((PSOCKADDR_IN) a, (CONST IN_ADDR *) &addr4, port); + } +} +#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ + +MSTCPIP_INLINE +VOID +INETADDR_SETANY( + OUT PSOCKADDR a) +{ + if (a->sa_family == AF_INET6) { + IN6ADDR_SETANY((PSOCKADDR_IN6)a); + } else { + ASSERT(a->sa_family == AF_INET); + IN4ADDR_SETANY((PSOCKADDR_IN)a); + } +} + +MSTCPIP_INLINE +VOID +INETADDR_SETLOOPBACK( + OUT PSOCKADDR a) +{ + if (a->sa_family == AF_INET6) { + IN6ADDR_SETLOOPBACK((PSOCKADDR_IN6)a); + } else { + ASSERT(a->sa_family == AF_INET); + IN4ADDR_SETLOOPBACK((PSOCKADDR_IN)a); + } +} + +MSTCPIP_INLINE +BOOLEAN +INETADDR_ISANY( + IN CONST SOCKADDR *a) +{ + if (a->sa_family == AF_INET6) { + return IN6ADDR_ISANY((CONST SOCKADDR_IN6*)a); + } else { + ASSERT(a->sa_family == AF_INET); + return IN4ADDR_ISANY((CONST SOCKADDR_IN*)a); + } +} + +MSTCPIP_INLINE +BOOLEAN +INETADDR_ISLOOPBACK( + IN CONST SOCKADDR *a) +{ + if (a->sa_family == AF_INET6) { + return IN6ADDR_ISLOOPBACK((CONST SOCKADDR_IN6*)a); + } else { + ASSERT(a->sa_family == AF_INET); + return IN4ADDR_ISLOOPBACK((CONST SOCKADDR_IN*)a); + } +} + +MSTCPIP_INLINE +BOOLEAN +INETADDR_ISV4MAPPED(IN CONST SOCKADDR *a) +{ + if (a->sa_family == AF_INET6) { + return IN6ADDR_ISV4MAPPED((CONST SOCKADDR_IN6*)a); + } else { + return FALSE; + } +} + +MSTCPIP_INLINE +BOOLEAN +NL_ADDR_EQUAL( + IN ADDRESS_FAMILY af, + IN SCOPE_ID sa, + IN CONST UCHAR* aa, + IN SCOPE_ID sb, + IN CONST UCHAR* ab) +{ + return (BOOLEAN)((sa.Value == sb.Value) && INET_ADDR_EQUAL(af, aa, ab)); +} + +MSTCPIP_INLINE +BOOLEAN +NL_IS_ADDR_UNSPECIFIED( + IN ADDRESS_FAMILY af, + IN SCOPE_ID s, + IN CONST UCHAR* a) +{ + return (BOOLEAN)((s.Value == 0) && INET_IS_ADDR_UNSPECIFIED(af, a)); +} + +MSTCPIP_INLINE +BOOLEAN +INETADDR_ISEQUAL( + IN CONST SOCKADDR *a, + IN CONST SOCKADDR *b) +{ + if (a->sa_family == AF_INET6) { + return (BOOLEAN) (b->sa_family == AF_INET6 && + IN6ADDR_ISEQUAL((CONST SOCKADDR_IN6*)a, (CONST SOCKADDR_IN6*)b)); + } else { + ASSERT(a->sa_family == AF_INET); + return (BOOLEAN) (b->sa_family == AF_INET && + IN4ADDR_ISEQUAL((CONST SOCKADDR_IN*)a, (CONST SOCKADDR_IN*)b)); + } +} + +MSTCPIP_INLINE +BOOLEAN +INETADDR_ISUNSPECIFIED( + IN CONST SOCKADDR *a) +{ + if (a->sa_family == AF_INET6) { + return IN6ADDR_ISUNSPECIFIED((CONST SOCKADDR_IN6*)a); + } else { + ASSERT(a->sa_family == AF_INET); + return IN4ADDR_ISUNSPECIFIED((CONST SOCKADDR_IN*)a); + } +} + +#if (NTDDI_VERSION >= NTDDI_VISTA) +MSTCPIP_INLINE +SCOPE_ID +INETADDR_SCOPE_ID( + IN CONST SOCKADDR *a) +{ + if (a->sa_family == AF_INET6) { + return ((CONST SOCKADDR_IN6*)a)->sin6_scope_struct; + } else { + ASSERT(a->sa_family == AF_INET); + return IN4ADDR_SCOPE_ID((CONST SOCKADDR_IN*)a); + } +} +#endif + +MSTCPIP_INLINE +USHORT +INETADDR_PORT( + IN CONST SOCKADDR *a) +{ + if (a->sa_family == AF_INET6) { + return ((CONST SOCKADDR_IN6*)a)->sin6_port; + } else { + ASSERT(a->sa_family == AF_INET); + return ((CONST SOCKADDR_IN*)a)->sin_port; + } +} + +MSTCPIP_INLINE +PUCHAR +INETADDR_ADDRESS( + IN CONST SOCKADDR* a) +{ + if (a->sa_family == AF_INET6) { + return (PUCHAR)&((PSOCKADDR_IN6)a)->sin6_addr; + } else { + ASSERT(a->sa_family == AF_INET); + return (PUCHAR)&((PSOCKADDR_IN)a)->sin_addr; + } +} + +MSTCPIP_INLINE +VOID +INETADDR_SET_PORT( + IN OUT PSOCKADDR a, + IN USHORT Port) +{ + SS_PORT(a) = Port; +} + +MSTCPIP_INLINE +VOID +INETADDR_SET_ADDRESS( + IN OUT PSOCKADDR a, + IN CONST UCHAR *Address) +{ + if (a->sa_family == AF_INET6) { + ((PSOCKADDR_IN6)a)->sin6_addr = *((CONST IN6_ADDR*)Address); + } else { + ASSERT(a->sa_family == AF_INET); + ((PSOCKADDR_IN)a)->sin_addr = *((CONST IN_ADDR*)Address); + } +} + +MSTCPIP_INLINE +VOID +INET_UNCANONICALIZE_SCOPE_ID( + IN ADDRESS_FAMILY AddressFamily, + IN CONST UCHAR *Address, + IN OUT SCOPE_ID *ScopeId) +{ + if (AddressFamily == AF_INET6) { + IN6_UNCANONICALIZE_SCOPE_ID((CONST IN6_ADDR*) Address, ScopeId); + } else { + IN4_UNCANONICALIZE_SCOPE_ID((CONST IN_ADDR*) Address, ScopeId); + } +} + +#endif /* _WS2IPDEF_ */ + +#ifndef __IP2STRING__ +#define __IP2STRING__ + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +#ifdef _WS2DEF_ + +NTSYSAPI +PSTR +NTAPI +RtlIpv4AddressToStringA( + IN const struct in_addr *Addr, + OUT PSTR S); + +NTSYSAPI +LONG +NTAPI +RtlIpv4AddressToStringExA( + IN const struct in_addr *Address, + IN USHORT Port, + OUT PSTR AddressString, + IN OUT PULONG AddressStringLength); + +NTSYSAPI +PWSTR +NTAPI +RtlIpv4AddressToStringW( + IN const struct in_addr *Addr, + OUT PWSTR S); + +NTSYSAPI +LONG +NTAPI +RtlIpv4AddressToStringExW( + IN const struct in_addr *Address, + IN USHORT Port, + OUT PWSTR AddressString, + IN OUT PULONG AddressStringLength); + +NTSYSAPI +LONG +NTAPI +RtlIpv4StringToAddressA( + IN PCSTR S, + IN BOOLEAN Strict, + OUT PCSTR *Terminator, + OUT struct in_addr *Addr); + +NTSYSAPI +LONG +NTAPI +RtlIpv4StringToAddressExA( + IN PCSTR AddressString, + IN BOOLEAN Strict, + OUT struct in_addr *Address, + OUT PUSHORT Port); + +NTSYSAPI +LONG +NTAPI +RtlIpv4StringToAddressW( + IN PCWSTR S, + IN BOOLEAN Strict, + OUT LPCWSTR *Terminator, + OUT struct in_addr *Addr); + +NTSYSAPI +LONG +NTAPI +RtlIpv4StringToAddressExW( + IN PCWSTR AddressString, + IN BOOLEAN Strict, + OUT struct in_addr *Address, + OUT PUSHORT Port); + +#ifdef UNICODE +#define RtlIpv4AddressToString RtlIpv4AddressToStringW +#define RtlIpv4StringToAddress RtlIpv4StringToAddressW +#define RtlIpv4AddressToStringEx RtlIpv4AddressToStringExW +#define RtlIpv4StringToAddressEx RtlIpv4StringToAddressExW +#else +#define RtlIpv4AddressToString RtlIpv4AddressToStringA +#define RtlIpv4StringToAddress RtlIpv4StringToAddressA +#define RtlIpv4AddressToStringEx RtlIpv4AddressToStringExA +#define RtlIpv4StringToAddressEx RtlIpv4StringToAddressExA +#endif + +#endif /* _WS2DEF_ */ + +#ifdef _WS2IPDEF_ + +NTSYSAPI +PSTR +NTAPI +RtlIpv6AddressToStringA( + IN const struct in6_addr *Addr, + OUT PSTR S); + +NTSYSAPI +LONG +NTAPI +RtlIpv6AddressToStringExA( + IN const struct in6_addr *Address, + IN ULONG ScopeId, + IN USHORT Port, + OUT PSTR AddressString, + IN OUT PULONG AddressStringLength); + +NTSYSAPI +PWSTR +NTAPI +RtlIpv6AddressToStringW( + IN const struct in6_addr *Addr, + OUT PWSTR S); + +NTSYSAPI +LONG +NTAPI +RtlIpv6AddressToStringExW( + IN const struct in6_addr *Address, + IN ULONG ScopeId, + IN USHORT Port, + OUT PWSTR AddressString, + IN OUT PULONG AddressStringLength); + +NTSYSAPI +LONG +NTAPI +RtlIpv6StringToAddressA( + IN PCSTR S, + OUT PCSTR *Terminator, + OUT struct in6_addr *Addr); + +NTSYSAPI +LONG +NTAPI +RtlIpv6StringToAddressExA( + IN PCSTR AddressString, + OUT struct in6_addr *Address, + OUT PULONG ScopeId, + OUT PUSHORT Port); + +NTSYSAPI +LONG +NTAPI +RtlIpv6StringToAddressW( + IN PCWSTR S, + OUT PCWSTR *Terminator, + OUT struct in6_addr *Addr); + +NTSYSAPI +LONG +NTAPI +RtlIpv6StringToAddressExW( + IN PCWSTR AddressString, + OUT struct in6_addr *Address, + OUT PULONG ScopeId, + OUT PUSHORT Port); + +#ifdef UNICODE +#define RtlIpv6AddressToString RtlIpv6AddressToStringW +#define RtlIpv6StringToAddress RtlIpv6StringToAddressW +#define RtlIpv6StringToAddressEx RtlIpv6StringToAddressExW +#define RtlIpv6AddressToStringEx RtlIpv6AddressToStringExW +#else +#define RtlIpv6AddressToString RtlIpv6AddressToStringA +#define RtlIpv6StringToAddress RtlIpv6StringToAddressA +#define RtlIpv6StringToAddressEx RtlIpv6StringToAddressExA +#define RtlIpv6AddressToStringEx RtlIpv6AddressToStringExA +#endif + +#endif /* __WS2IPDEF__ */ + +#ifdef _WS2DEF_ + +union _DL_EUI48; +typedef union _DL_EUI48 DL_EUI48, *PDL_EUI48; + +NTSYSAPI +PSTR +NTAPI +RtlEthernetAddressToStringA( + IN const DL_EUI48 *Addr, + OUT PSTR S); + +NTSYSAPI +PWSTR +NTAPI +RtlEthernetAddressToStringW( + IN const DL_EUI48 *Addr, + OUT PWSTR S); + +NTSYSAPI +LONG +NTAPI +RtlEthernetStringToAddressA( + IN PCSTR S, + OUT PCSTR *Terminator, + OUT DL_EUI48 *Addr); + +NTSYSAPI +LONG +NTAPI +RtlEthernetStringToAddressW( + IN PCWSTR S, + OUT LPCWSTR *Terminator, + OUT DL_EUI48 *Addr); + +#ifdef UNICODE +#define RtlEthernetAddressToString RtlEthernetAddressToStringW +#define RtlEthernetStringToAddress RtlEthernetStringToAddressW +#else +#define RtlEthernetAddressToString RtlEthernetAddressToStringA +#define RtlEthernetStringToAddress RtlEthernetStringToAddressA +#endif + +#endif /* _WS2DEF_ */ + +#endif /* (NTDDI >= NTDDI_VISTA) */ + +#endif /* __IP2STRING__ */ + +#ifdef __cplusplus +} +#endif Added: branches/header-work/include/psdk/wsipv6ok.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/wsipv6…
============================================================================== --- branches/header-work/include/psdk/wsipv6ok.h (added) +++ branches/header-work/include/psdk/wsipv6ok.h [iso-8859-1] Fri Apr 2 11:14:55 2010 @@ -1,0 +1,83 @@ +#pragma once + +#ifdef IPV6STRICT + +#include <ws2tcpip.h> +#include <wspiapi.h> + +#undef AF_INET +#define AF_INET AF_INET_IPV6INCOMPATIBLE +#undef PF_INET +#define PF_INET PF_INET_IPV6INCOMPATIBLE +#undef in_addr +#define in_addr in_addr_IPV6INCOMPATIBLE +#undef IN_ADDR +#define IN_ADDR IN_ADDR_IPV6INCOMPATIBLE +#undef PIN_ADDR +#define PIN_ADDR PIN_ADDR_IPV6INCOMPATIBLE +#undef LPIN_ADDR +#define LPIN_ADDR LPIN_ADDR_IPV6INCOMPATIBLE +#undef IPAddr +#define IPAddr IPAddr_IPV6INCOMPATIBLE +#undef sockaddr_in +#define sockaddr_in sockaddr_in_IPV6INCOMPATIBLE +#undef SOCKADDR_IN +#define SOCKADDR_IN SOCKADDR_IN_IPV6INCOMPATIBLE +#undef PSOCKADDR_IN +#define PSOCKADDR_IN PSOCKADDR_IN_IPV6INCOMPATIBLE +#undef LPSOCKADDR_IN +#define LPSOCKADDR_IN LPSOCKADDR_IN_IPV6INCOMPATIBLE +#undef INADDR_ANY +#define INADDR_ANY INADDR_ANY_IPV6INCOMPATIBLE +#undef INADDR_LOOPBACK +#define INADDR_LOOPBACK INADDR_LOOPBACK_IPV6INCOMPATIBLE +#undef IPPROTO_IP +#define IPPROTO_IP IPPROTO_IP_IPV6INCOMPATIBLE +#undef IP_MULTICAST_IF +#define IP_MULTICAST_IF IP_MULTICAST_IF_IPV6INCOMPATIBLE +#undef IP_MULTICAST_TTL +#define IP_MULTICAST_TTL IP_MULTICAST_TTL_IPV6INCOMPATIBLE +#undef IP_MULTICAST_LOOP +#define IP_MULTICAST_LOOP IP_MULTICAST_LOOP_IPV6INCOMPATIBLE +#undef IP_ADD_MEMBERSHIP +#define IP_ADD_MEMBERSHIP IP_ADD_MEMBERSHIP_IPV6INCOMPATIBLE +#undef IP_DROP_MEMBERSHIP +#define IP_DROP_MEMBERSHIP IP_DROP_MEMBERSHIP_IPV6INCOMPATIBLE +#undef ip_mreq +#define ip_mreq ip_mreq_IPV6INCOMPATIBLE +#undef gethostbyname +#define gethostbyname(a) gethostbyname_IPV6INCOMPATIBLE +#undef hostent +#define hostent hostent_IPV6INCOMPATIBLE +#undef HOSTENT +#define HOSTENT HOSTENT_IPV6INCOMPATIBLE +#undef PHOSTENT +#define PHOSTENT PHOSTENT_IPV6INCOMPATIBLE +#undef LPHOSTENT +#define LPHOSTENT LPHOSTENT_IPV6INCOMPATIBLE +#undef inet_addr +#define inet_addr(a) inet_addr_IPV6INCOMPATIBLE +#undef gethostbyaddr +#define gethostbyaddr(a,b,c) gethostbyaddr_IPV6INCOMPATIBLE +#undef inet_ntoa +#define inet_ntoa(a) inet_ntoa_IPV6INCOMPATIBLE +#undef IN_MULTICAST +#define IN_MULTICAST(a) IN_MULTICAST_IPV6INCOMPATIBLE +#undef IN_CLASSD +#define IN_CLASSD(a) IN_CLASSD_IPV6INCOMPATIBLE +#undef IP_TTL +#define IP_TTL IP_TTL_IPV6INCOMPATIBLE +#undef IN_CLASSA +#define IN_CLASSA(a) IN_CLASSA_IPV6INCOMPATIBLE +#undef IN_CLASSB +#define IN_CLASSB(a) IN_CLASSB_IPV6INCOMPATIBLE +#undef IN_CLASSC +#define IN_CLASSC(a) IN_CLASSC_IPV6INCOMPATIBLE +#undef INADDR_BROADCAST +#define INADDR_BROADCAST(a) INADDR_BROADCAST_IPV6INCOMPATIBLE +#undef WSAAsyncGetHostByAddr +#define WSAAsyncGetHostByAddr(a,b,c,d,e,f,g) WSAAsyncGetHostByAddr_IPV6INCOMPATIBLE +#undef WSAAsyncGetHostByName +#define WSAAsyncGetHostByName(a,b,c,d,e) WSAAsyncGetHostByName_IPV6INCOMPATIBLE + +#endif Propchange: branches/header-work/include/psdk/wsipv6ok.h ------------------------------------------------------------------------------ svn:eol-style = native Added: branches/header-work/include/psdk/wspiapi.h URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/wspiap…
============================================================================== --- branches/header-work/include/psdk/wspiapi.h (added) +++ branches/header-work/include/psdk/wspiapi.h [iso-8859-1] Fri Apr 2 11:14:55 2010 @@ -1,0 +1,564 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#if (NTDDI_VERSION >= NTDDI_WIN2K) + +#include <stdio.h> +#include <stdlib.h> +#include <malloc.h> +#include <string.h> + +#if defined(__GOT_SECURE_LIB__) && __GOT_SECURE_LIB__ >= 200402L + +#define _WSPIAPI_STRCPY_S strcpy_s +#define _WSPIAPI_STRCAT_S strcat_s +#define _WSPIAPI_STRNCPY_S strncpy_s +#define _WSPIAPI_SPRINTF_S_1 sprintf_s + +#else + +#define _WSPIAPI_STRCPY_S(_Dst, _Size, _Src) strcpy((_Dst), (_Src)) +#define _WSPIAPI_STRCAT_S(_Dst, _Size, _Src) strcat((_Dst), (_Src)) +#define _WSPIAPI_STRNCPY_S(_Dst, _Size, _Src, _Count) strncpy((_Dst), (_Src), (_Count)); (_Dst)[(_Size) - 1] = 0 +#define _WSPIAPI_SPRINTF_S_1(_Dst, _Size, _Format, _Arg1) sprintf((_Dst), (_Format), (_Arg1)) + +#endif /* #if defined(__GOT_SECURE_LIB__) && __GOT_SECURE_LIB__ >= 200402L */ + +#if !defined(_WSPIAPI_COUNTOF) + +#if !defined(__cplusplus) +#define _WSPIAPI_COUNTOF(_Array) (sizeof(_Array) / sizeof(_Array[0])) +#else +template <typename __CountofType, size_t _N> +char (&__wspiapi_countof_helper(__CountofType (&_Array)[_N]))[_N]; +#define _WSPIAPI_COUNTOF(_Array) sizeof(__wspiapi_countof_helper(_Array)) +#endif + +#endif /* !defined(_WSPIAPI_COUNTOF) */ + +#define WspiapiMalloc(tSize) calloc(1, (tSize)) +#define WspiapiFree(p) free(p) +#define WspiapiSwap(a, b, c) {(c) = (a); (a) = (b); (b) = (c);} +#define getaddrinfo WspiapiGetAddrInfo +#define getnameinfo WspiapiGetNameInfo +#define freeaddrinfo WspiapiFreeAddrInfo + +typedef int +(WINAPI *WSPIAPI_PGETADDRINFO)( + IN const char *nodename, + IN const char *servname, + IN const struct addrinfo *hints, + OUT struct addrinfo **res); + +typedef int +(WINAPI *WSPIAPI_PGETNAMEINFO)( + IN const struct sockaddr *sa, + IN socklen_t salen, + OUT char *host, + IN size_t hostlen, + OUT char *serv, + IN size_t servlen, + IN int flags); + +typedef void +(WINAPI *WSPIAPI_PFREEADDRINFO)( + IN struct addrinfo *ai); + +__inline +char * +WINAPI +WspiapiStrdup( + IN const char *pszString) +{ + char *pszMemory; + size_t cchMemory; + + if (!pszString) return(NULL); + cchMemory = strlen(pszString) + 1; + pszMemory = (char *) WspiapiMalloc(cchMemory); + if (!pszMemory) return(NULL); + _WSPIAPI_STRCPY_S(pszMemory, cchMemory, pszString); + return pszMemory; +} + +__inline +BOOL +WINAPI +WspiapiParseV4Address( + IN const char *pszAddress, + OUT PDWORD pdwAddress) +{ + DWORD dwAddress = 0; + const char *pcNext = NULL; + int iCount = 0; + + for (pcNext = pszAddress; *pcNext != '\0'; pcNext++) + if (*pcNext == '.') iCount++; + if (iCount != 3) return FALSE; + dwAddress = inet_addr(pszAddress); + if (dwAddress == INADDR_NONE) return FALSE; + *pdwAddress = dwAddress; + return TRUE; +} + +__inline +struct addrinfo * +WINAPI +WspiapiNewAddrInfo( + IN int iSocketType, + IN int iProtocol, + IN WORD wPort, + IN DWORD dwAddress) +{ + struct addrinfo *ptNew; + struct sockaddr_in *ptAddress; + + ptNew = (struct addrinfo *) WspiapiMalloc(sizeof(struct addrinfo)); + if (!ptNew) return NULL; + ptAddress = (struct sockaddr_in *) WspiapiMalloc(sizeof(struct sockaddr_in)); + if (!ptAddress) { + WspiapiFree(ptNew); + return NULL; + } + ptAddress->sin_family = AF_INET; + ptAddress->sin_port = wPort; + ptAddress->sin_addr.s_addr = dwAddress; + ptNew->ai_family = PF_INET; + ptNew->ai_socktype = iSocketType; + ptNew->ai_protocol = iProtocol; + ptNew->ai_addrlen = sizeof(struct sockaddr_in); + ptNew->ai_addr = (struct sockaddr *) ptAddress; + + return ptNew; +} + +__inline +int +WINAPI +WspiapiQueryDNS( + IN const char *pszNodeName, + IN int iSocketType, + IN int iProtocol, + IN WORD wPort, + OUT char pszAlias[NI_MAXHOST], + OUT struct addrinfo **pptResult) +{ + struct addrinfo **pptNext = pptResult; + struct hostent *ptHost = NULL; + char **ppAddresses; + + *pptNext = NULL; + pszAlias[0] = '\0'; + + ptHost = gethostbyname(pszNodeName); + if (ptHost) { + if ((ptHost->h_addrtype == AF_INET) && (ptHost->h_length == sizeof(struct in_addr))) { + for (ppAddresses = ptHost->h_addr_list; *ppAddresses != NULL; ppAddresses++) { + *pptNext = WspiapiNewAddrInfo(iSocketType, iProtocol, wPort, ((struct in_addr *) *ppAddresses)->s_addr); + if (!*pptNext) return EAI_MEMORY; + pptNext = &((*pptNext)->ai_next); + } + } + _WSPIAPI_STRNCPY_S(pszAlias, NI_MAXHOST, ptHost->h_name, NI_MAXHOST - 1); + return 0; + } + switch (WSAGetLastError()) { + case WSAHOST_NOT_FOUND: return EAI_NONAME; + case WSATRY_AGAIN: return EAI_AGAIN; + case WSANO_RECOVERY: return EAI_FAIL; + case WSANO_DATA: return EAI_NODATA; + default: return EAI_NONAME; + } +} + +__inline +int +WINAPI +WspiapiLookupNode( + IN const char *pszNodeName, + IN int iSocketType, + IN int iProtocol, + IN WORD wPort, + IN BOOL bAI_CANONNAME, + OUT struct addrinfo **pptResult) +{ + int iError = 0; + int iAliasCount = 0; + char szFQDN1[NI_MAXHOST] = ""; + char szFQDN2[NI_MAXHOST] = ""; + char *pszName = szFQDN1; + char *pszAlias = szFQDN2; + char *pszScratch = NULL; + + _WSPIAPI_STRNCPY_S(pszName, NI_MAXHOST, pszNodeName, NI_MAXHOST - 1); + for (;;) { + iError = WspiapiQueryDNS(pszNodeName, iSocketType, iProtocol, wPort, pszAlias, pptResult); + if (iError) break; + if (*pptResult) break; + if ((!strlen(pszAlias)) || (!strcmp(pszName, pszAlias)) || (++iAliasCount == 16)) { + iError = EAI_FAIL; + break; + } + WspiapiSwap(pszName, pszAlias, pszScratch); + } + if (!iError && bAI_CANONNAME) { + (*pptResult)->ai_canonname = WspiapiStrdup(pszAlias); + if (!(*pptResult)->ai_canonname) iError = EAI_MEMORY; + } + + return iError; +} + + + +__inline +int +WINAPI +WspiapiClone( + IN WORD wPort, + IN struct addrinfo *ptResult) +{ + struct addrinfo *ptNext = NULL; + struct addrinfo *ptNew = NULL; + + for (ptNext = ptResult; ptNext != NULL; ) { + ptNew = WspiapiNewAddrInfo(SOCK_DGRAM, ptNext->ai_protocol, wPort, + ((struct sockaddr_in *) ptNext->ai_addr)->sin_addr.s_addr); + if (!ptNew) break; + ptNew->ai_next = ptNext->ai_next; + ptNext->ai_next = ptNew; + ptNext = ptNew->ai_next; + } + if (ptNext != NULL) return EAI_MEMORY; + + return 0; +} + +__inline +void +WINAPI +WspiapiLegacyFreeAddrInfo( + IN struct addrinfo *ptHead) +{ + struct addrinfo *ptNext; + + for (ptNext = ptHead; ptNext != NULL; ptNext = ptHead) { + if (ptNext->ai_canonname) WspiapiFree(ptNext->ai_canonname); + if (ptNext->ai_addr) WspiapiFree(ptNext->ai_addr); + ptHead = ptNext->ai_next; + WspiapiFree(ptNext); + } +} + +__inline +int +WINAPI +WspiapiLegacyGetAddrInfo( + IN const char *pszNodeName, + IN const char *pszServiceName, + IN const struct addrinfo *ptHints, + OUT struct addrinfo **pptResult) +{ + int iError = 0; + int iFlags = 0; + int iFamily = PF_UNSPEC; + int iSocketType = 0; + int iProtocol = 0; + WORD wPort = 0; + DWORD dwAddress = 0; + struct servent *ptService = NULL; + char *pc = NULL; + BOOL bClone = FALSE; + WORD wTcpPort = 0; + WORD wUdpPort = 0; + *pptResult = NULL; + + if ((!pszNodeName) && (!pszServiceName)) return EAI_NONAME; + if (ptHints) { + if ((ptHints->ai_addrlen != 0) || + (ptHints->ai_canonname != NULL) || + (ptHints->ai_addr != NULL) || + (ptHints->ai_next != NULL)) { + return EAI_FAIL; + } + iFlags = ptHints->ai_flags; + if ((iFlags & AI_CANONNAME) && !pszNodeName) return EAI_BADFLAGS; + iFamily = ptHints->ai_family; + if ((iFamily != PF_UNSPEC) && (iFamily != PF_INET)) return EAI_FAMILY; + iSocketType = ptHints->ai_socktype; + if ((iSocketType != 0) && + (iSocketType != SOCK_STREAM) && + (iSocketType != SOCK_DGRAM) && + (iSocketType != SOCK_RAW)) + return EAI_SOCKTYPE; + iProtocol = ptHints->ai_protocol; + } + if (pszServiceName) { + wPort = (WORD) strtoul(pszServiceName, &pc, 10); + if (*pc == '\0') { + wPort = wTcpPort = wUdpPort = htons(wPort); + if (iSocketType == 0) { + bClone = TRUE; + iSocketType = SOCK_STREAM; + } + } + else { + if ((iSocketType == 0) || (iSocketType == SOCK_DGRAM)) { + ptService = getservbyname(pszServiceName, "udp"); + if (ptService) wPort = wUdpPort = ptService->s_port; + } + if ((iSocketType == 0) || (iSocketType == SOCK_STREAM)) { + ptService = getservbyname(pszServiceName, "tcp"); + if (ptService) wPort = wTcpPort = ptService->s_port; + } + if (wPort == 0) return (iSocketType ? EAI_SERVICE : EAI_NONAME); + if (iSocketType == 0) { + iSocketType = (wTcpPort) ? SOCK_STREAM : SOCK_DGRAM; + bClone = (wTcpPort && wUdpPort); + } + } + } + if ((!pszNodeName) || (WspiapiParseV4Address(pszNodeName, &dwAddress))) { + if (!pszNodeName) dwAddress = htonl((iFlags & AI_PASSIVE) ? INADDR_ANY : INADDR_LOOPBACK); + *pptResult = WspiapiNewAddrInfo(iSocketType, iProtocol, wPort, dwAddress); + if (!(*pptResult)) iError = EAI_MEMORY; + if (!iError && pszNodeName) { + (*pptResult)->ai_flags |= AI_NUMERICHOST; + if (iFlags & AI_CANONNAME) { + (*pptResult)->ai_canonname = WspiapiStrdup(inet_ntoa(*((struct in_addr *) &dwAddress))); + if (!(*pptResult)->ai_canonname) iError = EAI_MEMORY; + } + } + } + else if (iFlags & AI_NUMERICHOST) { + iError = EAI_NONAME; + } + else { + iError = WspiapiLookupNode(pszNodeName, iSocketType, + iProtocol, wPort, + (iFlags & AI_CANONNAME), + pptResult); + } + if (!iError && bClone) { + iError = WspiapiClone(wUdpPort, *pptResult); + } + if (iError) { + WspiapiLegacyFreeAddrInfo(*pptResult); + *pptResult = NULL; + } + + return (iError); +} + +__inline +int +WINAPI +WspiapiLegacyGetNameInfo( + IN const struct sockaddr *ptSocketAddress, + IN socklen_t tSocketLength, + OUT char *pszNodeName, + IN size_t tNodeLength, + OUT char *pszServiceName, + IN size_t tServiceLength, + IN int iFlags) +{ + struct servent *ptService; + WORD wPort; + char szBuffer[] = "65535"; + char *pszService = szBuffer; + struct hostent *ptHost; + struct in_addr tAddress; + char *pszNode = NULL; + char *pc = NULL; + + if ((!ptSocketAddress) || (tSocketLength < sizeof(struct sockaddr))) return EAI_FAIL; + if (ptSocketAddress->sa_family != AF_INET) return EAI_FAMILY; + if (tSocketLength < sizeof(struct sockaddr_in)) return EAI_FAIL; + if (!(pszNodeName && tNodeLength) && !(pszServiceName && tServiceLength)) { + return EAI_NONAME; + } + if ((iFlags & NI_NUMERICHOST) && (iFlags & NI_NAMEREQD)) { + return EAI_BADFLAGS; + } + if (pszServiceName && tServiceLength) { + wPort = ((struct sockaddr_in *) ptSocketAddress)->sin_port; + if (iFlags & NI_NUMERICSERV) { + _WSPIAPI_SPRINTF_S_1(szBuffer, _WSPIAPI_COUNTOF(szBuffer), "%u", ntohs(wPort)); + } + else { + ptService = getservbyport(wPort, (iFlags & NI_DGRAM) ? "udp" : NULL); + if (ptService && ptService->s_name) { + pszService = ptService->s_name; + } + else { + _WSPIAPI_SPRINTF_S_1(szBuffer, _WSPIAPI_COUNTOF(szBuffer), "%u", ntohs(wPort)); + } + } + if (tServiceLength > strlen(pszService)) + _WSPIAPI_STRCPY_S(pszServiceName, tServiceLength, pszService); + else return EAI_FAIL; + } + if (pszNodeName && tNodeLength) { + tAddress = ((struct sockaddr_in *) ptSocketAddress)->sin_addr; + if (iFlags & NI_NUMERICHOST) { + pszNode = inet_ntoa(tAddress); + } + else { + ptHost = gethostbyaddr((char *) &tAddress, sizeof(struct in_addr), AF_INET); + if (ptHost && ptHost->h_name) { + pszNode = ptHost->h_name; + if ((iFlags & NI_NOFQDN) && ((pc = strchr(pszNode, '.')) != NULL)) *pc = '\0'; + } + else { + if (iFlags & NI_NAMEREQD) { + switch (WSAGetLastError()) { + case WSAHOST_NOT_FOUND: return EAI_NONAME; + case WSATRY_AGAIN: return EAI_AGAIN; + case WSANO_RECOVERY: return EAI_FAIL; + default: return EAI_NONAME; + } + } + else pszNode = inet_ntoa(tAddress); + } + } + if (tNodeLength > strlen(pszNode)) _WSPIAPI_STRCPY_S(pszNodeName, tNodeLength, pszNode); + else return EAI_FAIL; + } + + return 0; +} + +typedef struct { + char const *pszName; + FARPROC pfAddress; +} WSPIAPI_FUNCTION; + +#define WSPIAPI_FUNCTION_ARRAY { \ + "getaddrinfo", (FARPROC) WspiapiLegacyGetAddrInfo, \ + "getnameinfo", (FARPROC) WspiapiLegacyGetNameInfo, \ + "freeaddrinfo", (FARPROC) WspiapiLegacyFreeAddrInfo, \ +} + +__inline +FARPROC +WINAPI +WspiapiLoad( + IN WORD wFunction) +{ + HMODULE hLibrary = NULL; + + static BOOL bInitialized = FALSE; + static WSPIAPI_FUNCTION rgtGlobal[] = WSPIAPI_FUNCTION_ARRAY; + static const int iNumGlobal = (sizeof(rgtGlobal) / sizeof(WSPIAPI_FUNCTION)); + WSPIAPI_FUNCTION rgtLocal[] = WSPIAPI_FUNCTION_ARRAY; + FARPROC fScratch = NULL; + int i = 0; + + if (bInitialized) return (rgtGlobal[wFunction].pfAddress); + for (;;) { + CHAR SystemDir[MAX_PATH + 1]; + CHAR Path[MAX_PATH + 8]; + if (GetSystemDirectoryA(SystemDir, MAX_PATH) == 0) break; + _WSPIAPI_STRCPY_S(Path, _WSPIAPI_COUNTOF(Path), SystemDir); + _WSPIAPI_STRCAT_S(Path, _WSPIAPI_COUNTOF(Path), "\\ws2_32"); + hLibrary = LoadLibraryA(Path); + if (hLibrary != NULL) { + fScratch = GetProcAddress(hLibrary, "getaddrinfo"); + if (fScratch == NULL) { + FreeLibrary(hLibrary); + hLibrary = NULL; + } + } + if (hLibrary != NULL) break; + _WSPIAPI_STRCPY_S(Path, _WSPIAPI_COUNTOF(Path), SystemDir); + _WSPIAPI_STRCAT_S(Path, _WSPIAPI_COUNTOF(Path), "\\wship6"); + hLibrary = LoadLibraryA(Path); + if (hLibrary != NULL) { + fScratch = GetProcAddress(hLibrary, "getaddrinfo"); + if (fScratch == NULL) { + FreeLibrary(hLibrary); + hLibrary = NULL; + } + } + break; + } + if (hLibrary != NULL) { + for (i = 0; i < iNumGlobal; i++) { + rgtLocal[i].pfAddress = GetProcAddress(hLibrary, rgtLocal[i].pszName); + if (rgtLocal[i].pfAddress == NULL) { + FreeLibrary(hLibrary); + hLibrary = NULL; + break; + } + } + if (hLibrary != NULL) { + for (i = 0; i < iNumGlobal; i++) + rgtGlobal[i].pfAddress = rgtLocal[i].pfAddress; + } + } + bInitialized = TRUE; + + return (rgtGlobal[wFunction].pfAddress); +} + +__inline +int +WINAPI +WspiapiGetAddrInfo( + IN const char *nodename OPTIONAL, + IN const char *servname OPTIONAL, + IN const struct addrinfo *hints OPTIONAL, + OUT struct addrinfo **res) +{ + int iError; + static WSPIAPI_PGETADDRINFO pfGetAddrInfo = NULL; + + if (!pfGetAddrInfo) pfGetAddrInfo = (WSPIAPI_PGETADDRINFO) WspiapiLoad(0); + iError = (*pfGetAddrInfo)(nodename, servname, hints, res); + WSASetLastError(iError); + + return iError; +} + +__inline +int +WINAPI +WspiapiGetNameInfo( + IN const struct sockaddr *sa, + IN socklen_t salen, + OUT char *host, + IN size_t hostlen, + OUT char *serv, + IN size_t servlen, + IN int flags) +{ + int iError; + static WSPIAPI_PGETNAMEINFO pfGetNameInfo = NULL; + + if (!pfGetNameInfo) pfGetNameInfo = (WSPIAPI_PGETNAMEINFO) WspiapiLoad(1); + iError = (*pfGetNameInfo)(sa, salen, host, hostlen, serv, servlen, flags); + WSASetLastError(iError); + + return iError; +} + +__inline +void +WINAPI +WspiapiFreeAddrInfo( + IN struct addrinfo *ai) +{ + static WSPIAPI_PFREEADDRINFO pfFreeAddrInfo = NULL; + + if (!pfFreeAddrInfo) pfFreeAddrInfo = (WSPIAPI_PFREEADDRINFO) WspiapiLoad(2); + (*pfFreeAddrInfo)(ai); +} + +#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */ + +#ifdef __cplusplus +} +#endif Propchange: branches/header-work/include/psdk/wspiapi.h ------------------------------------------------------------------------------ svn:eol-style = native
14 years, 8 months
1
0
0
0
← Newer
1
...
37
38
39
40
41
42
43
44
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Results per page:
10
25
50
100
200