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
November 2007
----- 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
20 participants
888 discussions
Start a n
N
ew thread
[winesync] 30892: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:52:05 2007 New Revision: 30892 URL:
http://svn.reactos.org/svn/reactos?rev=30892&view=rev
Log: Autosyncing with Wine HEAD Added: trunk/reactos/dll/win32/wldap32/wldap32_Sv.rc (with props) Modified: trunk/reactos/dll/win32/wldap32/add.c trunk/reactos/dll/win32/wldap32/ber.c trunk/reactos/dll/win32/wldap32/bind.c trunk/reactos/dll/win32/wldap32/compare.c trunk/reactos/dll/win32/wldap32/control.c trunk/reactos/dll/win32/wldap32/delete.c trunk/reactos/dll/win32/wldap32/dn.c trunk/reactos/dll/win32/wldap32/error.c trunk/reactos/dll/win32/wldap32/extended.c trunk/reactos/dll/win32/wldap32/init.c trunk/reactos/dll/win32/wldap32/misc.c trunk/reactos/dll/win32/wldap32/modify.c trunk/reactos/dll/win32/wldap32/modrdn.c trunk/reactos/dll/win32/wldap32/option.c trunk/reactos/dll/win32/wldap32/page.c trunk/reactos/dll/win32/wldap32/parse.c trunk/reactos/dll/win32/wldap32/rename.c trunk/reactos/dll/win32/wldap32/search.c trunk/reactos/dll/win32/wldap32/value.c trunk/reactos/dll/win32/wldap32/winldap_private.h trunk/reactos/dll/win32/wldap32/wldap32.h trunk/reactos/dll/win32/wldap32/wldap32.rbuild trunk/reactos/dll/win32/wldap32/wldap32.rc trunk/reactos/dll/win32/wldap32/wldap32_Fr.rc trunk/reactos/dll/win32/wldap32/wldap32_Ko.rc trunk/reactos/dll/win32/wldap32/wldap32_No.rc Modified: trunk/reactos/dll/win32/wldap32/add.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/add.c?re…
============================================================================== --- trunk/reactos/dll/win32/wldap32/add.c (original) +++ trunk/reactos/dll/win32/wldap32/add.c Thu Nov 29 14:52:05 2007 @@ -33,10 +33,6 @@ #include <ldap.h> #endif -#ifndef LDAP_NOT_SUPPORTED -#define LDAP_NOT_SUPPORTED 0x5c -#endif - #include "winldap_private.h" #include "wldap32.h" @@ -53,7 +49,7 @@ */ ULONG CDECL ldap_addA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *attrs[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **attrsW = NULL; @@ -105,12 +101,12 @@ */ ULONG CDECL ldap_addW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *attrs[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **attrsU = NULL; int msg; - + ret = WLDAP32_LDAP_NO_MEMORY; TRACE( "(%p, %s, %p)\n", ld, debugstr_w(dn), attrs ); @@ -149,7 +145,7 @@ ULONG CDECL ldap_add_extA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *attrs[], PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **attrsW = NULL; @@ -217,7 +213,7 @@ ULONG CDECL ldap_add_extW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *attrs[], PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **attrsU = NULL; @@ -269,7 +265,7 @@ ULONG CDECL ldap_add_ext_sA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *attrs[], PLDAPControlA *serverctrls, PLDAPControlA *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **attrsW = NULL; @@ -335,7 +331,7 @@ ULONG CDECL ldap_add_ext_sW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *attrs[], PLDAPControlW *serverctrls, PLDAPControlW *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **attrsU = NULL; @@ -385,7 +381,7 @@ */ ULONG CDECL ldap_add_sA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *attrs[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **attrsW = NULL; @@ -432,7 +428,7 @@ */ ULONG CDECL ldap_add_sW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *attrs[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **attrsU = NULL; Modified: trunk/reactos/dll/win32/wldap32/ber.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/ber.c?re…
============================================================================== --- trunk/reactos/dll/win32/wldap32/ber.c (original) +++ trunk/reactos/dll/win32/wldap32/ber.c Thu Nov 29 14:52:05 2007 @@ -315,7 +315,7 @@ * ... [I] Values to encode. * * RETURNS - * Success: Non-negative number. + * Success: Non-negative number. * Failure: LBER_ERROR * * NOTES @@ -410,7 +410,7 @@ * ... [I] Pointers to values to be decoded. * * RETURNS - * Success: Non-negative number. + * Success: Non-negative number. * Failure: LBER_ERROR * * NOTES Modified: trunk/reactos/dll/win32/wldap32/bind.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/bind.c?r…
============================================================================== --- trunk/reactos/dll/win32/wldap32/bind.c (original) +++ trunk/reactos/dll/win32/wldap32/bind.c Thu Nov 29 14:52:05 2007 @@ -31,9 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -48,7 +45,7 @@ */ ULONG CDECL ldap_bindA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR cred, ULONG method ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *credW = NULL; @@ -97,7 +94,7 @@ */ ULONG CDECL ldap_bindW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR cred, ULONG method ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *credU = NULL; struct berval pwd = { 0, NULL }; @@ -144,7 +141,7 @@ */ ULONG CDECL ldap_bind_sA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR cred, ULONG method ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *credW = NULL; @@ -190,7 +187,7 @@ */ ULONG CDECL ldap_bind_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR cred, ULONG method ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *credU = NULL; struct berval pwd = { 0, NULL }; @@ -233,7 +230,7 @@ const PCHAR mechanism, const BERVAL *cred, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, int *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW, *mechanismW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -285,7 +282,7 @@ * cred [I] Credentials. * serverctrls [I] Array of LDAP server controls. * clientctrls [I] Array of LDAP client controls. - * message [O] Message ID of the bind operation. + * message [O] Message ID of the bind operation. * * RETURNS * Success: LDAP_SUCCESS @@ -299,7 +296,7 @@ const PWCHAR mechanism, const BERVAL *cred, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, int *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU, *mechanismU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -353,7 +350,7 @@ const PCHAR mechanism, const BERVAL *cred, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, PBERVAL *serverdata ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW, *mechanismW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -419,7 +416,7 @@ const PWCHAR mechanism, const BERVAL *cred, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, PBERVAL *serverdata ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU, *mechanismU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -471,7 +468,7 @@ */ ULONG CDECL ldap_simple_bindA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR passwd ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *passwdW = NULL; @@ -515,11 +512,11 @@ * Failure: An LDAP error code. * * NOTES - * Set dn and passwd to NULL to bind as an anonymous user. + * Set dn and passwd to NULL to bind as an anonymous user. */ ULONG CDECL ldap_simple_bindW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR passwd ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *passwdU = NULL; struct berval pwd = { 0, NULL }; @@ -565,7 +562,7 @@ */ ULONG CDECL ldap_simple_bind_sA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR passwd ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *passwdW = NULL; @@ -609,11 +606,11 @@ * Failure: An LDAP error code. * * NOTES - * Set dn and passwd to NULL to bind as an anonymous user. + * Set dn and passwd to NULL to bind as an anonymous user. */ ULONG CDECL ldap_simple_bind_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR passwd ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *passwdU = NULL; struct berval pwd = { 0, NULL }; @@ -660,7 +657,7 @@ */ ULONG CDECL WLDAP32_ldap_unbind( WLDAP32_LDAP *ld ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p)\n", ld ); @@ -688,7 +685,7 @@ */ ULONG CDECL WLDAP32_ldap_unbind_s( WLDAP32_LDAP *ld ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p)\n", ld ); Modified: trunk/reactos/dll/win32/wldap32/compare.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/compare.…
============================================================================== --- trunk/reactos/dll/win32/wldap32/compare.c (original) +++ trunk/reactos/dll/win32/wldap32/compare.c Thu Nov 29 14:52:05 2007 @@ -31,8 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -47,7 +45,7 @@ */ ULONG CDECL ldap_compareA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR attr, PCHAR value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *attrW = NULL, *valueW = NULL; @@ -99,7 +97,7 @@ */ ULONG CDECL ldap_compareW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR attr, PWCHAR value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *attrU = NULL, *valueU = NULL; struct berval val = { 0, NULL }; @@ -153,7 +151,7 @@ struct WLDAP32_berval *data, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *attrW = NULL, *valueW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -229,7 +227,7 @@ struct WLDAP32_berval *data, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *attrU = NULL, *valueU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -292,7 +290,7 @@ ULONG CDECL ldap_compare_ext_sA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR attr, PCHAR value, struct WLDAP32_berval *data, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *attrW = NULL, *valueW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -366,7 +364,7 @@ ULONG CDECL ldap_compare_ext_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR attr, PWCHAR value, struct WLDAP32_berval *data, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *attrU = NULL, *valueU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -428,7 +426,7 @@ */ ULONG CDECL ldap_compare_sA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR attr, PCHAR value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *attrW = NULL, *valueW = NULL; @@ -480,7 +478,7 @@ */ ULONG CDECL ldap_compare_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR attr, PWCHAR value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *attrU = NULL, *valueU = NULL; struct berval val = { 0, NULL }; Modified: trunk/reactos/dll/win32/wldap32/control.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/control.…
============================================================================== --- trunk/reactos/dll/win32/wldap32/control.c (original) +++ trunk/reactos/dll/win32/wldap32/control.c Thu Nov 29 14:52:05 2007 @@ -31,9 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -48,7 +45,7 @@ */ ULONG CDECL ldap_control_freeA( LDAPControlA *control ) { - ULONG ret = LDAP_SUCCESS; + ULONG ret = WLDAP32_LDAP_SUCCESS; #ifdef HAVE_LDAP TRACE( "(%p)\n", control ); @@ -71,7 +68,7 @@ */ ULONG CDECL ldap_control_freeW( LDAPControlW *control ) { - ULONG ret = LDAP_SUCCESS; + ULONG ret = WLDAP32_LDAP_SUCCESS; #ifdef HAVE_LDAP TRACE( "(%p)\n", control ); @@ -88,7 +85,7 @@ */ ULONG CDECL ldap_controls_freeA( LDAPControlA **controls ) { - ULONG ret = LDAP_SUCCESS; + ULONG ret = WLDAP32_LDAP_SUCCESS; #ifdef HAVE_LDAP TRACE( "(%p)\n", controls ); @@ -111,7 +108,7 @@ */ ULONG CDECL ldap_controls_freeW( LDAPControlW **controls ) { - ULONG ret = LDAP_SUCCESS; + ULONG ret = WLDAP32_LDAP_SUCCESS; #ifdef HAVE_LDAP TRACE( "(%p)\n", controls ); @@ -129,7 +126,7 @@ ULONG CDECL ldap_create_sort_controlA( WLDAP32_LDAP *ld, PLDAPSortKeyA *sortkey, UCHAR critical, PLDAPControlA *control ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPSortKeyW **sortkeyW = NULL; LDAPControlW *controlW = NULL; @@ -179,7 +176,7 @@ ULONG CDECL ldap_create_sort_controlW( WLDAP32_LDAP *ld, PLDAPSortKeyW *sortkey, UCHAR critical, PLDAPControlW *control ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPSortKey **sortkeyU = NULL; LDAPControl *controlU = NULL; @@ -212,7 +209,7 @@ INT CDECL ldap_create_vlv_controlA( WLDAP32_LDAP *ld, WLDAP32_LDAPVLVInfo *info, UCHAR critical, LDAPControlA **control ) { - INT ret = LDAP_NOT_SUPPORTED; + INT ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControlW *controlW = NULL; @@ -222,7 +219,7 @@ ret = ldap_create_vlv_controlW( ld, info, critical, &controlW ); - if (ret == LDAP_SUCCESS) + if (ret == WLDAP32_LDAP_SUCCESS) { *control = controlWtoA( controlW ); if (!*control) ret = WLDAP32_LDAP_NO_MEMORY; @@ -258,7 +255,7 @@ INT CDECL ldap_create_vlv_controlW( WLDAP32_LDAP *ld, WLDAP32_LDAPVLVInfo *info, UCHAR critical, LDAPControlW **control ) { - INT ret = LDAP_NOT_SUPPORTED; + INT ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControl *controlU = NULL; @@ -338,7 +335,7 @@ * * RETURNS * LDAP_SUCCESS - * + * * NOTES * Obsolete, use ldap_controls_freeW. */ Modified: trunk/reactos/dll/win32/wldap32/delete.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/delete.c…
============================================================================== --- trunk/reactos/dll/win32/wldap32/delete.c (original) +++ trunk/reactos/dll/win32/wldap32/delete.c Thu Nov 29 14:52:05 2007 @@ -31,8 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -47,7 +45,7 @@ */ ULONG CDECL ldap_deleteA( WLDAP32_LDAP *ld, PCHAR dn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; @@ -87,7 +85,7 @@ */ ULONG CDECL ldap_deleteW( WLDAP32_LDAP *ld, PWCHAR dn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; int msg; @@ -122,7 +120,7 @@ ULONG CDECL ldap_delete_extA( WLDAP32_LDAP *ld, PCHAR dn, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -182,7 +180,7 @@ ULONG CDECL ldap_delete_extW( WLDAP32_LDAP *ld, PWCHAR dn, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -228,7 +226,7 @@ ULONG CDECL ldap_delete_ext_sA( WLDAP32_LDAP *ld, PCHAR dn, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -284,7 +282,7 @@ ULONG CDECL ldap_delete_ext_sW( WLDAP32_LDAP *ld, PWCHAR dn, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -317,7 +315,7 @@ #endif return ret; } - + /*********************************************************************** * ldap_delete_sA (WLDAP32.@) * @@ -325,7 +323,7 @@ */ ULONG CDECL ldap_delete_sA( WLDAP32_LDAP *ld, PCHAR dn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; @@ -360,7 +358,7 @@ */ ULONG CDECL ldap_delete_sW( WLDAP32_LDAP *ld, PWCHAR dn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; Modified: trunk/reactos/dll/win32/wldap32/dn.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/dn.c?rev…
============================================================================== --- trunk/reactos/dll/win32/wldap32/dn.c (original) +++ trunk/reactos/dll/win32/wldap32/dn.c Thu Nov 29 14:52:05 2007 @@ -31,8 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 #endif #include "winldap_private.h" @@ -75,7 +73,7 @@ * dn [I] DN to convert. * * RETURNS - * Success: Pointer to a string containing the user-friendly name. + * Success: Pointer to a string containing the user-friendly name. * Failure: NULL * * NOTES @@ -139,7 +137,7 @@ * * RETURNS * Success: Pointer to a NULL-terminated array that contains the DN - * components. + * components. * Failure: NULL * * NOTES @@ -232,7 +230,7 @@ */ ULONG CDECL ldap_ufn2dnA( PCHAR ufn, PCHAR *dn ) { - ULONG ret = LDAP_SUCCESS; + ULONG ret = WLDAP32_LDAP_SUCCESS; #ifdef HAVE_LDAP PWCHAR ufnW = NULL, dnW = NULL; @@ -268,7 +266,7 @@ * * PARAMS * ufn [I] User-friendly name to convert. - * dn [O] Receives a pointer to a string containing the DN. + * dn [O] Receives a pointer to a string containing the DN. * * RETURNS * Success: LDAP_SUCCESS @@ -279,7 +277,7 @@ */ ULONG CDECL ldap_ufn2dnW( PWCHAR ufn, PWCHAR *dn ) { - ULONG ret = LDAP_SUCCESS; + ULONG ret = WLDAP32_LDAP_SUCCESS; #ifdef HAVE_LDAP char *ufnU = NULL; Modified: trunk/reactos/dll/win32/wldap32/error.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/error.c?…
============================================================================== --- trunk/reactos/dll/win32/wldap32/error.c (original) +++ trunk/reactos/dll/win32/wldap32/error.c Thu Nov 29 14:52:05 2007 @@ -32,9 +32,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -132,7 +129,7 @@ */ ULONG CDECL WLDAP32_ldap_result2error( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *res, ULONG free ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP int error; Modified: trunk/reactos/dll/win32/wldap32/extended.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/extended…
============================================================================== --- trunk/reactos/dll/win32/wldap32/extended.c (original) +++ trunk/reactos/dll/win32/wldap32/extended.c Thu Nov 29 14:52:05 2007 @@ -31,9 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -63,7 +60,7 @@ TRACE( "(%p, 0x%08x)\n", ld, msgid ); if (!ld) return WLDAP32_LDAP_PARAM_ERROR; - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } /*********************************************************************** @@ -74,7 +71,7 @@ ULONG CDECL ldap_extended_operationA( WLDAP32_LDAP *ld, PCHAR oid, struct WLDAP32_berval *data, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *oidW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -138,7 +135,7 @@ ULONG CDECL ldap_extended_operationW( WLDAP32_LDAP *ld, PWCHAR oid, struct WLDAP32_berval *data, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *oidU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -184,7 +181,7 @@ PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, PCHAR *retoid, struct WLDAP32_berval **retdata ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *oidW = NULL, *retoidW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -255,7 +252,7 @@ PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, PWCHAR *retoid, struct WLDAP32_berval **retdata ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *oidU = NULL, *retoidU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; Modified: trunk/reactos/dll/win32/wldap32/init.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/init.c?r…
============================================================================== --- trunk/reactos/dll/win32/wldap32/init.c (original) +++ trunk/reactos/dll/win32/wldap32/init.c Thu Nov 29 14:52:05 2007 @@ -32,9 +32,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -79,7 +76,7 @@ q = p; i = 0; - + while (*p) { if (p[1] != '\0') @@ -90,7 +87,7 @@ res[i] = strdupU( q ); if (!res[i]) goto oom; i++; - + while (isspace( *p )) p++; q = p; } @@ -120,7 +117,7 @@ /* Determine if a URL starts with a known LDAP scheme */ static int has_ldap_scheme( char *url ) { - if (!strncasecmp( url, "ldap://", 7 ) || + if (!strncasecmp( url, "ldap://", 7 ) || !strncasecmp( url, "ldaps://", 8 ) || !strncasecmp( url, "ldapi://", 8 ) || !strncasecmp( url, "cldap://", 8 )) return 1; @@ -134,11 +131,11 @@ static char *join_hostnames( const char *scheme, char **hostnames, ULONG portnumber ) { char *res, *p, *q, **v; - unsigned int i = 0, size = 0; + unsigned int i = 0, size = 0; static const char sep[] = " ", fmt[] = ":%d"; char port[7]; - sprintf( port, fmt, portnumber ); + sprintf( port, fmt, portnumber ); for (v = hostnames; *v; v++) { @@ -153,14 +150,14 @@ size += strlen( *v ); - if (!strchr( q, ':' )) + if (!strchr( q, ':' )) size += strlen( port ); i++; } size += (i - 1) * strlen( sep ); - + res = HeapAlloc( GetProcessHeap(), 0, size + 1 ); if (!res) return NULL; @@ -258,7 +255,7 @@ * The hostname string can be a space separated string of hostnames, * in which case the LDAP runtime will try to connect to the hosts * in order, until a connection can be made. A hostname may have a - * trailing portnumber (separated from the hostname by a ':'), which + * trailing portnumber (separated from the hostname by a ':'), which * will take precedence over the portnumber supplied as a parameter * to this function. */ @@ -297,7 +294,7 @@ /*********************************************************************** * ldap_connect (WLDAP32.@) * - * Connect to an LDAP server. + * Connect to an LDAP server. * * PARAMS * ld [I] Pointer to an LDAP context. @@ -317,7 +314,7 @@ TRACE( "(%p, %p)\n", ld, timeout ); if (!ld) return WLDAP32_LDAP_PARAM_ERROR; - return LDAP_SUCCESS; /* FIXME: do something, e.g. ping the host */ + return WLDAP32_LDAP_SUCCESS; /* FIXME: do something, e.g. ping the host */ } /*********************************************************************** @@ -366,7 +363,7 @@ * The hostname string can be a space separated string of hostnames, * in which case the LDAP runtime will try to connect to the hosts * in order, until a connection can be made. A hostname may have a - * trailing portnumber (separated from the hostname by a ':'), which + * trailing portnumber (separated from the hostname by a ':'), which * will take precedence over the portnumber supplied as a parameter * to this function. The connection will not be made until the first * LDAP function that needs it is called. @@ -449,7 +446,7 @@ * The hostname string can be a space separated string of hostnames, * in which case the LDAP runtime will try to connect to the hosts * in order, until a connection can be made. A hostname may have a - * trailing portnumber (separated from the hostname by a ':'), which + * trailing portnumber (separated from the hostname by a ':'), which * will take precedence over the portnumber supplied as a parameter * to this function. */ @@ -531,7 +528,7 @@ * The hostname string can be a space separated string of hostnames, * in which case the LDAP runtime will try to connect to the hosts * in order, until a connection can be made. A hostname may have a - * trailing portnumber (separated from the hostname by a ':'), which + * trailing portnumber (separated from the hostname by a ':'), which * will take precedence over the portnumber supplied as a parameter * to this function. The connection will not be made until the first * LDAP function that needs it is called. @@ -579,7 +576,7 @@ ULONG CDECL ldap_start_tls_sA( WLDAP32_LDAP *ld, PULONG retval, WLDAP32_LDAPMessage **result, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -630,7 +627,7 @@ ULONG CDECL ldap_start_tls_sW( WLDAP32_LDAP *ld, PULONG retval, WLDAP32_LDAPMessage **result, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -665,7 +662,7 @@ ULONG CDECL ldap_startup( PLDAP_VERSION_INFO version, HANDLE *instance ) { TRACE( "(%p, %p)\n", version, instance ); - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } /*********************************************************************** Modified: trunk/reactos/dll/win32/wldap32/misc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/misc.c?r…
============================================================================== --- trunk/reactos/dll/win32/wldap32/misc.c (original) +++ trunk/reactos/dll/win32/wldap32/misc.c Thu Nov 29 14:52:05 2007 @@ -32,9 +32,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -57,7 +54,7 @@ */ ULONG CDECL WLDAP32_ldap_abandon( WLDAP32_LDAP *ld, ULONG msgid ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p, 0x%08x)\n", ld, msgid ); @@ -112,7 +109,7 @@ TRACE( "(%p, %s)\n", ld, debugstr_w(filter) ); if (!ld) return WLDAP32_LDAP_PARAM_ERROR; - return LDAP_SUCCESS; /* FIXME: do some checks */ + return WLDAP32_LDAP_SUCCESS; /* FIXME: do some checks */ } /*********************************************************************** @@ -121,7 +118,7 @@ ULONG CDECL ldap_cleanup( HANDLE instance ) { TRACE( "(%p)\n", instance ); - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } /*********************************************************************** @@ -160,7 +157,7 @@ */ ULONG CDECL WLDAP32_ldap_count_entries( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p, %p)\n", ld, res ); @@ -187,7 +184,7 @@ */ ULONG CDECL WLDAP32_ldap_count_references( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP_COUNT_REFERENCES TRACE( "(%p, %p)\n", ld, res ); @@ -258,7 +255,7 @@ else { escape_filter_element( src, srclen, dst ); - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } } @@ -317,7 +314,7 @@ /*********************************************************************** * ldap_first_attributeW (WLDAP32.@) * - * Get the first attribute for a given entry. + * Get the first attribute for a given entry. * * PARAMS * ld [I] Pointer to an LDAP context. @@ -364,7 +361,7 @@ * Failure: NULL * * NOTES - * The returned entry will be freed when the message is freed. + * The returned entry will be freed when the message is freed. */ WLDAP32_LDAPMessage * CDECL WLDAP32_ldap_first_entry( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *res ) { @@ -442,7 +439,7 @@ */ ULONG CDECL WLDAP32_ldap_msgfree( WLDAP32_LDAPMessage *res ) { - ULONG ret = LDAP_SUCCESS; + ULONG ret = WLDAP32_LDAP_SUCCESS; #ifdef HAVE_LDAP TRACE( "(%p)\n", res ); @@ -633,7 +630,7 @@ * src [I] Wide character string to convert. * srclen [I] Size of string to convert, in characters. * dst [O] Pointer to a buffer that receives the converted string. - * dstlen [I] Size of the destination buffer in characters. + * dstlen [I] Size of the destination buffer in characters. * * RETURNS * The number of characters written into the destination buffer. @@ -655,7 +652,7 @@ * src [I] UTF8 string to convert. * srclen [I] Size of string to convert, in characters. * dst [O] Pointer to a buffer that receives the converted string. - * dstlen [I] Size of the destination buffer in characters. + * dstlen [I] Size of the destination buffer in characters. * * RETURNS * The number of characters written into the destination buffer. Modified: trunk/reactos/dll/win32/wldap32/modify.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/modify.c…
============================================================================== --- trunk/reactos/dll/win32/wldap32/modify.c (original) +++ trunk/reactos/dll/win32/wldap32/modify.c Thu Nov 29 14:52:05 2007 @@ -33,10 +33,6 @@ #include <ldap.h> #endif -#ifndef LDAP_NOT_SUPPORTED -#define LDAP_NOT_SUPPORTED 0x5c -#endif - #include "winldap_private.h" #include "wldap32.h" @@ -53,7 +49,7 @@ */ ULONG CDECL ldap_modifyA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *mods[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **modsW = NULL; @@ -105,7 +101,7 @@ */ ULONG CDECL ldap_modifyW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *mods[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **modsU = NULL; @@ -150,7 +146,7 @@ ULONG CDECL ldap_modify_extA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *mods[], PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **modsW = NULL; @@ -218,7 +214,7 @@ ULONG CDECL ldap_modify_extW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *mods[], PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **modsU = NULL; @@ -270,7 +266,7 @@ ULONG CDECL ldap_modify_ext_sA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *mods[], PLDAPControlA *serverctrls, PLDAPControlA *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **modsW = NULL; @@ -336,7 +332,7 @@ ULONG CDECL ldap_modify_ext_sW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *mods[], PLDAPControlW *serverctrls, PLDAPControlW *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **modsU = NULL; @@ -386,7 +382,7 @@ */ ULONG CDECL ldap_modify_sA( WLDAP32_LDAP *ld, PCHAR dn, LDAPModA *mods[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL; LDAPModW **modsW = NULL; @@ -433,7 +429,7 @@ */ ULONG CDECL ldap_modify_sW( WLDAP32_LDAP *ld, PWCHAR dn, LDAPModW *mods[] ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL; LDAPMod **modsU = NULL; Modified: trunk/reactos/dll/win32/wldap32/modrdn.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/modrdn.c…
============================================================================== --- trunk/reactos/dll/win32/wldap32/modrdn.c (original) +++ trunk/reactos/dll/win32/wldap32/modrdn.c Thu Nov 29 14:52:05 2007 @@ -31,8 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -47,7 +45,7 @@ */ ULONG CDECL ldap_modrdnA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR newdn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *newdnW = NULL; @@ -96,7 +94,7 @@ */ ULONG CDECL ldap_modrdnW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR newdn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *newdnU = NULL; int msg; @@ -137,7 +135,7 @@ */ ULONG CDECL ldap_modrdn2A( WLDAP32_LDAP *ld, PCHAR dn, PCHAR newdn, INT delete ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *newdnW = NULL; @@ -187,7 +185,7 @@ */ ULONG CDECL ldap_modrdn2W( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR newdn, INT delete ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *newdnU = NULL; int msg; @@ -228,7 +226,7 @@ */ ULONG CDECL ldap_modrdn2_sA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR newdn, INT delete ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *newdnW = NULL; @@ -273,7 +271,7 @@ */ ULONG CDECL ldap_modrdn2_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR newdn, INT delete ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *newdnU = NULL; @@ -308,7 +306,7 @@ */ ULONG CDECL ldap_modrdn_sA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR newdn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *newdnW = NULL; @@ -352,7 +350,7 @@ */ ULONG CDECL ldap_modrdn_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR newdn ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *newdnU = NULL; Modified: trunk/reactos/dll/win32/wldap32/option.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/option.c…
============================================================================== --- trunk/reactos/dll/win32/wldap32/option.c (original) +++ trunk/reactos/dll/win32/wldap32/option.c Thu Nov 29 14:52:05 2007 @@ -31,8 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -47,7 +45,7 @@ */ ULONG CDECL ldap_get_optionA( WLDAP32_LDAP *ld, int option, void *value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); @@ -159,11 +157,11 @@ case WLDAP32_LDAP_OPT_SSPI_FLAGS: case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: FIXME( "Unsupported option: 0x%02x\n", option ); - return LDAP_NOT_SUPPORTED; + return WLDAP32_LDAP_NOT_SUPPORTED; default: FIXME( "Unknown option: 0x%02x\n", option ); - return LDAP_LOCAL_ERROR; + return WLDAP32_LDAP_LOCAL_ERROR; } #endif @@ -186,7 +184,7 @@ */ ULONG CDECL ldap_get_optionW( WLDAP32_LDAP *ld, int option, void *value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); @@ -265,7 +263,7 @@ case WLDAP32_LDAP_OPT_REBIND_FN: case WLDAP32_LDAP_OPT_RESTART: case WLDAP32_LDAP_OPT_THREAD_FN_PTRS: - return LDAP_LOCAL_ERROR; + return WLDAP32_LDAP_LOCAL_ERROR; case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE: case WLDAP32_LDAP_OPT_AUTO_RECONNECT: @@ -298,11 +296,11 @@ case WLDAP32_LDAP_OPT_SSPI_FLAGS: case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: FIXME( "Unsupported option: 0x%02x\n", option ); - return LDAP_NOT_SUPPORTED; + return WLDAP32_LDAP_NOT_SUPPORTED; default: FIXME( "Unknown option: 0x%02x\n", option ); - return LDAP_LOCAL_ERROR; + return WLDAP32_LDAP_LOCAL_ERROR; } #endif @@ -316,7 +314,7 @@ */ ULONG CDECL ldap_set_optionA( WLDAP32_LDAP *ld, int option, void *value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); @@ -353,11 +351,11 @@ case WLDAP32_LDAP_OPT_REBIND_FN: case WLDAP32_LDAP_OPT_RESTART: case WLDAP32_LDAP_OPT_THREAD_FN_PTRS: - return LDAP_LOCAL_ERROR; + return WLDAP32_LDAP_LOCAL_ERROR; case WLDAP32_LDAP_OPT_API_FEATURE_INFO: case WLDAP32_LDAP_OPT_API_INFO: - return LDAP_UNWILLING_TO_PERFORM; + return WLDAP32_LDAP_UNWILLING_TO_PERFORM; case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE: case WLDAP32_LDAP_OPT_AUTO_RECONNECT: @@ -389,11 +387,11 @@ case WLDAP32_LDAP_OPT_SSPI_FLAGS: case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: FIXME( "Unsupported option: 0x%02x\n", option ); - return LDAP_NOT_SUPPORTED; + return WLDAP32_LDAP_NOT_SUPPORTED; default: FIXME( "Unknown option: 0x%02x\n", option ); - return LDAP_LOCAL_ERROR; + return WLDAP32_LDAP_LOCAL_ERROR; } #endif @@ -416,10 +414,10 @@ * * NOTES * Set value to LDAP_OPT_ON or LDAP_OPT_OFF for on/off options. - */ + */ ULONG CDECL ldap_set_optionW( WLDAP32_LDAP *ld, int option, void *value ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); @@ -456,11 +454,11 @@ case WLDAP32_LDAP_OPT_REBIND_FN: case WLDAP32_LDAP_OPT_RESTART: case WLDAP32_LDAP_OPT_THREAD_FN_PTRS: - return LDAP_LOCAL_ERROR; + return WLDAP32_LDAP_LOCAL_ERROR; case WLDAP32_LDAP_OPT_API_FEATURE_INFO: case WLDAP32_LDAP_OPT_API_INFO: - return LDAP_UNWILLING_TO_PERFORM; + return WLDAP32_LDAP_UNWILLING_TO_PERFORM; case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE: case WLDAP32_LDAP_OPT_AUTO_RECONNECT: @@ -492,11 +490,11 @@ case WLDAP32_LDAP_OPT_SSPI_FLAGS: case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: FIXME( "Unsupported option: 0x%02x\n", option ); - return LDAP_NOT_SUPPORTED; + return WLDAP32_LDAP_NOT_SUPPORTED; default: FIXME( "Unknown option: 0x%02x\n", option ); - return LDAP_LOCAL_ERROR; + return WLDAP32_LDAP_LOCAL_ERROR; } #endif Modified: trunk/reactos/dll/win32/wldap32/page.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/page.c?r…
============================================================================== --- trunk/reactos/dll/win32/wldap32/page.c (original) +++ trunk/reactos/dll/win32/wldap32/page.c Thu Nov 29 14:52:05 2007 @@ -31,9 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -53,7 +50,7 @@ ULONG CDECL ldap_create_page_controlA( WLDAP32_LDAP *ld, ULONG pagesize, struct WLDAP32_berval *cookie, UCHAR critical, PLDAPControlA *control ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControlW *controlW = NULL; @@ -126,7 +123,7 @@ *control = ctrl; - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } #endif /* HAVE_LDAP */ @@ -162,7 +159,7 @@ return create_page_control( pagesize, cookie, critical, control ); #else - return LDAP_NOT_SUPPORTED; + return WLDAP32_LDAP_NOT_SUPPORTED; #endif } @@ -172,7 +169,7 @@ FIXME( "(%p, %p, 0x%08x, %p)\n", ld, search, pagesize, message ); if (!ld) return ~0UL; - return LDAP_NOT_SUPPORTED; + return WLDAP32_LDAP_NOT_SUPPORTED; } ULONG CDECL ldap_get_next_page_s( WLDAP32_LDAP *ld, PLDAPSearch search, @@ -183,13 +180,13 @@ pagesize, count, results ); if (!ld) return ~0UL; - return LDAP_NOT_SUPPORTED; + return WLDAP32_LDAP_NOT_SUPPORTED; } ULONG CDECL ldap_get_paged_count( WLDAP32_LDAP *ld, PLDAPSearch search, ULONG *count, WLDAP32_LDAPMessage *results ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP FIXME( "(%p, %p, %p, %p)\n", ld, search, count, results ); @@ -206,7 +203,7 @@ ULONG CDECL ldap_parse_page_controlA( WLDAP32_LDAP *ld, PLDAPControlA *ctrls, ULONG *count, struct WLDAP32_berval **cookie ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControlW **ctrlsW = NULL; @@ -220,7 +217,7 @@ ret = ldap_parse_page_controlW( ld, ctrlsW, count, cookie ); controlarrayfreeW( ctrlsW ); - + #endif return ret; } @@ -231,7 +228,7 @@ ULONG CDECL ldap_parse_page_controlW( WLDAP32_LDAP *ld, PLDAPControlW *ctrls, ULONG *count, struct WLDAP32_berval **cookie ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControlW *control = NULL; BerElement *ber; @@ -250,8 +247,8 @@ } if (!control) - return WLDAP32_LDAP_CONTROL_NOT_FOUND; - + return WLDAP32_LDAP_CONTROL_NOT_FOUND; + ber = ber_init( &((LDAPControl *)control)->ldctl_value ); if (!ber) return WLDAP32_LDAP_NO_MEMORY; @@ -260,10 +257,10 @@ if ( tag == LBER_ERROR ) ret = WLDAP32_LDAP_DECODING_ERROR; else - ret = LDAP_SUCCESS; + ret = WLDAP32_LDAP_SUCCESS; ber_free( ber, 1 ); - + #endif return ret; } @@ -273,7 +270,7 @@ FIXME( "(%p, %p)\n", ld, search ); if (!ld) return ~0UL; - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } PLDAPSearch CDECL ldap_search_init_pageA( WLDAP32_LDAP *ld, PCHAR dn, ULONG scope, Modified: trunk/reactos/dll/win32/wldap32/parse.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/parse.c?…
============================================================================== --- trunk/reactos/dll/win32/wldap32/parse.c (original) +++ trunk/reactos/dll/win32/wldap32/parse.c Thu Nov 29 14:52:05 2007 @@ -31,8 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -48,7 +46,7 @@ ULONG CDECL ldap_parse_extended_resultA( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *result, PCHAR *oid, struct WLDAP32_berval **data, BOOLEAN free ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *oidW = NULL; @@ -72,7 +70,7 @@ /*********************************************************************** * ldap_parse_extended_resultW (WLDAP32.@) * - * Parse the result of an extended operation. + * Parse the result of an extended operation. * * PARAMS * ld [I] Pointer to an LDAP context. @@ -92,7 +90,7 @@ ULONG CDECL ldap_parse_extended_resultW( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *result, PWCHAR *oid, struct WLDAP32_berval **data, BOOLEAN free ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *oidU = NULL; @@ -121,7 +119,7 @@ ULONG CDECL ldap_parse_referenceA( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *message, PCHAR **referrals ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR **referralsW = NULL; @@ -134,7 +132,7 @@ *referrals = strarrayWtoA( referralsW ); ldap_value_freeW( referralsW ); -#endif +#endif return ret; } @@ -158,14 +156,14 @@ ULONG CDECL ldap_parse_referenceW( WLDAP32_LDAP *ld, WLDAP32_LDAPMessage *message, PWCHAR **referrals ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP_PARSE_REFERENCE char **referralsU = NULL; TRACE( "(%p, %p, %p)\n", ld, message, referrals ); if (!ld) return ~0UL; - + ret = ldap_parse_reference( ld, message, &referralsU, NULL, 0 ); *referrals = strarrayUtoW( referralsU ); @@ -184,7 +182,7 @@ ULONG *retcode, PCHAR *matched, PCHAR *error, PCHAR **referrals, PLDAPControlA **serverctrls, BOOLEAN free ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR **matchedW = NULL, **errorW = NULL, **referralsW = NULL; LDAPControlW **serverctrlsW = NULL; @@ -215,7 +213,7 @@ /*********************************************************************** * ldap_parse_resultW (WLDAP32.@) * - * Parse a result message. + * Parse a result message. * * PARAMS * ld [I] Pointer to an LDAP context. @@ -241,7 +239,7 @@ ULONG *retcode, PWCHAR *matched, PWCHAR *error, PWCHAR **referrals, PLDAPControlW **serverctrls, BOOLEAN free ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char **matchedU = NULL, **errorU = NULL, **referralsU = NULL; LDAPControl **serverctrlsU = NULL; @@ -277,7 +275,7 @@ ULONG CDECL ldap_parse_sort_controlA( WLDAP32_LDAP *ld, PLDAPControlA *control, ULONG *result, PCHAR *attr ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *attrW = NULL; LDAPControlW **controlW = NULL; @@ -321,11 +319,17 @@ ULONG CDECL ldap_parse_sort_controlW( WLDAP32_LDAP *ld, PLDAPControlW *control, ULONG *result, PWCHAR *attr ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *attrU = NULL; LDAPControl **controlU = NULL; +#ifdef HAVE_LDAP_PARSE_SORT_CONTROL unsigned long res; +#elif defined(HAVE_LDAP_PARSE_SORTRESPONSE_CONTROL) + ber_int_t res; + LDAPControl *sortcontrol = NULL; + unsigned int i; +#endif TRACE( "(%p, %p, %p, %p)\n", ld, control, result, attr ); @@ -336,10 +340,29 @@ if (!controlU) return WLDAP32_LDAP_NO_MEMORY; } - ret = ldap_parse_sort_control( ld, controlU, &res, &attrU ); - - *result = res; - *attr = strUtoW( attrU ); +#ifdef HAVE_LDAP_PARSE_SORT_CONTROL + if (!(ret = ldap_parse_sort_control( ld, controlU, &res, &attrU ))) + { + *result = res; + *attr = strUtoW( attrU ); + } +#elif defined(HAVE_LDAP_PARSE_SORTRESPONSE_CONTROL) + for (i = 0; controlU[i]; i++) + { + if (!strcmp( LDAP_SERVER_RESP_SORT_OID, controlU[i]->ldctl_oid )) + sortcontrol = controlU[i]; + } + if (!sortcontrol) + { + controlarrayfreeU( controlU ); + return WLDAP32_LDAP_CONTROL_NOT_FOUND; + } + if (!(ret = ldap_parse_sortresponse_control( ld, sortcontrol, &res, &attrU ))) + { + *result = res; + *attr = strUtoW( attrU ); + } +#endif controlarrayfreeU( controlU ); #endif @@ -355,7 +378,7 @@ PULONG targetpos, PULONG listcount, struct WLDAP32_berval **context, PINT errcode ) { - int ret = LDAP_NOT_SUPPORTED; + int ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControlW **controlW = NULL; @@ -386,7 +409,7 @@ * PARAMS * ld [I] Pointer to an LDAP context. * control [I] Controls obtained from a result message. - * targetpos [O] Positition of the target in the result list. + * targetpos [O] Positition of the target in the result list. * listcount [O] Estimate of the number of results in the list. * context [O] Server side context. * errcode [O] Error code from the listview operation. @@ -402,10 +425,16 @@ PULONG targetpos, PULONG listcount, struct WLDAP32_berval **context, PINT errcode ) { - int ret = LDAP_NOT_SUPPORTED; + int ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP LDAPControl **controlU = NULL; +#ifdef HAVE_LDAP_PARSE_VLV_CONTROL unsigned long pos, count; +#elif defined(HAVE_LDAP_PARSE_VLVRESPONSE_CONTROL) + ber_int_t pos, count; + LDAPControl *vlvcontrol = NULL; + unsigned int i; +#endif TRACE( "(%p, %p, %p, %p, %p, %p)\n", ld, control, targetpos, listcount, context, errcode ); @@ -417,11 +446,31 @@ if (!controlU) return WLDAP32_LDAP_NO_MEMORY; } - ret = ldap_parse_vlv_control( ld, controlU, &pos, &count, - (struct berval **)context, errcode ); - - *targetpos = pos; - *listcount = count; +#ifdef HAVE_LDAP_PARSE_VLV_CONTROL + if (!(ret = ldap_parse_vlv_control( ld, controlU, &pos, &count, + (struct berval **)context, errcode ))) + { + *targetpos = pos; + *listcount = count; + } +#elif defined(HAVE_LDAP_PARSE_VLVRESPONSE_CONTROL) + for (i = 0; controlU[i]; i++) + { + if (!strcmp( LDAP_CONTROL_VLVRESPONSE, controlU[i]->ldctl_oid )) + vlvcontrol = controlU[i]; + } + if (!vlvcontrol) + { + controlarrayfreeU( controlU ); + return WLDAP32_LDAP_CONTROL_NOT_FOUND; + } + if (!(ret = ldap_parse_vlvresponse_control( ld, vlvcontrol, &pos, &count, + (struct berval **)context, errcode ))) + { + *targetpos = pos; + *listcount = count; + } +#endif controlarrayfreeU( controlU ); #endif Modified: trunk/reactos/dll/win32/wldap32/rename.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/rename.c…
============================================================================== --- trunk/reactos/dll/win32/wldap32/rename.c (original) +++ trunk/reactos/dll/win32/wldap32/rename.c Thu Nov 29 14:52:05 2007 @@ -31,8 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -49,7 +47,7 @@ PCHAR newparent, INT delete, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *newrdnW = NULL, *newparentW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -125,7 +123,7 @@ PWCHAR newparent, INT delete, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *newrdnU = NULL, *newparentU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -182,7 +180,7 @@ PCHAR newparent, INT delete, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *dnW = NULL, *newrdnW = NULL, *newparentW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -246,12 +244,12 @@ * RETURNS * Success: LDAP_SUCCESS * Failure: An LDAP error code. - */ + */ ULONG CDECL ldap_rename_ext_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR newrdn, PWCHAR newparent, INT delete, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *dnU = NULL, *newrdnU = NULL, *newparentU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; Modified: trunk/reactos/dll/win32/wldap32/search.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/search.c…
============================================================================== --- trunk/reactos/dll/win32/wldap32/search.c (original) +++ trunk/reactos/dll/win32/wldap32/search.c Thu Nov 29 14:52:05 2007 @@ -31,9 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -49,7 +46,7 @@ ULONG CDECL ldap_searchA( WLDAP32_LDAP *ld, PCHAR base, ULONG scope, PCHAR filter, PCHAR attrs[], ULONG attrsonly ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *baseW = NULL, *filterW = NULL, **attrsW = NULL; @@ -110,7 +107,7 @@ ULONG CDECL ldap_searchW( WLDAP32_LDAP *ld, PWCHAR base, ULONG scope, PWCHAR filter, PWCHAR attrs[], ULONG attrsonly ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *baseU = NULL, *filterU = NULL, **attrsU = NULL; int msg; @@ -161,7 +158,7 @@ PCHAR filter, PCHAR attrs[], ULONG attrsonly, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, ULONG timelimit, ULONG sizelimit, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *baseW = NULL, *filterW = NULL, **attrsW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -242,7 +239,7 @@ PWCHAR filter, PWCHAR attrs[], ULONG attrsonly, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, ULONG timelimit, ULONG sizelimit, ULONG *message ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *baseU = NULL, *filterU = NULL, **attrsU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -303,7 +300,7 @@ PCHAR filter, PCHAR attrs[], ULONG attrsonly, PLDAPControlA *serverctrls, PLDAPControlA *clientctrls, struct l_timeval* timeout, ULONG sizelimit, WLDAP32_LDAPMessage **res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *baseW = NULL, *filterW = NULL, **attrsW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; @@ -381,7 +378,7 @@ PWCHAR filter, PWCHAR attrs[], ULONG attrsonly, PLDAPControlW *serverctrls, PLDAPControlW *clientctrls, struct l_timeval* timeout, ULONG sizelimit, WLDAP32_LDAPMessage **res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *baseU = NULL, *filterU = NULL, **attrsU = NULL; LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; @@ -437,7 +434,7 @@ ULONG CDECL ldap_search_sA( WLDAP32_LDAP *ld, PCHAR base, ULONG scope, PCHAR filter, PCHAR attrs[], ULONG attrsonly, WLDAP32_LDAPMessage **res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *baseW = NULL, *filterW = NULL, **attrsW = NULL; @@ -497,7 +494,7 @@ ULONG CDECL ldap_search_sW( WLDAP32_LDAP *ld, PWCHAR base, ULONG scope, PWCHAR filter, PWCHAR attrs[], ULONG attrsonly, WLDAP32_LDAPMessage **res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *baseU = NULL, *filterU = NULL, **attrsU = NULL; @@ -542,7 +539,7 @@ const PCHAR filter, PCHAR attrs[], ULONG attrsonly, struct l_timeval *timeout, WLDAP32_LDAPMessage **res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR *baseW = NULL, *filterW = NULL, **attrsW = NULL; @@ -606,7 +603,7 @@ const PWCHAR filter, PWCHAR attrs[], ULONG attrsonly, struct l_timeval *timeout, WLDAP32_LDAPMessage **res ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP char *baseU = NULL, *filterU = NULL, **attrsU = NULL; Modified: trunk/reactos/dll/win32/wldap32/value.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/value.c?…
============================================================================== --- trunk/reactos/dll/win32/wldap32/value.c (original) +++ trunk/reactos/dll/win32/wldap32/value.c Thu Nov 29 14:52:05 2007 @@ -31,9 +31,6 @@ #ifdef HAVE_LDAP_H #include <ldap.h> -#else -#define LDAP_SUCCESS 0x00 -#define LDAP_NOT_SUPPORTED 0x5c #endif #include "winldap_private.h" @@ -59,7 +56,7 @@ */ ULONG CDECL WLDAP32_ldap_count_values_len( struct WLDAP32_berval **vals ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP TRACE( "(%p)\n", vals ); @@ -76,7 +73,7 @@ */ ULONG CDECL ldap_count_valuesA( PCHAR *vals ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR **valsW = NULL; @@ -112,7 +109,7 @@ */ ULONG CDECL ldap_count_valuesW( PWCHAR *vals ) { - ULONG ret = LDAP_NOT_SUPPORTED; + ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; #ifdef HAVE_LDAP WCHAR **p = vals; @@ -193,9 +190,9 @@ while (i > 0) HeapFree( GetProcessHeap(), 0, str[--i] ); HeapFree( GetProcessHeap(), 0, str ); return NULL; - } + } i++; - p++; + p++; } str[i] = NULL; return str; @@ -340,7 +337,7 @@ ldap_value_free_len( (struct berval **)vals ); #endif - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } /*********************************************************************** @@ -353,7 +350,7 @@ TRACE( "(%p)\n", vals ); strarrayfreeA( vals ); - return LDAP_SUCCESS; + return WLDAP32_LDAP_SUCCESS; } /*********************************************************************** @@ -373,5 +370,5 @@ TRACE( "(%p)\n", vals ); strarrayfreeW( vals ); - return LDAP_SUCCESS; -} + return WLDAP32_LDAP_SUCCESS; +} Modified: trunk/reactos/dll/win32/wldap32/winldap_private.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/winldap_…
============================================================================== --- trunk/reactos/dll/win32/wldap32/winldap_private.h (original) +++ trunk/reactos/dll/win32/wldap32/winldap_private.h Thu Nov 29 14:52:05 2007 @@ -23,6 +23,8 @@ */ typedef enum { + WLDAP32_LDAP_SUCCESS = 0x00, + WLDAP32_LDAP_UNWILLING_TO_PERFORM = 0x35, WLDAP32_LDAP_SERVER_DOWN = 0x51, WLDAP32_LDAP_LOCAL_ERROR = 0x52, WLDAP32_LDAP_ENCODING_ERROR = 0x53, @@ -189,6 +191,14 @@ #define LDAP_PAGED_RESULT_OID_STRING "1.2.840.113556.1.4.319" #define LDAP_PAGED_RESULT_OID_STRING_W (const WCHAR []){'1','.','2','.', \ '8','4','0','.','1','1','3','5','5','6','.','1','.','4','.','3','1','9',0} + +#define LDAP_SERVER_RESP_SORT_OID "1.2.840.113556.1.4.474" +#define LDAP_SERVER_RESP_SORT_OID_W (const WCHAR []){'1','.','2','.', \ + '8','4','0','.','1','1','3','5','5','6','.','1','.','4','.','4','7','4',0} + +#define LDAP_CONTROL_VLVRESPONSE "2.16.840.1.113730.3.4.10" +#define LDAP_CONTROL_VLVRESPONSE_W (const WCHAR []){'2','.','1','6','.', \ + '8','4','0','.','1','.','1','1','3','7','3','0','.','3','.','4','.','1','0',0} typedef struct ldapcontrolA { Modified: trunk/reactos/dll/win32/wldap32/wldap32.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/wldap32.…
============================================================================== --- trunk/reactos/dll/win32/wldap32/wldap32.h (original) +++ trunk/reactos/dll/win32/wldap32/wldap32.h Thu Nov 29 14:52:05 2007 @@ -443,8 +443,8 @@ } controlW->ldctl_oid = strAtoW( control->ldctl_oid ); - controlW->ldctl_value.bv_len = len; - controlW->ldctl_value.bv_val = val; + controlW->ldctl_value.bv_len = len; + controlW->ldctl_value.bv_val = val; controlW->ldctl_iscritical = control->ldctl_iscritical; return controlW; @@ -471,7 +471,7 @@ } controlA->ldctl_oid = strWtoA( control->ldctl_oid ); - controlA->ldctl_value.bv_len = len; + controlA->ldctl_value.bv_len = len; controlA->ldctl_value.bv_val = val; controlA->ldctl_iscritical = control->ldctl_iscritical; @@ -499,8 +499,8 @@ } controlU->ldctl_oid = strWtoU( control->ldctl_oid ); - controlU->ldctl_value.bv_len = len; - controlU->ldctl_value.bv_val = val; + controlU->ldctl_value.bv_len = len; + controlU->ldctl_value.bv_val = val; controlU->ldctl_iscritical = control->ldctl_iscritical; return controlU; @@ -527,10 +527,10 @@ } controlW->ldctl_oid = strUtoW( control->ldctl_oid ); - controlW->ldctl_value.bv_len = len; - controlW->ldctl_value.bv_val = val; + controlW->ldctl_value.bv_len = len; + controlW->ldctl_value.bv_val = val; controlW->ldctl_iscritical = control->ldctl_iscritical; - + return controlW; } Modified: trunk/reactos/dll/win32/wldap32/wldap32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/wldap32.…
============================================================================== --- trunk/reactos/dll/win32/wldap32/wldap32.rbuild (original) +++ trunk/reactos/dll/win32/wldap32/wldap32.rbuild Thu Nov 29 14:52:05 2007 @@ -1,12 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="wldap32" type="win32dll" baseaddress="${BASEADDRESS_WLDAP32}" installbase="system32" installname="wldap32.dll" allowwarnings="true"> <importlibrary definition="wldap32.spec.def" /> <include base="wldap32">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>user32</library> <library>kernel32</library> Modified: trunk/reactos/dll/win32/wldap32/wldap32.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/wldap32.…
============================================================================== --- trunk/reactos/dll/win32/wldap32/wldap32.rc (original) +++ trunk/reactos/dll/win32/wldap32/wldap32.rc Thu Nov 29 14:52:05 2007 @@ -30,4 +30,5 @@ #include "wldap32_Nl.rc" #include "wldap32_No.rc" #include "wldap32_Ru.rc" +#include "wldap32_Sv.rc" #include "wldap32_Tr.rc" Modified: trunk/reactos/dll/win32/wldap32/wldap32_Fr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/wldap32_…
============================================================================== --- trunk/reactos/dll/win32/wldap32/wldap32_Fr.rc (original) +++ trunk/reactos/dll/win32/wldap32/wldap32_Fr.rc Thu Nov 29 14:52:05 2007 @@ -117,7 +117,7 @@ 92 "Opération non supportée par cette version du protocole LDAP" 93 "Le contrôle spécifié n'a pas été trouvé dans le message" 94 "Pas de résultat dans le message" - 95 "Plusde résultats retournés" + 95 "Plus de résultats retournés" 96 "Boucle lors du traitement des référants" 97 "Limite du nombre de référents dépassée" } Modified: trunk/reactos/dll/win32/wldap32/wldap32_Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/wldap32_…
============================================================================== --- trunk/reactos/dll/win32/wldap32/wldap32_Ko.rc (original) +++ trunk/reactos/dll/win32/wldap32/wldap32_Ko.rc Thu Nov 29 14:52:05 2007 @@ -2,7 +2,7 @@ * Korean resources for WLDAP32 * * Copyright 2005 YunSong Hwang - * + * * 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 Modified: trunk/reactos/dll/win32/wldap32/wldap32_No.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/wldap32_…
============================================================================== --- trunk/reactos/dll/win32/wldap32/wldap32_No.rc (original) +++ trunk/reactos/dll/win32/wldap32/wldap32_No.rc Thu Nov 29 14:52:05 2007 @@ -18,7 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL +LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL STRINGTABLE DISCARDABLE { Added: trunk/reactos/dll/win32/wldap32/wldap32_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wldap32/wldap32_…
============================================================================== --- trunk/reactos/dll/win32/wldap32/wldap32_Sv.rc (added) +++ trunk/reactos/dll/win32/wldap32/wldap32_Sv.rc Thu Nov 29 14:52:05 2007 @@ -1,0 +1,123 @@ +/* + * Swedish resources for WLDAP32 + * + * Copyright 2007 Daniel Nylander + * + * 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 + */ + +LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + 0 "Lyckades" + 1 "Operations Error" + 2 "Protokollfel" + 3 "Time Limit Exceeded" + 4 "Size Limit Exceeded" + 5 "Compare False" + 6 "Compare True" + 7 "Authentication Method Not Supported" + 8 "Strong Authentication Required" + 9 "Referral (v2)" + 10 "Referral" + 11 "Administration Limit Exceeded" + 12 "Unavailable Critical Extension" + 13 "Confidentiality Required" + 14 "" + 15 "" + 16 "Inget sådant attribut" + 17 "Odefinierad typ" + 18 "Inappropriate Matching" + 19 "Constraint Violation" + 20 "Attribut eller värde finns" + 21 "Ogiltig syntax" + 22 "" + 23 "" + 24 "" + 25 "" + 26 "" + 27 "" + 28 "" + 29 "" + 30 "" + 31 "" + 32 "Inget sådant objekt" + 33 "Alias Problem" + 34 "Invalid DN Syntax" + 35 "Is Leaf" + 36 "Alias Dereference Problem" + 37 "" + 38 "" + 39 "" + 40 "" + 41 "" + 42 "" + 43 "" + 44 "" + 45 "" + 46 "" + 47 "" + 48 "Inappropriate Authentication" + 49 "Invalid Credentials" + 50 "Insufficient Rights" + 51 "Upptagen" + 52 "Otillgänglig" + 53 "Unwilling To Perform" + 54 "Loop Detected" + 55 "" + 56 "" + 57 "" + 58 "" + 59 "" + 60 "Sort Control Missing" + 61 "Index range error" + 62 "" + 63 "" + 64 "Naming Violation" + 65 "Object Class Violation" + 66 "Not allowed on Non-leaf" + 67 "Not allowed on RDN" + 68 "Finns redan" + 69 "No Object Class Mods" + 70 "Results Too Large" + 71 "Affects Multiple DSAs" + 72 "" + 73 "" + 74 "" + 75 "" + 76 "" + 77 "" + 78 "" + 79 "" + 80 "Other" + 81 "Server Down" + 82 "Lokalt fel" + 83 "Encoding Error" + 84 "Decoding Error" + 85 "Tidsgräns överstigen" + 86 "Auth Unknown" + 87 "Filter Error" + 88 "User Cancelled" + 89 "Parameter Error" + 90 "No Memory" + 91 "Can't connect to the LDAP server" + 92 "Operation not supported by this version of the LDAP protocol" + 93 "Specified control was not found in message" + 94 "No result present in message" + 95 "More results returned" + 96 "Loop while handling referrals" + 97 "Referral hop limit exceeded" +} Propchange: trunk/reactos/dll/win32/wldap32/wldap32_Sv.rc ------------------------------------------------------------------------------ svn:eol-style = native
17 years
1
0
0
0
[hpoussin] 30891: Fix build
by hpoussin@svn.reactos.org
Author: hpoussin Date: Thu Nov 29 14:26:44 2007 New Revision: 30891 URL:
http://svn.reactos.org/svn/reactos?rev=30891&view=rev
Log: Fix build Modified: trunk/reactos/include/psdk/winver.h Modified: trunk/reactos/include/psdk/winver.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winver.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/winver.h (original) +++ trunk/reactos/include/psdk/winver.h Thu Nov 29 14:26:44 2007 @@ -98,10 +98,10 @@ DWORD dwFileDateMS; DWORD dwFileDateLS; } VS_FIXEDFILEINFO; -DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT); -DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT); -DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT); -DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT); +DWORD WINAPI VerFindFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT,LPSTR,PUINT); +DWORD WINAPI VerFindFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT,LPWSTR,PUINT); +DWORD WINAPI VerInstallFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT); +DWORD WINAPI VerInstallFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT); DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,PDWORD); DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,PDWORD); BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
17 years
1
0
0
0
[winesync] 30890: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:26:23 2007 New Revision: 30890 URL:
http://svn.reactos.org/svn/reactos?rev=30890&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/version/info.c trunk/reactos/dll/win32/version/install.c trunk/reactos/dll/win32/version/resource.c trunk/reactos/dll/win32/version/version.rbuild trunk/reactos/dll/win32/version/version_ros.diff Modified: trunk/reactos/dll/win32/version/info.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/version/info.c?r…
============================================================================== --- trunk/reactos/dll/win32/version/info.c (original) +++ trunk/reactos/dll/win32/version/info.c Thu Nov 29 14:26:23 2007 @@ -247,11 +247,9 @@ TRACE("%s\n", debugstr_w(filename)); - hModule = GetModuleHandleW(filename); - if(!hModule) + if (!GetModuleHandleExW(0, filename, &hModule)) hModule = LoadLibraryExW(filename, 0, LOAD_LIBRARY_AS_DATAFILE); - else - hModule = LoadLibraryExW(filename, 0, 0); + if(!hModule) { WARN("Could not load %s\n", debugstr_w(filename)); @@ -594,12 +592,12 @@ /* We have a 16bit resource. */ #endif /* ! __REACTOS__ */ } - else + else { static const char signature[] = "FE2X"; DWORD bufsize = vvis->wLength + strlen(signature); DWORD convbuf; - + /* We have a 32bit resource. * * XP/W2K/W2K3 uses a buffer which is 2 times the actual needed space + 4 bytes "FE2X" @@ -775,7 +773,7 @@ * VerQueryValueA [VERSION.@] */ BOOL WINAPI VerQueryValueA( LPCVOID pBlock, LPCSTR lpSubBlock, - LPVOID *lplpBuffer, UINT *puLen ) + LPVOID *lplpBuffer, PUINT puLen ) { static const char rootA[] = "\\"; static const char varfileinfoA[] = "\\VarFileInfo\\Translation"; @@ -784,7 +782,7 @@ TRACE("(%p,%s,%p,%p)\n", pBlock, debugstr_a(lpSubBlock), lplpBuffer, puLen ); - if (!pBlock) + if (!pBlock) return FALSE; if ( !VersionInfoIs16( info ) ) @@ -828,7 +826,7 @@ * VerQueryValueW [VERSION.@] */ BOOL WINAPI VerQueryValueW( LPCVOID pBlock, LPCWSTR lpSubBlock, - LPVOID *lplpBuffer, UINT *puLen ) + LPVOID *lplpBuffer, PUINT puLen ) { static const WCHAR rootW[] = { '\\', 0 }; static const WCHAR varfileinfoW[] = { '\\','V','a','r','F','i','l','e','I','n','f','o', Modified: trunk/reactos/dll/win32/version/install.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/version/install.…
============================================================================== --- trunk/reactos/dll/win32/version/install.c (original) +++ trunk/reactos/dll/win32/version/install.c Thu Nov 29 14:26:23 2007 @@ -123,13 +123,13 @@ */ DWORD WINAPI VerFindFileA( DWORD flags, - LPSTR lpszFilename, - LPSTR lpszWinDir, - LPSTR lpszAppDir, + LPCSTR lpszFilename, + LPCSTR lpszWinDir, + LPCSTR lpszAppDir, LPSTR lpszCurDir, - UINT *lpuCurDirLen, + PUINT lpuCurDirLen, LPSTR lpszDestDir, - UINT *lpuDestDirLen ) + PUINT lpuDestDirLen ) { DWORD retval = 0; const char *curDir; @@ -220,9 +220,9 @@ /***************************************************************************** * VerFindFileW [VERSION.@] */ -DWORD WINAPI VerFindFileW( DWORD flags,LPWSTR lpszFilename,LPWSTR lpszWinDir, - LPWSTR lpszAppDir, LPWSTR lpszCurDir,UINT *lpuCurDirLen, - LPWSTR lpszDestDir,UINT *lpuDestDirLen ) +DWORD WINAPI VerFindFileW( DWORD flags,LPCWSTR lpszFilename,LPCWSTR lpszWinDir, + LPCWSTR lpszAppDir, LPWSTR lpszCurDir,PUINT lpuCurDirLen, + LPWSTR lpszDestDir,PUINT lpuDestDirLen ) { static const WCHAR emptyW; DWORD retval = 0; @@ -361,8 +361,8 @@ * VerInstallFileA [VERSION.@] */ DWORD WINAPI VerInstallFileA( - DWORD flags,LPSTR srcfilename,LPSTR destfilename,LPSTR srcdir, - LPSTR destdir,LPSTR curdir,LPSTR tmpfile,UINT *tmpfilelen ) + DWORD flags,LPCSTR srcfilename,LPCSTR destfilename,LPCSTR srcdir, + LPCSTR destdir,LPCSTR curdir,LPSTR tmpfile,PUINT tmpfilelen ) { LPCSTR pdest; char destfn[260],tmpfn[260],srcfn[260]; @@ -529,8 +529,8 @@ * VerInstallFileW [VERSION.@] */ DWORD WINAPI VerInstallFileW( - DWORD flags,LPWSTR srcfilename,LPWSTR destfilename,LPWSTR srcdir, - LPWSTR destdir,LPWSTR curdir,LPWSTR tmpfile,UINT *tmpfilelen ) + DWORD flags,LPCWSTR srcfilename,LPCWSTR destfilename,LPCWSTR srcdir, + LPCWSTR destdir,LPCWSTR curdir,LPWSTR tmpfile,PUINT tmpfilelen ) { LPSTR wsrcf = NULL, wsrcd = NULL, wdestf = NULL, wdestd = NULL, wtmpf = NULL, wcurd = NULL; DWORD ret; Modified: trunk/reactos/dll/win32/version/resource.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/version/resource…
============================================================================== --- trunk/reactos/dll/win32/version/resource.c (original) +++ trunk/reactos/dll/win32/version/resource.c Thu Nov 29 14:26:23 2007 @@ -39,7 +39,6 @@ #include "wine/unicode.h" #include "wine/winbase16.h" -#include "wine/winuser16.h" #include "wine/debug.h" @@ -295,7 +294,7 @@ pehdoffset = LZSeek( lzfd, 0, SEEK_CUR ); if ( sizeof(pehd) != LZRead( lzfd, (LPSTR)&pehd, sizeof(pehd) ) ) return 0; - resDataDir = pehd.OptionalHeader.DataDirectory+IMAGE_FILE_RESOURCE_DIRECTORY; + resDataDir = pehd.OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_RESOURCE; if ( !resDataDir->Size ) { TRACE("No resources in PE dll\n" ); Modified: trunk/reactos/dll/win32/version/version.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/version/version.…
============================================================================== --- trunk/reactos/dll/win32/version/version.rbuild (original) +++ trunk/reactos/dll/win32/version/version.rbuild Thu Nov 29 14:26:23 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="version" type="win32dll" entrypoint="0" baseaddress="${BASEADDRESS_VERSION}" installbase="system32" installname="version.dll" allowwarnings="true"> <importlibrary definition="version.spec.def" /> <include base="version">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>lz32</library> <library>kernel32</library> Modified: trunk/reactos/dll/win32/version/version_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/version/version_…
============================================================================== --- trunk/reactos/dll/win32/version/version_ros.diff (original) +++ trunk/reactos/dll/win32/version/version_ros.diff Thu Nov 29 14:26:23 2007 @@ -10,7 +10,7 @@ #include "wine/winuser16.h" #include "wine/unicode.h" #include "winerror.h" -@@ -304,6 +305,7 @@ +@@ -302,6 +303,7 @@ return len; } @@ -18,7 +18,7 @@ /*********************************************************************** * VERSION_GetFileVersionInfo_16 [internal] * -@@ -437,6 +440,7 @@ +@@ -435,6 +438,7 @@ return len; } @@ -26,7 +26,7 @@ /*********************************************************************** * GetFileVersionInfoSizeW [VERSION.@] -@@ -470,6 +473,10 @@ +@@ -468,6 +471,10 @@ if (!len) { @@ -37,7 +37,7 @@ LPSTR filenameA; len = WideCharToMultiByte( CP_ACP, 0, filename, -1, NULL, 0, NULL, NULL ); -@@ -501,6 +508,7 @@ +@@ -499,6 +506,7 @@ * doesn't seem to be a problem (len is bigger than info->wLength). */ len = (len - sizeof(VS_FIXEDFILEINFO)) * 4; @@ -45,7 +45,7 @@ } else { -@@ -565,6 +573,10 @@ +@@ -563,6 +571,10 @@ if (!len) { @@ -56,7 +56,7 @@ LPSTR filenameA; len = WideCharToMultiByte( CP_ACP, 0, filename, -1, NULL, 0, NULL, NULL ); -@@ -580,6 +592,7 @@ +@@ -578,6 +590,7 @@ return FALSE; } /* We have a 16bit resource. */ @@ -64,71 +64,11 @@ } else { -@@ -784,6 +784,9 @@ - TRACE("(%p,%s,%p,%p)\n", - pBlock, debugstr_a(lpSubBlock), lplpBuffer, puLen ); - -+ if (!pBlock) -+ return FALSE; -+ - if ( !VersionInfoIs16( info ) ) - { - BOOL ret; -@@ -836,6 +839,9 @@ - TRACE("(%p,%s,%p,%p)\n", - pBlock, debugstr_w(lpSubBlock), lplpBuffer, puLen ); - -+ if (!pBlock) -+ return FALSE; -+ - if ( VersionInfoIs16( info ) ) - { - BOOL ret; -Index: install.c -=================================================================== ---- install.c (revision 23123) -+++ install.c (working copy) -@@ -122,7 +122,7 @@ - * Reimplementation of VerFindFile from original stub. - */ - DWORD WINAPI VerFindFileA( -- UINT flags, -+ DWORD flags, - LPSTR lpszFilename, - LPSTR lpszWinDir, - LPSTR lpszAppDir, -@@ -220,7 +220,7 @@ - /***************************************************************************** - * VerFindFileW [VERSION.@] - */ --DWORD WINAPI VerFindFileW( UINT flags,LPWSTR lpszFilename,LPWSTR lpszWinDir, -+DWORD WINAPI VerFindFileW( DWORD flags,LPWSTR lpszFilename,LPWSTR lpszWinDir, - LPWSTR lpszAppDir, LPWSTR lpszCurDir,UINT *lpuCurDirLen, - LPWSTR lpszDestDir,UINT *lpuDestDirLen ) - { -@@ -361,7 +361,7 @@ - * VerInstallFileA [VERSION.@] - */ - DWORD WINAPI VerInstallFileA( -- UINT flags,LPSTR srcfilename,LPSTR destfilename,LPSTR srcdir, -+ DWORD flags,LPSTR srcfilename,LPSTR destfilename,LPSTR srcdir, - LPSTR destdir,LPSTR curdir,LPSTR tmpfile,UINT *tmpfilelen ) - { - LPCSTR pdest; -@@ -529,7 +529,7 @@ - * VerInstallFileW [VERSION.@] - */ - DWORD WINAPI VerInstallFileW( -- UINT flags,LPWSTR srcfilename,LPWSTR destfilename,LPWSTR srcdir, -+ DWORD flags,LPWSTR srcfilename,LPWSTR destfilename,LPWSTR srcdir, - LPWSTR destdir,LPWSTR curdir,LPWSTR tmpfile,UINT *tmpfilelen ) - { - LPSTR wsrcf = NULL, wsrcd = NULL, wdestf = NULL, wdestd = NULL, wtmpf = NULL, wcurd = NULL; Index: resource.c =================================================================== --- resource.c (revision 23123) +++ resource.c (working copy) -@@ -43,6 +43,9 @@ +@@ -42,6 +42,9 @@ #include "wine/debug.h" @@ -138,7 +78,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(ver); -@@ -169,6 +172,7 @@ +@@ -168,6 +171,7 @@ return 0; } @@ -146,7 +86,7 @@ /*********************************************************************** * load_ne_resource [internal] */ -@@ -267,6 +272,7 @@ +@@ -266,6 +271,7 @@ HeapFree( GetProcessHeap(), 0, resTab ); return TRUE; } @@ -154,7 +94,7 @@ /*********************************************************************** * load_pe_resource [internal] -@@ -412,8 +417,13 @@ +@@ -411,8 +416,13 @@ switch ( read_xx_header( lzfd ) ) { case IMAGE_OS2_SIGNATURE: @@ -168,7 +108,7 @@ break; case IMAGE_NT_SIGNATURE: -@@ -451,8 +461,13 @@ +@@ -450,8 +460,13 @@ switch ( read_xx_header( lzfd ) ) { case IMAGE_OS2_SIGNATURE:
17 years
1
0
0
0
[winesync] 30889: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:21:01 2007 New Revision: 30889 URL:
http://svn.reactos.org/svn/reactos?rev=30889&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/uxtheme/draw.c trunk/reactos/dll/win32/uxtheme/system.c trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild Modified: trunk/reactos/dll/win32/uxtheme/draw.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/draw.c?r…
============================================================================== --- trunk/reactos/dll/win32/uxtheme/draw.c (original) +++ trunk/reactos/dll/win32/uxtheme/draw.c Thu Nov 29 14:21:01 2007 @@ -55,8 +55,8 @@ HRESULT hr; TRACE("(%p,0x%08x\n", hwnd, dwFlags); - hr = SetPropW (hwnd, (LPCWSTR)MAKEINTATOM(atDialogThemeEnabled), - (HANDLE)(dwFlags|0x80000000)); + hr = SetPropW (hwnd, (LPCWSTR)MAKEINTATOM(atDialogThemeEnabled), + (HANDLE)(dwFlags|0x80000000)); /* 0x80000000 serves as a "flags set" flag */ if (FAILED(hr)) return hr; @@ -75,9 +75,9 @@ DWORD dwDialogTextureFlags; TRACE("(%p)\n", hwnd); - dwDialogTextureFlags = (DWORD)GetPropW (hwnd, + dwDialogTextureFlags = (DWORD)GetPropW (hwnd, (LPCWSTR)MAKEINTATOM(atDialogThemeEnabled)); - if (dwDialogTextureFlags == 0) + if (dwDialogTextureFlags == 0) /* Means EnableThemeDialogTexture wasn't called for this dialog */ return TRUE; @@ -94,7 +94,7 @@ HWND hParent; HRGN clip = NULL; int hasClip = -1; - + TRACE("(%p,%p,%p)\n", hwnd, hdc, prc); hParent = GetParent(hwnd); if(!hParent) @@ -102,7 +102,7 @@ if(prc) { CopyRect(&rt, prc); MapWindowPoints(hwnd, NULL, (LPPOINT)&rt, 2); - + clip = CreateRectRgn(0,0,1,1); hasClip = GetClipRgn(hdc, clip); if(hasClip == -1) @@ -188,7 +188,7 @@ POINT size = {pRect->right-pRect->left, pRect->bottom-pRect->top}; POINT reqsize; for(i=4; i>=0; i--) { - PTHEME_PROPERTY fileProp = + PTHEME_PROPERTY fileProp = MSSTYLES_FindProperty(hTheme, iPartId, iStateId, TMT_FILENAME, i + TMT_IMAGEFILE1); if (!fileProp) continue; if(FAILED(GetThemePosition(hTheme, iPartId, iStateId, i + TMT_MINSIZE1, &reqsize))) { @@ -201,7 +201,7 @@ HBITMAP hBmp; BOOL hasAlpha; - lstrcpynW(szPath, fileProp->lpValue, + lstrcpynW(szPath, fileProp->lpValue, min(fileProp->dwValueLen+1, sizeof(szPath)/sizeof(szPath[0]))); hBmp = MSSTYLES_LoadBitmap(hTheme, szPath, &hasAlpha); if(!hBmp) continue; @@ -255,7 +255,7 @@ TRACE("Failed to load bitmap %s\n", debugstr_w(szPath)); return HRESULT_FROM_WIN32(GetLastError()); } - + GetThemeEnumValue(hTheme, iPartId, iStateId, TMT_IMAGELAYOUT, &imagelayout); GetThemeInt(hTheme, iPartId, iStateId, TMT_IMAGECOUNT, &imagecount); @@ -287,7 +287,7 @@ HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, INT transparent, COLORREF transcolor) { - static const BLENDFUNCTION blendFunc = + static const BLENDFUNCTION blendFunc = { AC_SRC_OVER, /* BlendOp */ 0, /* BlendFlag */ @@ -331,11 +331,11 @@ * * Stretches or tiles, depending on sizingtype. */ -static inline BOOL UXTHEME_SizedBlt (HDC hdcDst, int nXOriginDst, int nYOriginDst, +static inline BOOL UXTHEME_SizedBlt (HDC hdcDst, int nXOriginDst, int nYOriginDst, int nWidthDst, int nHeightDst, - HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, + HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, - int sizingtype, + int sizingtype, INT transparent, COLORREF transcolor) { if (sizingtype == ST_TILE) @@ -351,7 +351,7 @@ { int bltWidth = min (xRemaining, nWidthSrc); if (!UXTHEME_Blt (hdcDst, xOfs, yOfs, bltWidth, bltHeight, - hdcSrc, nXOriginSrc, nYOriginSrc, + hdcSrc, nXOriginSrc, nYOriginSrc, transparent, transcolor)) return FALSE; xOfs += nWidthSrc; @@ -370,10 +370,10 @@ } } -/* Get transparency parameters passed to UXTHEME_StretchBlt() - the parameters - * depend on whether the image has full alpha or whether it is +/* Get transparency parameters passed to UXTHEME_StretchBlt() - the parameters + * depend on whether the image has full alpha or whether it is * color-transparent or just opaque. */ -static inline void get_transparency (HTHEME hTheme, int iPartId, int iStateId, +static inline void get_transparency (HTHEME hTheme, int iPartId, int iStateId, BOOL hasImageAlpha, INT* transparent, COLORREF* transparentcolor, BOOL glyph) { @@ -385,12 +385,12 @@ else { BOOL trans = FALSE; - GetThemeBool(hTheme, iPartId, iStateId, + GetThemeBool(hTheme, iPartId, iStateId, glyph ? TMT_GLYPHTRANSPARENT : TMT_TRANSPARENT, &trans); if(trans) { *transparent = ALPHABLEND_BINARY; - if(FAILED(GetThemeColor(hTheme, iPartId, iStateId, - glyph ? TMT_GLYPHTRANSPARENTCOLOR : TMT_TRANSPARENTCOLOR, + if(FAILED(GetThemeColor(hTheme, iPartId, iStateId, + glyph ? TMT_GLYPHTRANSPARENTCOLOR : TMT_TRANSPARENTCOLOR, transparentcolor))) { /* If image is transparent, but no color was specified, use magenta */ *transparentcolor = RGB(255, 0, 255); @@ -424,7 +424,7 @@ POINT topleft; BOOL hasAlpha; - hr = UXTHEME_LoadImage(hTheme, hdc, iPartId, iStateId, pRect, TRUE, + hr = UXTHEME_LoadImage(hTheme, hdc, iPartId, iStateId, pRect, TRUE, &bmpSrc, &rcSrc, &hasAlpha); if(FAILED(hr)) return hr; hdcSrc = CreateCompatibleDC(hdc); @@ -499,7 +499,7 @@ RECT rcSrc; BOOL hasAlpha; - hr = UXTHEME_LoadImage(hTheme, hdc, iPartId, iStateId, prc, FALSE, + hr = UXTHEME_LoadImage(hTheme, hdc, iPartId, iStateId, prc, FALSE, &bmpSrc, &rcSrc, &hasAlpha); if (FAILED(hr)) return hr; @@ -520,7 +520,7 @@ dstSize.y = rcDst.bottom-rcDst.top; srcSize.x = rcSrc.right-rcSrc.left; srcSize.y = rcSrc.bottom-rcSrc.top; - + GetThemeBool(hTheme, iPartId, iStateId, TMT_UNIFORMSIZING, &uniformsizing); if(uniformsizing) { /* Scale height and width equally */ @@ -535,11 +535,11 @@ rcDst.right = rcDst.left + dstSize.x; } } - + GetThemeEnumValue(hTheme, iPartId, iStateId, TMT_SIZINGTYPE, &sizingtype); if(sizingtype == ST_TRUESIZE) { int truesizestretchmark = 100; - + if(dstSize.x < 0 || dstSize.y < 0) { BOOL mirrorimage = TRUE; GetThemeBool(hTheme, iPartId, iStateId, TMT_MIRRORIMAGE, &mirrorimage); @@ -555,7 +555,7 @@ } } /* Whatever TrueSizeStretchMark does - it does not seem to - * be what's outlined below. It appears as if native + * be what's outlined below. It appears as if native * uxtheme always stretches if dest is smaller than source * (ie as if TrueSizeStretchMark==100 with the code below) */ #if 0 @@ -612,7 +612,7 @@ COLORREF transparentcolor = 0; BOOL hasAlpha; - hr = UXTHEME_LoadImage(hTheme, hdc, iPartId, iStateId, pRect, FALSE, + hr = UXTHEME_LoadImage(hTheme, hdc, iPartId, iStateId, pRect, FALSE, &bmpSrc, &rcSrc, &hasAlpha); if(FAILED(hr)) return hr; hdcSrc = CreateCompatibleDC(hdc); @@ -623,7 +623,7 @@ oldSrc = SelectObject(hdcSrc, bmpSrc); CopyRect(&rcDst, pRect); - + get_transparency (hTheme, iPartId, iStateId, hasAlpha, &transparent, &transparentcolor, FALSE); @@ -670,34 +670,34 @@ /* Upper left corner */ if(!UXTHEME_Blt(hdcDst, 0, 0, sm.cxLeftWidth, sm.cyTopHeight, - hdcSrc, rcSrc.left, rcSrc.top, + hdcSrc, rcSrc.left, rcSrc.top, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } /* Upper right corner */ - if(!UXTHEME_Blt (hdcDst, dstSize.x-sm.cxRightWidth, 0, + if(!UXTHEME_Blt (hdcDst, dstSize.x-sm.cxRightWidth, 0, sm.cxRightWidth, sm.cyTopHeight, - hdcSrc, rcSrc.right-sm.cxRightWidth, rcSrc.top, + hdcSrc, rcSrc.right-sm.cxRightWidth, rcSrc.top, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } /* Lower left corner */ - if(!UXTHEME_Blt (hdcDst, 0, dstSize.y-sm.cyBottomHeight, + if(!UXTHEME_Blt (hdcDst, 0, dstSize.y-sm.cyBottomHeight, sm.cxLeftWidth, sm.cyBottomHeight, - hdcSrc, rcSrc.left, rcSrc.bottom-sm.cyBottomHeight, + hdcSrc, rcSrc.left, rcSrc.bottom-sm.cyBottomHeight, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } /* Lower right corner */ - if(!UXTHEME_Blt (hdcDst, dstSize.x-sm.cxRightWidth, dstSize.y-sm.cyBottomHeight, + if(!UXTHEME_Blt (hdcDst, dstSize.x-sm.cxRightWidth, dstSize.y-sm.cyBottomHeight, sm.cxRightWidth, sm.cyBottomHeight, - hdcSrc, rcSrc.right-sm.cxRightWidth, rcSrc.bottom-sm.cyBottomHeight, + hdcSrc, rcSrc.right-sm.cxRightWidth, rcSrc.bottom-sm.cyBottomHeight, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } if ((sizingtype == ST_STRETCH) || (sizingtype == ST_TILE)) { @@ -708,43 +708,43 @@ if(destCenterWidth > 0) { /* Center top */ - if(!UXTHEME_SizedBlt (hdcDst, sm.cxLeftWidth, 0, + if(!UXTHEME_SizedBlt (hdcDst, sm.cxLeftWidth, 0, destCenterWidth, sm.cyTopHeight, - hdcSrc, rcSrc.left+sm.cxLeftWidth, rcSrc.top, - srcCenterWidth, sm.cyTopHeight, + hdcSrc, rcSrc.left+sm.cxLeftWidth, rcSrc.top, + srcCenterWidth, sm.cyTopHeight, sizingtype, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } /* Center bottom */ - if(!UXTHEME_SizedBlt (hdcDst, sm.cxLeftWidth, dstSize.y-sm.cyBottomHeight, + if(!UXTHEME_SizedBlt (hdcDst, sm.cxLeftWidth, dstSize.y-sm.cyBottomHeight, destCenterWidth, sm.cyBottomHeight, - hdcSrc, rcSrc.left+sm.cxLeftWidth, rcSrc.bottom-sm.cyBottomHeight, - srcCenterWidth, sm.cyBottomHeight, + hdcSrc, rcSrc.left+sm.cxLeftWidth, rcSrc.bottom-sm.cyBottomHeight, + srcCenterWidth, sm.cyBottomHeight, sizingtype, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } } if(destCenterHeight > 0) { /* Left center */ - if(!UXTHEME_SizedBlt (hdcDst, 0, sm.cyTopHeight, + if(!UXTHEME_SizedBlt (hdcDst, 0, sm.cyTopHeight, sm.cxLeftWidth, destCenterHeight, - hdcSrc, rcSrc.left, rcSrc.top+sm.cyTopHeight, - sm.cxLeftWidth, srcCenterHeight, - sizingtype, + hdcSrc, rcSrc.left, rcSrc.top+sm.cyTopHeight, + sm.cxLeftWidth, srcCenterHeight, + sizingtype, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } /* Right center */ - if(!UXTHEME_SizedBlt (hdcDst, dstSize.x-sm.cxRightWidth, sm.cyTopHeight, + if(!UXTHEME_SizedBlt (hdcDst, dstSize.x-sm.cxRightWidth, sm.cyTopHeight, sm.cxRightWidth, destCenterHeight, - hdcSrc, rcSrc.right-sm.cxRightWidth, rcSrc.top+sm.cyTopHeight, - sm.cxRightWidth, srcCenterHeight, + hdcSrc, rcSrc.right-sm.cxRightWidth, rcSrc.top+sm.cyTopHeight, + sm.cxRightWidth, srcCenterHeight, sizingtype, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } } if(destCenterHeight > 0 && destCenterWidth > 0) { @@ -752,13 +752,13 @@ GetThemeBool(hTheme, iPartId, iStateId, TMT_BORDERONLY, &borderonly); if(!borderonly) { /* Center */ - if(!UXTHEME_SizedBlt (hdcDst, sm.cxLeftWidth, sm.cyTopHeight, + if(!UXTHEME_SizedBlt (hdcDst, sm.cxLeftWidth, sm.cyTopHeight, destCenterWidth, destCenterHeight, - hdcSrc, rcSrc.left+sm.cxLeftWidth, rcSrc.top+sm.cyTopHeight, - srcCenterWidth, srcCenterHeight, + hdcSrc, rcSrc.left+sm.cxLeftWidth, rcSrc.top+sm.cyTopHeight, + srcCenterWidth, srcCenterHeight, sizingtype, transparent, transparentcolor)) { hr = HRESULT_FROM_WIN32(GetLastError()); - goto draw_error; + goto draw_error; } } } @@ -993,7 +993,7 @@ EDGE_NUMCOLORS }; -static const struct +static const struct { int themeProp; int sysColor; @@ -1084,7 +1084,7 @@ { COLORREF col; if ((EdgeColorMap[edgeType].themeProp == -1) - || FAILED (GetThemeColor (theme, part, state, + || FAILED (GetThemeColor (theme, part, state, EdgeColorMap[edgeType].themeProp, &col))) col = GetSysColor (EdgeColorMap[edgeType].sysColor); return col; @@ -1106,7 +1106,7 @@ * Same as DrawEdge invoked with BF_DIAGONAL */ static HRESULT draw_diag_edge (HDC hdc, HTHEME theme, int part, int state, - const RECT* rc, UINT uType, + const RECT* rc, UINT uType, UINT uFlags, LPRECT contentsRect) { POINT Points[4]; @@ -1317,10 +1317,10 @@ if((uFlags & BF_MIDDLE) && retval) { HBRUSH hbsave; - HBRUSH hb = get_edge_brush ((uFlags & BF_MONO) ? EDGE_WINDOW : EDGE_FILL, + HBRUSH hb = get_edge_brush ((uFlags & BF_MONO) ? EDGE_WINDOW : EDGE_FILL, theme, part, state); HPEN hpsave; - HPEN hp = get_edge_pen ((uFlags & BF_MONO) ? EDGE_WINDOW : EDGE_FILL, + HPEN hp = get_edge_pen ((uFlags & BF_MONO) ? EDGE_WINDOW : EDGE_FILL, theme, part, state); hbsave = (HBRUSH)SelectObject(hdc, hb); hpsave = (HPEN)SelectObject(hdc, hp); @@ -1356,7 +1356,7 @@ * Same as DrawEdge invoked without BF_DIAGONAL */ static HRESULT draw_rect_edge (HDC hdc, HTHEME theme, int part, int state, - const RECT* rc, UINT uType, + const RECT* rc, UINT uType, UINT uFlags, LPRECT contentsRect) { signed char LTInnerI, LTOuterI; @@ -1478,7 +1478,7 @@ if((uFlags & BF_MIDDLE) && retval) { - HBRUSH br = get_edge_brush ((uFlags & BF_MONO) ? EDGE_WINDOW : EDGE_FILL, + HBRUSH br = get_edge_brush ((uFlags & BF_MONO) ? EDGE_WINDOW : EDGE_FILL, theme, part, state); FillRect(hdc, &InnerRect, br); DeleteObject (br); @@ -1513,7 +1513,7 @@ TRACE("%d %d 0x%08x 0x%08x\n", iPartId, iStateId, uEdge, uFlags); if(!hTheme) return E_HANDLE; - + if(uFlags & BF_DIAGONAL) return draw_diag_edge (hdc, hTheme, iPartId, iStateId, pDestRect, uEdge, uFlags, pContentRect); @@ -1550,11 +1550,11 @@ COLORREF oldTextColor; int oldBkMode; RECT rt; - + TRACE("%d %d: stub\n", iPartId, iStateId); if(!hTheme) return E_HANDLE; - + hr = GetThemeFont(hTheme, hdc, iPartId, iStateId, TMT_FONT, &logfont); if(SUCCEEDED(hr)) { hFont = CreateFontIndirectW(&logfont); @@ -1564,7 +1564,7 @@ CopyRect(&rt, pRect); if(hFont) oldFont = SelectObject(hdc, hFont); - + if(dwTextFlags2 & DTT_GRAYED) textColor = GetSysColor(COLOR_GRAYTEXT); else { @@ -1614,11 +1614,11 @@ GetThemeEnumValue(hTheme, iPartId, iStateId, TMT_BGTYPE, &bgtype); if(bgtype == BT_BORDERFILL) { int bordersize = 1; - + GetThemeInt(hTheme, iPartId, iStateId, TMT_BORDERSIZE, &bordersize); InflateRect(pContentRect, -bordersize, -bordersize); } else if ((bgtype == BT_IMAGEFILE) - && (SUCCEEDED(hr = GetThemeMargins(hTheme, hdc, iPartId, iStateId, + && (SUCCEEDED(hr = GetThemeMargins(hTheme, hdc, iPartId, iStateId, TMT_SIZINGMARGINS, NULL, &margin)))) { pContentRect->left = pBoundingRect->left + margin.cxLeftWidth; pContentRect->top = pBoundingRect->top + margin.cyTopHeight; @@ -1662,11 +1662,11 @@ GetThemeEnumValue(hTheme, iPartId, iStateId, TMT_BGTYPE, &bgtype); if(bgtype == BT_BORDERFILL) { int bordersize = 1; - + GetThemeInt(hTheme, iPartId, iStateId, TMT_BORDERSIZE, &bordersize); InflateRect(pExtentRect, bordersize, bordersize); } else if ((bgtype == BT_IMAGEFILE) - && (SUCCEEDED(hr = GetThemeMargins(hTheme, hdc, iPartId, iStateId, + && (SUCCEEDED(hr = GetThemeMargins(hTheme, hdc, iPartId, iStateId, TMT_SIZINGMARGINS, NULL, &margin)))) { pExtentRect->left = pContentRect->left - margin.cxLeftWidth; pExtentRect->top = pContentRect->top - margin.cyTopHeight; @@ -1725,14 +1725,14 @@ HRESULT hr = S_OK; int bordersize = 1; - if (SUCCEEDED (hr = GetThemeInt(hTheme, iPartId, iStateId, TMT_BORDERSIZE, + if (SUCCEEDED (hr = GetThemeInt(hTheme, iPartId, iStateId, TMT_BORDERSIZE, &bordersize))) { psz->x = psz->y = 2*bordersize; if (eSize != TS_MIN) { psz->x++; - psz->y++; + psz->y++; } } return hr; @@ -1783,14 +1783,14 @@ HGDIOBJ oldFont = NULL; LOGFONTW logfont; RECT rt = {0,0,0xFFFF,0xFFFF}; - + TRACE("%d %d: stub\n", iPartId, iStateId); if(!hTheme) return E_HANDLE; if(pBoundingRect) CopyRect(&rt, pBoundingRect); - + hr = GetThemeFont(hTheme, hdc, iPartId, iStateId, TMT_FONT, &logfont); if(SUCCEEDED(hr)) { hFont = CreateFontIndirectW(&logfont); @@ -1799,7 +1799,7 @@ } if(hFont) oldFont = SelectObject(hdc, hFont); - + DrawTextW(hdc, pszText, iCharCount, &rt, dwTextFlags|DT_CALCRECT); CopyRect(pExtentRect, &rt); @@ -1867,8 +1867,8 @@ if (bgtype != BT_IMAGEFILE) return FALSE; - if(FAILED (UXTHEME_LoadImage (hTheme, 0, iPartId, iStateId, &rect, FALSE, - &bmpSrc, &rcSrc, &hasAlpha))) + if(FAILED (UXTHEME_LoadImage (hTheme, 0, iPartId, iStateId, &rect, FALSE, + &bmpSrc, &rcSrc, &hasAlpha))) return FALSE; get_transparency (hTheme, iPartId, iStateId, hasAlpha, &transparent, Modified: trunk/reactos/dll/win32/uxtheme/system.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/system.c…
============================================================================== --- trunk/reactos/dll/win32/uxtheme/system.c (original) +++ trunk/reactos/dll/win32/uxtheme/system.c Thu Nov 29 14:21:01 2007 @@ -246,7 +246,7 @@ "MenuHilight", /* COLOR_MENUHILIGHT */ "MenuBar", /* COLOR_MENUBAR */ }; -static const WCHAR strColorKey[] = +static const WCHAR strColorKey[] = { 'C','o','n','t','r','o','l',' ','P','a','n','e','l','\\', 'C','o','l','o','r','s',0 }; static const WCHAR keyFlatMenus[] = { 'F','l','a','t','M','e','n','u', 0}; @@ -261,7 +261,7 @@ { int spiGet, spiSet; const WCHAR* keyName; -} backupSysParams[] = +} backupSysParams[] = { {SPI_GETFLATMENU, SPI_SETFLATMENU, keyFlatMenus}, {SPI_GETGRADIENTCAPTIONS, SPI_SETGRADIENTCAPTIONS, keyGradientCaption}, @@ -283,19 +283,19 @@ for (i = 0; i < NUM_SYS_COLORS; i++) { COLORREF col = GetSysColor (i); - - sprintf (colorStr, "%d %d %d", + + sprintf (colorStr, "%d %d %d", GetRValue (col), GetGValue (col), GetBValue (col)); - RegSetValueExA (hKey, SysColorsNames[i], 0, REG_SZ, + RegSetValueExA (hKey, SysColorsNames[i], 0, REG_SZ, (BYTE*)colorStr, strlen (colorStr)+1); } RegCloseKey (hKey); } } -/* Before activating a theme, query current system colors, certain settings - * and backup them in the registry, so they can be restored when the theme +/* Before activating a theme, query current system colors, certain settings + * and backup them in the registry, so they can be restored when the theme * is deactivated */ static void UXTHEME_BackupSystemMetrics(void) { @@ -308,22 +308,22 @@ { NONCLIENTMETRICSW ncm; LOGFONTW iconTitleFont; - + /* back up colors */ save_sys_colors (hKey); - + /* back up "other" settings */ while (bsp->spiGet >= 0) { DWORD value; - + SystemParametersInfoW (bsp->spiGet, 0, &value, 0); - RegSetValueExW (hKey, bsp->keyName, 0, REG_DWORD, + RegSetValueExW (hKey, bsp->keyName, 0, REG_DWORD, (LPBYTE)&value, sizeof (value)); - + bsp++; } - + /* back up non-client metrics */ memset (&ncm, 0, sizeof (ncm)); ncm.cbSize = sizeof (ncm); @@ -333,9 +333,9 @@ memset (&iconTitleFont, 0, sizeof (iconTitleFont)); SystemParametersInfoW (SPI_GETICONTITLELOGFONT, sizeof (iconTitleFont), &iconTitleFont, 0); - RegSetValueExW (hKey, keyIconTitleFont, 0, REG_BINARY, + RegSetValueExW (hKey, keyIconTitleFont, 0, REG_BINARY, (LPBYTE)&iconTitleFont, sizeof (iconTitleFont)); - + RegCloseKey (hKey); } } @@ -347,25 +347,25 @@ const struct BackupSysParam* bsp = backupSysParams; if (RegOpenKeyExW (HKEY_CURRENT_USER, szThemeManager, - 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) + 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) { HKEY colorKey; - + /* read backed-up colors */ if (RegOpenKeyExW (hKey, strColorKey, - 0, KEY_QUERY_VALUE, &colorKey) == ERROR_SUCCESS) + 0, KEY_QUERY_VALUE, &colorKey) == ERROR_SUCCESS) { int i; COLORREF sysCols[NUM_SYS_COLORS]; int sysColsIndices[NUM_SYS_COLORS]; int sysColCount = 0; - + for (i = 0; i < NUM_SYS_COLORS; i++) { DWORD type; char colorStr[13]; DWORD count = sizeof(colorStr); - + if (RegQueryValueExA (colorKey, SysColorsNames[i], 0, &type, (LPBYTE) colorStr, &count) == ERROR_SUCCESS) { @@ -379,56 +379,56 @@ } } RegCloseKey (colorKey); - + SetSysColors (sysColCount, sysColsIndices, sysCols); } - + /* read backed-up other settings */ while (bsp->spiGet >= 0) { DWORD value; DWORD count = sizeof(value); DWORD type; - + if (RegQueryValueExW (hKey, bsp->keyName, 0, &type, (LPBYTE)&value, &count) == ERROR_SUCCESS) { SystemParametersInfoW (bsp->spiSet, 0, (LPVOID)value, SPIF_UPDATEINIFILE); } - + bsp++; } - + /* read backed-up non-client metrics */ { NONCLIENTMETRICSW ncm; LOGFONTW iconTitleFont; DWORD count = sizeof(ncm); DWORD type; - + if (RegQueryValueExW (hKey, keyNonClientMetrics, 0, &type, (LPBYTE)&ncm, &count) == ERROR_SUCCESS) { - SystemParametersInfoW (SPI_SETNONCLIENTMETRICS, + SystemParametersInfoW (SPI_SETNONCLIENTMETRICS, count, (LPVOID)&ncm, SPIF_UPDATEINIFILE); } - + count = sizeof(iconTitleFont); - + if (RegQueryValueExW (hKey, keyIconTitleFont, 0, &type, (LPBYTE)&iconTitleFont, &count) == ERROR_SUCCESS) { - SystemParametersInfoW (SPI_SETICONTITLELOGFONT, + SystemParametersInfoW (SPI_SETICONTITLELOGFONT, count, (LPVOID)&iconTitleFont, SPIF_UPDATEINIFILE); } } - + RegCloseKey (hKey); } } -/* Make system settings persistent, so they're in effect even w/o uxtheme +/* Make system settings persistent, so they're in effect even w/o uxtheme * loaded. * For efficiency reasons, only the last SystemParametersInfoW sets * SPIF_SENDWININICHANGE */ @@ -443,26 +443,26 @@ while (bsp->spiGet >= 0) { DWORD value; - + SystemParametersInfoW (bsp->spiGet, 0, &value, 0); SystemParametersInfoW (bsp->spiSet, 0, (LPVOID)value, SPIF_UPDATEINIFILE); - + bsp++; } - + memset (&ncm, 0, sizeof (ncm)); ncm.cbSize = sizeof (ncm); - SystemParametersInfoW (SPI_GETNONCLIENTMETRICS, + SystemParametersInfoW (SPI_GETNONCLIENTMETRICS, sizeof (ncm), (LPVOID)&ncm, 0); - SystemParametersInfoW (SPI_SETNONCLIENTMETRICS, + SystemParametersInfoW (SPI_SETNONCLIENTMETRICS, sizeof (ncm), (LPVOID)&ncm, SPIF_UPDATEINIFILE); memset (&iconTitleFont, 0, sizeof (iconTitleFont)); - SystemParametersInfoW (SPI_GETICONTITLELOGFONT, + SystemParametersInfoW (SPI_GETICONTITLELOGFONT, sizeof (iconTitleFont), (LPVOID)&iconTitleFont, 0); - SystemParametersInfoW (SPI_SETICONTITLELOGFONT, - sizeof (iconTitleFont), (LPVOID)&iconTitleFont, + SystemParametersInfoW (SPI_SETICONTITLELOGFONT, + sizeof (iconTitleFont), (LPVOID)&iconTitleFont, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); } @@ -501,11 +501,11 @@ tmp[1] = '\0'; RegSetValueExW(hKey, szThemeActive, 0, REG_SZ, (const BYTE*)tmp, sizeof(WCHAR)*2); if(bThemeActive) { - RegSetValueExW(hKey, szColorName, 0, REG_SZ, (const BYTE*)szCurrentColor, + RegSetValueExW(hKey, szColorName, 0, REG_SZ, (const BYTE*)szCurrentColor, (lstrlenW(szCurrentColor)+1)*sizeof(WCHAR)); - RegSetValueExW(hKey, szSizeName, 0, REG_SZ, (const BYTE*)szCurrentSize, + RegSetValueExW(hKey, szSizeName, 0, REG_SZ, (const BYTE*)szCurrentSize, (lstrlenW(szCurrentSize)+1)*sizeof(WCHAR)); - RegSetValueExW(hKey, szDllName, 0, REG_SZ, (const BYTE*)szCurrentTheme, + RegSetValueExW(hKey, szDllName, 0, REG_SZ, (const BYTE*)szCurrentTheme, (lstrlenW(szCurrentTheme)+1)*sizeof(WCHAR)); } else { @@ -518,9 +518,9 @@ } else TRACE("Failed to open theme registry key\n"); - + UXTHEME_SaveSystemMetrics (); - + return hr; } @@ -583,7 +583,7 @@ TRACE("(%d)\n", fEnable); if(fEnable != bThemeActive) { - if(fEnable) + if(fEnable) UXTHEME_BackupSystemMetrics(); else UXTHEME_RestoreSystemMetrics(); @@ -842,7 +842,7 @@ * RETURNS * some kind of status flag */ -DWORD WINAPI QueryThemeServices() +DWORD WINAPI QueryThemeServices(void) { FIXME("stub\n"); return 3; /* This is what is returned under XP in most cases */ @@ -1053,7 +1053,7 @@ * or when pszSizeName does not refer to a valid size * * NOTES - * XP fails with E_POINTER when pszColorNames points to a buffer smaller than + * XP fails with E_POINTER when pszColorNames points to a buffer smaller than * sizeof(THEMENAMES). * * Not very efficient that I'm opening & validating the theme every call, but @@ -1113,7 +1113,7 @@ * or when pszColorName does not refer to a valid color * * NOTES - * XP fails with E_POINTER when pszSizeNames points to a buffer smaller than + * XP fails with E_POINTER when pszSizeNames points to a buffer smaller than * sizeof(THEMENAMES). * * Not very efficient that I'm opening & validating the theme every call, but Modified: trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxtheme.…
============================================================================== --- trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild (original) +++ trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild Thu Nov 29 14:21:01 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="uxtheme" type="win32dll" baseaddress="${BASEADDRESS_UXTHEME}" installbase="system32" installname="uxtheme.dll" allowwarnings="true"> <importlibrary definition="uxtheme.spec.def" /> <include base="uxtheme">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>user32</library> <library>gdi32</library>
17 years
1
0
0
0
[winesync] 30888: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:20:31 2007 New Revision: 30888 URL:
http://svn.reactos.org/svn/reactos?rev=30888&view=rev
Log: Autosyncing with Wine HEAD Added: trunk/reactos/dll/win32/urlmon/bindctx.c (with props) Modified: trunk/reactos/dll/win32/urlmon/binding.c trunk/reactos/dll/win32/urlmon/bindprot.c trunk/reactos/dll/win32/urlmon/file.c trunk/reactos/dll/win32/urlmon/format.c trunk/reactos/dll/win32/urlmon/ftp.c trunk/reactos/dll/win32/urlmon/http.c trunk/reactos/dll/win32/urlmon/internet.c trunk/reactos/dll/win32/urlmon/mk.c trunk/reactos/dll/win32/urlmon/regsvr.c trunk/reactos/dll/win32/urlmon/sec_mgr.c trunk/reactos/dll/win32/urlmon/session.c trunk/reactos/dll/win32/urlmon/umon.c trunk/reactos/dll/win32/urlmon/umstream.c trunk/reactos/dll/win32/urlmon/urlmon.rbuild trunk/reactos/dll/win32/urlmon/urlmon.spec trunk/reactos/dll/win32/urlmon/urlmon_main.c trunk/reactos/dll/win32/urlmon/urlmon_main.h [This mail would be too long, it was shortened to contain the URLs only.] Added: trunk/reactos/dll/win32/urlmon/bindctx.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/bindctx.c…
Modified: trunk/reactos/dll/win32/urlmon/binding.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/binding.c…
Modified: trunk/reactos/dll/win32/urlmon/bindprot.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/bindprot.…
Modified: trunk/reactos/dll/win32/urlmon/file.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/file.c?re…
Modified: trunk/reactos/dll/win32/urlmon/format.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/format.c?…
Modified: trunk/reactos/dll/win32/urlmon/ftp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/ftp.c?rev…
Modified: trunk/reactos/dll/win32/urlmon/http.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/http.c?re…
Modified: trunk/reactos/dll/win32/urlmon/internet.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/internet.…
Modified: trunk/reactos/dll/win32/urlmon/mk.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/mk.c?rev=…
Modified: trunk/reactos/dll/win32/urlmon/regsvr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/regsvr.c?…
Modified: trunk/reactos/dll/win32/urlmon/sec_mgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/sec_mgr.c…
Modified: trunk/reactos/dll/win32/urlmon/session.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/session.c…
Modified: trunk/reactos/dll/win32/urlmon/umon.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/umon.c?re…
Modified: trunk/reactos/dll/win32/urlmon/umstream.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/umstream.…
Modified: trunk/reactos/dll/win32/urlmon/urlmon.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/urlmon.rb…
Modified: trunk/reactos/dll/win32/urlmon/urlmon.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/urlmon.sp…
Modified: trunk/reactos/dll/win32/urlmon/urlmon_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/urlmon_ma…
Modified: trunk/reactos/dll/win32/urlmon/urlmon_main.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/urlmon/urlmon_ma…
17 years
1
0
0
0
[winesync] 30887: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:15:59 2007 New Revision: 30887 URL:
http://svn.reactos.org/svn/reactos?rev=30887&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/shlwapi/assoc.c trunk/reactos/dll/win32/shlwapi/clist.c trunk/reactos/dll/win32/shlwapi/istream.c trunk/reactos/dll/win32/shlwapi/ordinal.c trunk/reactos/dll/win32/shlwapi/path.c trunk/reactos/dll/win32/shlwapi/reg.c trunk/reactos/dll/win32/shlwapi/regstream.c trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild trunk/reactos/dll/win32/shlwapi/shlwapi.rc trunk/reactos/dll/win32/shlwapi/shlwapi.spec trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff trunk/reactos/dll/win32/shlwapi/string.c trunk/reactos/dll/win32/shlwapi/thread.c trunk/reactos/dll/win32/shlwapi/url.c Modified: trunk/reactos/dll/win32/shlwapi/assoc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/assoc.c?…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/assoc.c (original) +++ trunk/reactos/dll/win32/shlwapi/assoc.c Thu Nov 29 14:15:59 2007 @@ -414,7 +414,7 @@ /************************************************************************** * AssocIsDangerous (SHLWAPI.@) - * + * * Determine if a file association is dangerous (potentially malware). * * PARAMS @@ -468,7 +468,7 @@ { IQueryAssociationsImpl *This = (IQueryAssociationsImpl *)iface; ULONG refCount = InterlockedIncrement(&This->ref); - + TRACE("(%p)->(ref before=%u)\n",This, refCount - 1); return refCount; @@ -491,7 +491,7 @@ TRACE("Destroying IQueryAssociations (%p)\n", This); HeapFree(GetProcessHeap(), 0, This); } - + return refCount; } Modified: trunk/reactos/dll/win32/shlwapi/clist.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/clist.c?…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/clist.c (original) +++ trunk/reactos/dll/win32/shlwapi/clist.c Thu Nov 29 14:15:59 2007 @@ -34,8 +34,6 @@ /* dwSignature for contained DATABLOCK_HEADER items */ #define CLIST_ID_CONTAINER (~0U) -HRESULT WINAPI SHAddDataBlock(LPDBLIST*,const DATABLOCK_HEADER*); - /************************************************************************* * NextItem * @@ -46,6 +44,101 @@ char* address = (char*)lpList; address += lpList->cbSize; return (LPDATABLOCK_HEADER)address; +} + +/************************************************************************* + * @ [SHLWAPI.20] + * + * Insert a new item into a DataBlock list. + * + * PARAMS + * lppList [0] Pointer to the List + * lpNewItem [I] The new item to add to the list + * + * RETURNS + * Success: S_OK. The item is added to the list. + * Failure: An HRESULT error code. + * + * NOTES + * If the size of the element to be inserted is less than the size of a + * DATABLOCK_HEADER node, or the Id for the item is CLIST_ID_CONTAINER, + * the call returns S_OK but does not actually add the element. + * See SHWriteDataBlockList. + */ +HRESULT WINAPI SHAddDataBlock(LPDBLIST* lppList, const DATABLOCK_HEADER *lpNewItem) +{ + LPDATABLOCK_HEADER lpInsertAt = NULL; + ULONG ulSize; + + TRACE("(%p,%p)\n", lppList, lpNewItem); + + if(!lppList || !lpNewItem ) + return E_INVALIDARG; + + if (lpNewItem->cbSize < sizeof(DATABLOCK_HEADER) || + lpNewItem->dwSignature == CLIST_ID_CONTAINER) + return S_OK; + + ulSize = lpNewItem->cbSize; + + if(ulSize & 0x3) + { + /* Tune size to a ULONG boundary, add space for container element */ + ulSize = ((ulSize + 0x3) & 0xFFFFFFFC) + sizeof(DATABLOCK_HEADER); + TRACE("Creating container item, new size = %d\n", ulSize); + } + + if(!*lppList) + { + /* An empty list. Allocate space for terminal ulSize also */ + *lppList = (LPDATABLOCK_HEADER)LocalAlloc(LMEM_ZEROINIT, + ulSize + sizeof(ULONG)); + lpInsertAt = *lppList; + } + else + { + /* Append to the end of the list */ + ULONG ulTotalSize = 0; + LPDATABLOCK_HEADER lpIter = *lppList; + + /* Iterate to the end of the list, calculating the total size */ + while (lpIter->cbSize) + { + ulTotalSize += lpIter->cbSize; + lpIter = NextItem(lpIter); + } + + /* Increase the size of the list */ + lpIter = (LPDATABLOCK_HEADER)LocalReAlloc((HLOCAL)*lppList, + ulTotalSize + ulSize+sizeof(ULONG), + LMEM_ZEROINIT | LMEM_MOVEABLE); + if(lpIter) + { + *lppList = lpIter; + lpInsertAt = (LPDATABLOCK_HEADER)((char*)lpIter + ulTotalSize); /* At end */ + } + } + + if(lpInsertAt) + { + /* Copy in the new item */ + LPDATABLOCK_HEADER lpDest = lpInsertAt; + + if(ulSize != lpNewItem->cbSize) + { + lpInsertAt->cbSize = ulSize; + lpInsertAt->dwSignature = CLIST_ID_CONTAINER; + lpDest++; + } + memcpy(lpDest, lpNewItem, lpNewItem->cbSize); + + /* Terminate the list */ + lpInsertAt = NextItem(lpInsertAt); + lpInsertAt->cbSize = 0; + + return lpNewItem->cbSize; + } + return S_OK; } /************************************************************************* @@ -247,101 +340,6 @@ } /************************************************************************* - * @ [SHLWAPI.20] - * - * Insert a new item into a DataBlock list. - * - * PARAMS - * lppList [0] Pointer to the List - * lpNewItem [I] The new item to add to the list - * - * RETURNS - * Success: S_OK. The item is added to the list. - * Failure: An HRESULT error code. - * - * NOTES - * If the size of the element to be inserted is less than the size of a - * DATABLOCK_HEADER node, or the Id for the item is CLIST_ID_CONTAINER, - * the call returns S_OK but does not actually add the element. - * See SHWriteDataBlockList. - */ -HRESULT WINAPI SHAddDataBlock(LPDBLIST* lppList, const DATABLOCK_HEADER *lpNewItem) -{ - LPDATABLOCK_HEADER lpInsertAt = NULL; - ULONG ulSize; - - TRACE("(%p,%p)\n", lppList, lpNewItem); - - if(!lppList || !lpNewItem ) - return E_INVALIDARG; - - if (lpNewItem->cbSize < sizeof(DATABLOCK_HEADER) || - lpNewItem->dwSignature == CLIST_ID_CONTAINER) - return S_OK; - - ulSize = lpNewItem->cbSize; - - if(ulSize & 0x3) - { - /* Tune size to a ULONG boundary, add space for container element */ - ulSize = ((ulSize + 0x3) & 0xFFFFFFFC) + sizeof(DATABLOCK_HEADER); - TRACE("Creating container item, new size = %d\n", ulSize); - } - - if(!*lppList) - { - /* An empty list. Allocate space for terminal ulSize also */ - *lppList = (LPDATABLOCK_HEADER)LocalAlloc(LMEM_ZEROINIT, - ulSize + sizeof(ULONG)); - lpInsertAt = *lppList; - } - else - { - /* Append to the end of the list */ - ULONG ulTotalSize = 0; - LPDATABLOCK_HEADER lpIter = *lppList; - - /* Iterate to the end of the list, calculating the total size */ - while (lpIter->cbSize) - { - ulTotalSize += lpIter->cbSize; - lpIter = NextItem(lpIter); - } - - /* Increase the size of the list */ - lpIter = (LPDATABLOCK_HEADER)LocalReAlloc((HLOCAL)*lppList, - ulTotalSize + ulSize+sizeof(ULONG), - LMEM_ZEROINIT | LMEM_MOVEABLE); - if(lpIter) - { - *lppList = lpIter; - lpInsertAt = (LPDATABLOCK_HEADER)((char*)lpIter + ulTotalSize); /* At end */ - } - } - - if(lpInsertAt) - { - /* Copy in the new item */ - LPDATABLOCK_HEADER lpDest = lpInsertAt; - - if(ulSize != lpNewItem->cbSize) - { - lpInsertAt->cbSize = ulSize; - lpInsertAt->dwSignature = CLIST_ID_CONTAINER; - lpDest++; - } - memcpy(lpDest, lpNewItem, lpNewItem->cbSize); - - /* Terminate the list */ - lpInsertAt = NextItem(lpInsertAt); - lpInsertAt->cbSize = 0; - - return lpNewItem->cbSize; - } - return S_OK; -} - -/************************************************************************* * @ [SHLWAPI.21] * * Remove an item from a DataBlock list. @@ -427,7 +425,7 @@ * NOTES * See SHWriteDataBlockList. */ -LPDATABLOCK_HEADER WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature) +DATABLOCK_HEADER* WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature) { TRACE("(%p,%d)\n", lpList, dwSignature); Modified: trunk/reactos/dll/win32/shlwapi/istream.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/istream.…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/istream.c (original) +++ trunk/reactos/dll/win32/shlwapi/istream.c Thu Nov 29 14:15:59 2007 @@ -82,7 +82,7 @@ { ISHFileStream *This = (ISHFileStream *)iface; ULONG refCount = InterlockedIncrement(&This->ref); - + TRACE("(%p)->(ref before=%u)\n",This, refCount - 1); return refCount; @@ -94,10 +94,10 @@ static ULONG WINAPI IStream_fnRelease(IStream *iface) { ISHFileStream *This = (ISHFileStream *)iface; - ULONG refCount = InterlockedDecrement(&This->ref); + ULONG refCount = InterlockedDecrement(&This->ref); TRACE("(%p)->(ref before=%u)\n",This, refCount + 1); - + if (!refCount) { IStream_fnCommit(iface, 0); /* If ever buffered, this will be needed */ @@ -105,7 +105,7 @@ CloseHandle(This->hFile); HeapFree(GetProcessHeap(), 0, This); } - + return refCount; } @@ -548,7 +548,7 @@ * Failure: An HRESULT error code, or E_FAIL if the read succeeded but the * number of bytes read does not match. */ -HRESULT WINAPI SHLWAPI_184(IStream *lpStream, LPVOID lpvDest, ULONG ulSize) +HRESULT WINAPI SHIStream_Read(IStream *lpStream, LPVOID lpvDest, ULONG ulSize) { ULONG ulRead; HRESULT hRet; @@ -593,7 +593,7 @@ DWORD dwDummy; /* Try to read from the stream */ - if(SUCCEEDED(SHLWAPI_184(lpStream, &dwDummy, sizeof(dwDummy)))) + if(SUCCEEDED(SHIStream_Read(lpStream, &dwDummy, sizeof(dwDummy)))) { LARGE_INTEGER zero; zero.QuadPart = 0; @@ -620,7 +620,7 @@ * Failure: An HRESULT error code, or E_FAIL if the write succeeded but the * number of bytes written does not match. */ -HRESULT WINAPI SHLWAPI_212(IStream *lpStream, LPCVOID lpvSrc, ULONG ulSize) +HRESULT WINAPI SHIStream_Write(IStream *lpStream, LPCVOID lpvSrc, ULONG ulSize) { ULONG ulWritten; HRESULT hRet; Modified: trunk/reactos/dll/win32/shlwapi/ordinal.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/ordinal.…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/ordinal.c (original) +++ trunk/reactos/dll/win32/shlwapi/ordinal.c Thu Nov 29 14:15:59 2007 @@ -33,6 +33,7 @@ #include "windef.h" #include "winbase.h" +#include "winnls.h" #include "winreg.h" #include "wingdi.h" #include "winuser.h" @@ -529,9 +530,15 @@ langbufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * buflenW); retval = GetAcceptLanguagesW(langbufW, &buflenW); - /* FIXME: this is wrong, the string may not be null-terminated */ - convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, -1, langbuf, - *buflen, NULL, NULL); + if (retval == S_OK) + { + convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, -1, langbuf, *buflen, NULL, NULL); + } + else /* copy partial string anyway */ + { + convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, *buflen, langbuf, *buflen, NULL, NULL); + if (convlen < *buflen) langbuf[convlen] = 0; + } *buflen = buflenW ? convlen : 0; HeapFree(GetProcessHeap(), 0, langbufW); @@ -725,53 +732,9 @@ * @ [SHLWAPI.35] * */ -BOOL WINAPI GetStringType3ExW(LPWSTR lpszStr, DWORD dwLen, LPVOID p3) -{ - FIXME("(%s,0x%08x,%p): stub\n", debugstr_w(lpszStr), dwLen, p3); - return TRUE; -} - -/************************************************************************* - * @ [SHLWAPI.36] - * - * Insert a bitmap menu item at the bottom of a menu. - * - * PARAMS - * hMenu [I] Menu to insert into - * flags [I] Flags for insertion - * id [I] Menu ID of the item - * str [I] Menu text for the item - * - * RETURNS - * Success: TRUE, the item is inserted into the menu - * Failure: FALSE, if any parameter is invalid - */ -BOOL WINAPI AppendMenuWrapW(HMENU hMenu, UINT flags, UINT id, LPCWSTR str) -{ - TRACE("(%p,0x%08x,0x%08x,%s)\n",hMenu, flags, id, debugstr_w(str)); - return InsertMenuW(hMenu, -1, flags | MF_BITMAP, id, str); -} - -/************************************************************************* - * @ [SHLWAPI.138] - * - * Set the text of a given dialog item. - * - * PARAMS - * hWnd [I] Handle of dialog - * iItem [I] Index of item - * lpszText [O] Text to set - * - * RETURNS - * Success: TRUE. The text of the dialog is set to lpszText. - * Failure: FALSE, Otherwise. - */ -BOOL WINAPI SetDlgItemTextWrapW(HWND hWnd, INT iItem, LPCWSTR lpszText) -{ - HWND hWndItem = GetDlgItem(hWnd, iItem); - if (hWndItem) - return SetWindowTextW(hWndItem, lpszText); - return FALSE; +BOOL WINAPI GetStringType3ExW(LPWSTR src, INT count, LPWORD type) +{ + return GetStringTypeW(CT_CTYPE3, src, count, type); } /************************************************************************* @@ -790,7 +753,7 @@ */ DWORD WINAPI StrCmpNCA(LPCSTR lpszSrc, LPCSTR lpszCmp, INT len) { - return strncmp(lpszSrc, lpszCmp, len); + return StrCmpNA(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -800,7 +763,7 @@ */ DWORD WINAPI StrCmpNCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len) { - return strncmpW(lpszSrc, lpszCmp, len); + return StrCmpNW(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -819,7 +782,7 @@ */ DWORD WINAPI StrCmpNICA(LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len) { - return strncasecmp(lpszSrc, lpszCmp, len); + return StrCmpNIA(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -829,7 +792,7 @@ */ DWORD WINAPI StrCmpNICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len) { - return strncmpiW(lpszSrc, lpszCmp, len); + return StrCmpNIW(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -847,7 +810,7 @@ */ DWORD WINAPI StrCmpCA(LPCSTR lpszSrc, LPCSTR lpszCmp) { - return strcmp(lpszSrc, lpszCmp); + return lstrcmpA(lpszSrc, lpszCmp); } /************************************************************************* @@ -857,7 +820,7 @@ */ DWORD WINAPI StrCmpCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp) { - return strcmpW(lpszSrc, lpszCmp); + return lstrcmpW(lpszSrc, lpszCmp); } /************************************************************************* @@ -875,7 +838,7 @@ */ DWORD WINAPI StrCmpICA(LPCSTR lpszSrc, LPCSTR lpszCmp) { - return strcasecmp(lpszSrc, lpszCmp); + return lstrcmpiA(lpszSrc, lpszCmp); } /************************************************************************* @@ -885,7 +848,7 @@ */ DWORD WINAPI StrCmpICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp) { - return strcmpiW(lpszSrc, lpszCmp); + return lstrcmpiW(lpszSrc, lpszCmp); } /************************************************************************* @@ -1775,29 +1738,29 @@ /************************************************************************* * @ [SHLWAPI.189] * - * Call IOleControlSite_GetExtendedControl() on an object. + * Call IOleControlSite_OnFocus() on an object. * * PARAMS * lpUnknown [I] Object supporting the IOleControlSite interface. - * lppDisp [O] Destination for resulting IDispatch. + * fGotFocus [I] Whether focus was gained (TRUE) or lost (FALSE). * * RETURNS * Success: S_OK. * Failure: An HRESULT error code, or E_FAIL if lpUnknown is NULL. */ -DWORD WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, IDispatch** lppDisp) +HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus) { IOleControlSite* lpCSite = NULL; HRESULT hRet = E_FAIL; - TRACE("(%p,%p)\n", lpUnknown, lppDisp); + TRACE("(%p,%s)\n", lpUnknown, fGotFocus ? "TRUE" : "FALSE"); if (lpUnknown) { hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite, (void**)&lpCSite); if (SUCCEEDED(hRet) && lpCSite) { - hRet = IOleControlSite_GetExtendedControl(lpCSite, lppDisp); + hRet = IOleControlSite_OnFocus(lpCSite, fGotFocus); IOleControlSite_Release(lpCSite); } } @@ -2140,7 +2103,7 @@ /************************************************************************* * @ [SHLWAPI.208] * - * Initialize an FDSA arrary. + * Initialize an FDSA arrary. */ BOOL WINAPI FDSA_Initialize(DWORD block_size, DWORD inc, FDSA_info *info, void *mem, DWORD init_blocks) @@ -2152,7 +2115,7 @@ if(mem) memset(mem, 0, block_size * init_blocks); - + info->num_items = 0; info->inc = inc; info->mem = mem; @@ -2837,22 +2800,69 @@ * * _SHPackDispParamsV */ -HRESULT WINAPI SHPackDispParamsV(LPVOID w, LPVOID x, LPVOID y, LPVOID z) -{ - FIXME("%p %p %p %p\n",w,x,y,z); - return E_FAIL; +HRESULT WINAPI SHPackDispParamsV(DISPPARAMS *params, VARIANTARG *args, UINT cnt, va_list valist) +{ + VARIANTARG *iter; + + TRACE("(%p %p %u ...)\n", params, args, cnt); + + params->rgvarg = args; + params->rgdispidNamedArgs = NULL; + params->cArgs = cnt; + params->cNamedArgs = 0; + + iter = args+cnt; + + while(iter-- > args) { + V_VT(iter) = va_arg(valist, enum VARENUM); + + TRACE("vt=%d\n", V_VT(iter)); + + if(V_VT(iter) & VT_BYREF) { + V_BYREF(iter) = va_arg(valist, LPVOID); + } else { + switch(V_VT(iter)) { + case VT_I4: + V_I4(iter) = va_arg(valist, LONG); + break; + case VT_BSTR: + V_BSTR(iter) = va_arg(valist, BSTR); + break; + case VT_DISPATCH: + V_DISPATCH(iter) = va_arg(valist, IDispatch*); + break; + case VT_BOOL: + V_BOOL(iter) = va_arg(valist, int); + break; + case VT_UNKNOWN: + V_UNKNOWN(iter) = va_arg(valist, IUnknown*); + break; + default: + V_VT(iter) = VT_I4; + V_I4(iter) = va_arg(valist, LONG); + } + } + } + + return S_OK; } /************************************************************************* * @ [SHLWAPI.282] * - * This function seems to be a forward to SHPackDispParamsV (whatever THAT - * function does...). - */ -HRESULT WINAPI SHPackDispParams(LPVOID w, LPVOID x, LPVOID y, LPVOID z) -{ - FIXME("%p %p %p %p\n", w, x, y, z); - return E_FAIL; + * SHPackDispParams + */ +HRESULT WINAPIV SHPackDispParams(DISPPARAMS *params, VARIANTARG *args, UINT cnt, ...) +{ + va_list valist; + HRESULT hres; + + va_start(valist, cnt); + + hres = SHPackDispParamsV(params, args, cnt, valist); + + va_end(valist); + return hres; } /************************************************************************* @@ -2976,64 +2986,27 @@ HRESULT result; IConnectionPoint *iCP; IConnectionPointContainer *iCPC; + DISPPARAMS dispParams = {buffer, NULL, cParams, 0}; + va_list valist; if (!container) return E_NOINTERFACE; result = IUnknown_QueryInterface(container, &IID_IConnectionPointContainer,(LPVOID*) &iCPC); - if (SUCCEEDED(result)) - { - result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP); - IConnectionPointContainer_Release(iCPC); - } - - if (SUCCEEDED(result)) - { - ULONG cnt; - VARIANTARG *curvar = buffer+cParams-1; - DISPPARAMS dispParams = {buffer, NULL, cParams, 0}; - va_list valist; - - va_start(valist, cParams); - for(cnt=cParams;cnt>0;cnt--,curvar--) /* backwards for some reason */ - { - enum VARENUM vt = va_arg(valist, enum VARENUM); - memset(curvar, 0, sizeof(*curvar)); - if (vt & VT_BYREF) - { - V_VT(curvar) = vt; - V_BYREF(curvar) = va_arg(valist, LPVOID); - } else - switch(vt) - { - case VT_BSTR: - V_VT(curvar) = vt; - V_BSTR(curvar) = va_arg(valist, BSTR); - break; - case VT_DISPATCH: - V_VT(curvar) = vt; - V_DISPATCH(curvar) = va_arg(valist, IDispatch*); - break; - case VT_BOOL: - V_VT(curvar) = vt; - V_BOOL(curvar) = va_arg(valist, int); - break; - case VT_UNKNOWN: - V_VT(curvar) = vt; - V_UNKNOWN(curvar) = va_arg(valist, IUnknown*); - break; - case VT_I4: - default: - V_VT(curvar) = VT_I4; - V_I4(curvar) = va_arg(valist, LONG); - break; - } - } - va_end(valist); - - result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams); - IConnectionPoint_Release(iCP); - } + if (FAILED(result)) + return result; + + result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP); + IConnectionPointContainer_Release(iCPC); + if(FAILED(result)) + return result; + + va_start(valist, cParams); + SHPackDispParamsV(&dispParams, buffer, cParams, valist); + va_end(valist); + + result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams); + IConnectionPoint_Release(iCP); return result; } @@ -3536,7 +3509,7 @@ /************************************************************************* * @ [SHLWAPI.404] */ -HRESULT WINAPI IUnknown_EnumObjects(LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags, IEnumIDList **ppenum) +HRESULT WINAPI SHIShellFolder_EnumObjects(LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags, IEnumIDList **ppenum) { IPersist *persist; HRESULT hr; @@ -3673,16 +3646,6 @@ BOOL WINAPI SHFlushSFCacheWrap(void) { FIXME(": stub\n"); return TRUE; -} - -/************************************************************************* - * @ [SHLWAPI.425] - */ -BOOL WINAPI DeleteMenuWrap(HMENU hmenu, UINT pos, UINT flags) -{ - /* FIXME: This should do more than simply call DeleteMenu */ - FIXME("%p %08x %08x): semi-stub\n", hmenu, pos, flags); - return DeleteMenu(hmenu, pos, flags); } /************************************************************************* @@ -4195,7 +4158,7 @@ /*********************************************************************** * SHQueueUserWorkItem (SHLWAPI.@) */ -BOOL WINAPI SHQueueUserWorkItem(LPTHREAD_START_ROUTINE pfnCallback, +BOOL WINAPI SHQueueUserWorkItem(LPTHREAD_START_ROUTINE pfnCallback, LPVOID pContext, LONG lPriority, DWORD_PTR dwTag, DWORD_PTR *pdwId, LPCSTR pszModule, DWORD dwFlags) { @@ -4297,26 +4260,45 @@ /*********************************************************************** * ShellMessageBoxWrapW [SHLWAPI.388] * - * loads a string resource for a module, displays the string in a - * message box and writes it into the logfile - * - * PARAMS - * mod [I] the module containing the string resource - * unknown1 [I] FIXME - * uId [I] the id of the string resource - * title [I] the title of the message box - * unknown2 [I] FIXME - * filename [I] name of the logfile - * - * RETURNS - * FIXME - */ -BOOL WINAPI ShellMessageBoxWrapW(HMODULE mod, DWORD unknown1, UINT uId, - LPCWSTR title, DWORD unknown2, LPCWSTR filename) -{ - FIXME("%p %x %d %s %x %s\n", - mod, unknown1, uId, debugstr_w(title), unknown2, debugstr_w(filename)); - return TRUE; + * See shell32.ShellMessageBoxW + * + * NOTE: + * shlwapi.ShellMessageBoxWrapW is a duplicate of shell32.ShellMessageBoxW + * because we can't forward to it in the .spec file since it's exported by + * ordinal. If you change the implementation here please update the code in + * shell32 as well. + */ +INT WINAPIV ShellMessageBoxWrapW(HINSTANCE hInstance, HWND hWnd, LPCWSTR lpText, + LPCWSTR lpCaption, UINT uType, ...) +{ + WCHAR szText[100], szTitle[100]; + LPCWSTR pszText = szText, pszTitle = szTitle; + LPWSTR pszTemp; + va_list args; + int ret; + + va_start(args, uType); + + TRACE("(%p,%p,%p,%p,%08x)\n", hInstance, hWnd, lpText, lpCaption, uType); + + if (IS_INTRESOURCE(lpCaption)) + LoadStringW(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)/sizeof(szTitle[0])); + else + pszTitle = lpCaption; + + if (IS_INTRESOURCE(lpText)) + LoadStringW(hInstance, LOWORD(lpText), szText, sizeof(szText)/sizeof(szText[0])); + else + pszText = lpText; + + FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING, + pszText, 0, 0, (LPWSTR)&pszTemp, 0, &args); + + va_end(args); + + ret = MessageBoxW(hWnd, pszTemp, pszTitle, uType); + LocalFree((HLOCAL)pszTemp); + return ret; } HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *unk, REFIID service, REFIID clsid, @@ -4342,7 +4324,10 @@ return 0x95; } -void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2) +/*********************************************************************** + * SHChangeNotifyWrap [SHLWAPI.394] + */ +void WINAPI SHChangeNotifyWrap(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2) { SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2); } @@ -4408,7 +4393,7 @@ BOOL ret = TRUE; if (!memcmp((void*)sid, (void*)&null_sid, sizeof(SHELL_USER_SID))) - { /* current user's SID */ + { /* current user's SID */ if (!cur_user) { HANDLE Token; @@ -4460,14 +4445,14 @@ case ACCESS_ALLOWED_ACE_TYPE: if (!AddAccessAllowedAce(pAcl, ACL_REVISION, sup->dwAccessMask, sid)) goto error; - if (sup->fInherit && !AddAccessAllowedAceEx(pAcl, ACL_REVISION, + if (sup->fInherit && !AddAccessAllowedAceEx(pAcl, ACL_REVISION, (BYTE)sup->dwInheritMask, sup->dwInheritAccessMask, sid)) goto error; break; case ACCESS_DENIED_ACE_TYPE: if (!AddAccessDeniedAce(pAcl, ACL_REVISION, sup->dwAccessMask, sid)) goto error; - if (sup->fInherit && !AddAccessDeniedAceEx(pAcl, ACL_REVISION, + if (sup->fInherit && !AddAccessDeniedAceEx(pAcl, ACL_REVISION, (BYTE)sup->dwInheritMask, sup->dwInheritAccessMask, sid)) goto error; break; Modified: trunk/reactos/dll/win32/shlwapi/path.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/path.c?r…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/path.c (original) +++ trunk/reactos/dll/win32/shlwapi/path.c Thu Nov 29 14:15:59 2007 @@ -3308,7 +3308,7 @@ while(*pszPath == '\\') pszPath++; - + if(isalphaW(*pszPath) && pszPath[1] == '|' && pszPath[2] == '\\') /* c|\ -> c:\ */ pszPath[1] = ':'; Modified: trunk/reactos/dll/win32/shlwapi/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/reg.c?re…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/reg.c (original) +++ trunk/reactos/dll/win32/shlwapi/reg.c Thu Nov 29 14:15:59 2007 @@ -210,7 +210,7 @@ * SHRegCreateUSKeyA [SHLWAPI.@] * * Create or open a user-specific registry key. - * + * * PARAMS * pszPath [I] Key name to create or open. * samDesired [I] Wanted security access. @@ -251,7 +251,7 @@ * PARAMS * hUSKey [I] Handle to an open registry key. * pszValue [I] Empty key name. - * delRegFlags [I] Flag that specifies the base from which to delete + * delRegFlags [I] Flag that specifies the base from which to delete * the key. * * RETURNS @@ -1550,7 +1550,7 @@ } if (dwRet == ERROR_NO_MORE_ITEMS) dwRet = ERROR_SUCCESS; - + if (lpszName != szNameBuf) HeapFree(GetProcessHeap(), 0, lpszName); /* Free buffer if allocated */ } Modified: trunk/reactos/dll/win32/shlwapi/regstream.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/regstrea…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/regstream.c (original) +++ trunk/reactos/dll/win32/shlwapi/regstream.c Thu Nov 29 14:15:59 2007 @@ -78,7 +78,7 @@ { ISHRegStream *This = (ISHRegStream *)iface; ULONG refCount = InterlockedIncrement(&This->ref); - + TRACE("(%p)->(ref before=%u)\n",This, refCount - 1); return refCount; Modified: trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi.…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild (original) +++ trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild Thu Nov 29 14:15:59 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="shlwapi" type="win32dll" baseaddress="${BASEADDRESS_SHLWAPI}" installbase="system32" installname="shlwapi.dll" allowwarnings="true"> <importlibrary definition="shlwapi.spec.def" /> <include base="shlwapi">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>user32</library> <library>gdi32</library> Modified: trunk/reactos/dll/win32/shlwapi/shlwapi.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi.…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/shlwapi.rc (original) +++ trunk/reactos/dll/win32/shlwapi/shlwapi.rc Thu Nov 29 14:15:59 2007 @@ -40,6 +40,6 @@ #include "shlwapi_Pl.rc" #include "shlwapi_Pt.rc" #include "shlwapi_Ru.rc" +#include "shlwapi_Sv.rc" #include "shlwapi_Tr.rc" -#include "shlwapi_Sv.rc" #include "shlwapi_Uk.rc" Modified: trunk/reactos/dll/win32/shlwapi/shlwapi.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi.…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/shlwapi.spec (original) +++ trunk/reactos/dll/win32/shlwapi/shlwapi.spec Thu Nov 29 14:15:59 2007 @@ -13,7 +13,7 @@ 13 stdcall -noname RegisterDefaultAcceptHeaders(ptr ptr) 14 stdcall -noname GetAcceptLanguagesA(ptr ptr) 15 stdcall -noname GetAcceptLanguagesW(ptr ptr) -16 stdcall SHCreateThread(ptr ptr long ptr) +16 stdcall -noname SHCreateThread(ptr ptr long ptr) 17 stdcall -noname SHWriteDataBlockList(ptr ptr) 18 stdcall -noname SHReadDataBlockList(ptr ptr) 19 stdcall -noname SHFreeDataBlockList(ptr) @@ -33,121 +33,121 @@ 33 stdcall -noname IsCharDigitW(long) 34 stdcall -noname IsCharXDigitW(long) 35 stdcall -noname GetStringType3ExW(ptr long ptr) -36 stdcall -noname AppendMenuWrapW(long long long wstr) -37 stdcall @(ptr long long long long) user32.CallWindowProcW -38 stdcall @(wstr) user32.CharLowerW -39 stdcall @(wstr long) user32.CharLowerBuffW -40 stdcall @(wstr) user32.CharNextW -41 stdcall @(wstr wstr) user32.CharPrevW -42 stdcall @(wstr) user32.CharToOemW -43 stdcall @(wstr) user32.CharUpperW -44 stdcall @(wstr long) user32.CharUpperBuffW -45 stdcall @(long long wstr long wstr long) kernel32.CompareStringW -46 stdcall @(long ptr long) user32.CopyAcceleratorTableW -47 stdcall @(ptr long) user32.CreateAcceleratorTableW -48 stdcall @(wstr wstr wstr ptr) gdi32.CreateDCW -49 stdcall @(long ptr long ptr long) user32.CreateDialogParamA -50 stdcall @(wstr ptr) kernel32.CreateDirectoryW -51 stdcall @(ptr long long wstr) kernel32.CreateEventW -52 stdcall @(wstr long long ptr long long long) kernel32.CreateFileW -53 stdcall @(ptr) gdi32.CreateFontIndirectW -54 stdcall @(wstr wstr wstr ptr) gdi32.CreateICW -55 stdcall @(long wstr wstr long long long long long long long long ptr) user32.CreateWindowExW -56 stdcall @(long long long long) user32.DefWindowProcW -57 stdcall @(wstr) kernel32.DeleteFileW -58 stdcall @(long ptr long ptr long) user32.DialogBoxIndirectParamW -59 stdcall @(long wstr long ptr long) user32.DialogBoxParamW -60 stdcall @(ptr) user32.DispatchMessageW -61 stdcall @(long wstr long ptr long) user32.DrawTextW -62 stdcall @(long wstr ptr long) gdi32.EnumFontFamiliesW -63 stdcall @(long ptr ptr long long) gdi32.EnumFontFamiliesExW -64 stdcall @(long wstr ptr long) kernel32.EnumResourceNamesW -65 stdcall @(wstr ptr) kernel32.FindFirstFileW -66 stdcall @(long wstr wstr) kernel32.FindResourceW -67 stdcall @(wstr wstr) user32.FindWindowW -68 stdcall @(long ptr long long ptr long ptr) kernel32.FormatMessageW -69 stdcall @(long wstr ptr) user32.GetClassInfoW -70 stdcall @(long long) user32.GetClassLongW -71 stdcall @(long ptr long) user32.GetClassNameW -72 stdcall @(long ptr long) user32.GetClipboardFormatNameW -73 stdcall @(long ptr) kernel32.GetCurrentDirectoryW -74 stdcall @(long long wstr long) user32.GetDlgItemTextW -75 stdcall @(wstr) kernel32.GetFileAttributesW -76 stdcall @(wstr long ptr ptr) kernel32.GetFullPathNameW -77 stdcall @(long long ptr long) kernel32.GetLocaleInfoW -78 stdcall @(long long ptr long long) user32.GetMenuStringW -79 stdcall @(ptr long long long) user32.GetMessageW -80 stdcall @(long ptr long) kernel32.GetModuleFileNameW -81 stdcall @(ptr long) kernel32.GetSystemDirectoryW -82 stdcall @(wstr wstr wstr long ptr ptr) kernel32.SearchPathW -83 stdcall @(wstr) kernel32.GetModuleHandleW -84 stdcall @(long long ptr) gdi32.GetObjectW -85 stdcall @(wstr wstr long wstr) kernel32.GetPrivateProfileIntW -86 stdcall @(wstr wstr wstr ptr long) kernel32.GetProfileStringW -87 stdcall @(long wstr) user32.GetPropW -88 stdcall @(long long wstr long ptr) kernel32.GetStringTypeExW -89 stdcall @(wstr wstr long ptr) kernel32.GetTempFileNameW -90 stdcall @(long ptr) kernel32.GetTempPathW -91 stdcall @(long wstr long ptr) gdi32.GetTextExtentPoint32W -92 stdcall @(long long ptr) gdi32.GetTextFaceW -93 stdcall @(long ptr) gdi32.GetTextMetricsW -94 stdcall @(long long) user32.GetWindowLongW -95 stdcall @(long ptr long) user32.GetWindowTextW -96 stdcall @(long) user32.GetWindowTextLengthW -97 stdcall @(ptr long) kernel32.GetWindowsDirectoryW -98 stdcall @(long long long long ptr) user32.InsertMenuW -99 stdcall @(long ptr) user32.IsDialogMessageW -100 stdcall @(long wstr) user32.LoadAcceleratorsW -101 stdcall @(long wstr) user32.LoadBitmapW -102 stdcall @(long wstr) user32.LoadCursorW -103 stdcall @(long wstr) user32.LoadIconW -104 stdcall @(long wstr long long long long) user32.LoadImageW -105 stdcall @(wstr long long) kernel32.LoadLibraryExW -106 stdcall @(long wstr) user32.LoadMenuW -107 stdcall @(long long ptr long) user32.LoadStringW -108 stdcall @(ptr) user32.MessageBoxIndirectW -109 stdcall @(long long long long ptr) user32.ModifyMenuW -110 stdcall @(long long long long) gdi32.GetCharWidth32W -111 stdcall @(long wstr long long ptr long) gdi32.GetCharacterPlacementW -112 stdcall @(wstr wstr long) kernel32.CopyFileW -113 stdcall @(wstr wstr) kernel32.MoveFileW -114 stdcall @(ptr ptr) user32.OemToCharW -115 stdcall @(wstr) kernel32.OutputDebugStringW -116 stdcall @(ptr long long long long) user32.PeekMessageW -117 stdcall @(long long long long) user32.PostMessageW -118 stdcall @(long long long long) user32.PostThreadMessageW -119 stdcall @(long wstr ptr) advapi32.RegCreateKeyW -120 stdcall @(long wstr long ptr long long ptr ptr ptr) advapi32.RegCreateKeyExW -121 stdcall @(long wstr) advapi32.RegDeleteKeyW -122 stdcall @(long long ptr long) advapi32.RegEnumKeyW -123 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumKeyExW -124 stdcall @(long wstr ptr) advapi32.RegOpenKeyW -125 stdcall @(long wstr long long ptr) advapi32.RegOpenKeyExW -126 stdcall @(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) advapi32.RegQueryInfoKeyW -127 stdcall @(long wstr ptr ptr) advapi32.RegQueryValueW -128 stdcall @(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW -129 stdcall @(long wstr long ptr long) advapi32.RegSetValueW -130 stdcall @(long wstr long long ptr long) advapi32.RegSetValueExW -131 stdcall @(ptr) user32.RegisterClassW -132 stdcall @(wstr) user32.RegisterClipboardFormatW -133 stdcall @(wstr) user32.RegisterWindowMessageW -134 stdcall @(long wstr) user32.RemovePropW -135 stdcall @(long long long long long) user32.SendDlgItemMessageW -136 stdcall @(long long long long) user32.SendMessageW -137 stdcall @(wstr) kernel32.SetCurrentDirectoryW -138 stdcall -noname SetDlgItemTextWrapW(long long wstr) -139 stdcall @(long long long ptr) user32.SetMenuItemInfoW -140 stdcall @(long wstr long) user32.SetPropW -141 stdcall @(long long long) user32.SetWindowLongW -142 stdcall @(long long long long) user32.SetWindowsHookExW -143 stdcall @(long wstr) user32.SetWindowTextW -144 stdcall @(long ptr) gdi32.StartDocW -145 stdcall @(long long ptr long) user32.SystemParametersInfoW -146 stdcall @(long long ptr) user32.TranslateAcceleratorW -147 stdcall @(wstr long) user32.UnregisterClassW -148 stdcall @(long) user32.VkKeyScanW -149 stdcall @(long wstr long long) user32.WinHelpW -150 stdcall @(ptr wstr ptr) user32.wvsprintfW +36 stdcall -noname AppendMenuWrapW(long long long wstr) user32.AppendMenuW +37 stdcall -noname CallWindowProcWrapW(ptr long long long long) user32.CallWindowProcW +38 stdcall -noname CharLowerWrapW(wstr) user32.CharLowerW +39 stdcall -noname CharLowerBuffWrapW(wstr long) user32.CharLowerBuffW +40 stdcall -noname CharNextWrapW(wstr) user32.CharNextW +41 stdcall -noname CharPrevWrapW(wstr wstr) user32.CharPrevW +42 stdcall -noname CharToOemWrapW(wstr) user32.CharToOemW +43 stdcall -noname CharUpperWrapW(wstr) user32.CharUpperW +44 stdcall -noname CharUpperBuffWrapW(wstr long) user32.CharUpperBuffW +45 stdcall -noname CompareStringWrapW(long long wstr long wstr long) kernel32.CompareStringW +46 stdcall -noname CopyAcceleratorTableWrapW(long ptr long) user32.CopyAcceleratorTableW +47 stdcall -noname CreateAcceleratorTableWrapW(ptr long) user32.CreateAcceleratorTableW +48 stdcall -noname CreateDCWrapW(wstr wstr wstr ptr) gdi32.CreateDCW +49 stdcall -noname CreateDialogParamWrapW(long ptr long ptr long) user32.CreateDialogParamW +50 stdcall -noname CreateDirectoryWrapW(wstr ptr) kernel32.CreateDirectoryW +51 stdcall -noname CreateEventWrapW(ptr long long wstr) kernel32.CreateEventW +52 stdcall -noname CreateFileWrapW(wstr long long ptr long long long) kernel32.CreateFileW +53 stdcall -noname CreateFontIndirectWrapW(ptr) gdi32.CreateFontIndirectW +54 stdcall -noname CreateICWrapW(wstr wstr wstr ptr) gdi32.CreateICW +55 stdcall -noname CreateWindowExWrapW(long wstr wstr long long long long long long long long ptr) user32.CreateWindowExW +56 stdcall -noname DefWindowProcWrapW(long long long long) user32.DefWindowProcW +57 stdcall -noname DeleteFileWrapW(wstr) kernel32.DeleteFileW +58 stdcall -noname DialogBoxIndirectParamWrapW(long ptr long ptr long) user32.DialogBoxIndirectParamW +59 stdcall -noname DialogBoxParamWrapW(long wstr long ptr long) user32.DialogBoxParamW +60 stdcall -noname DispatchMessageWrapW(ptr) user32.DispatchMessageW +61 stdcall -noname DrawTextWrapW(long wstr long ptr long) user32.DrawTextW +62 stdcall -noname EnumFontFamiliesWrapW(long wstr ptr long) gdi32.EnumFontFamiliesW +63 stdcall -noname EnumFontFamiliesExWrapW(long ptr ptr long long) gdi32.EnumFontFamiliesExW +64 stdcall -noname EnumResourceNamesWrapW(long wstr ptr long) kernel32.EnumResourceNamesW +65 stdcall -noname FindFirstFileWrapW(wstr ptr) kernel32.FindFirstFileW +66 stdcall -noname FindResourceWrapW(long wstr wstr) kernel32.FindResourceW +67 stdcall -noname FindWindowWrapW(wstr wstr) user32.FindWindowW +68 stdcall -noname FormatMessageWrapW(long ptr long long ptr long ptr) kernel32.FormatMessageW +69 stdcall -noname GetClassInfoWrapW(long wstr ptr) user32.GetClassInfoW +70 stdcall -noname GetClassLongWrapW(long long) user32.GetClassLongW +71 stdcall -noname GetClassNameWrapW(long ptr long) user32.GetClassNameW +72 stdcall -noname GetClipboardFormatNameWrapW(long ptr long) user32.GetClipboardFormatNameW +73 stdcall -noname GetCurrentDirectoryWrapW(long ptr) kernel32.GetCurrentDirectoryW +74 stdcall -noname GetDlgItemTextWrapW(long long wstr long) user32.GetDlgItemTextW +75 stdcall -noname GetFileAttributesWrapW(wstr) kernel32.GetFileAttributesW +76 stdcall -noname GetFullPathNameWrapW(wstr long ptr ptr) kernel32.GetFullPathNameW +77 stdcall -noname GetLocaleInfoWrapW(long long ptr long) kernel32.GetLocaleInfoW +78 stdcall -noname GetMenuStringWrapW(long long ptr long long) user32.GetMenuStringW +79 stdcall -noname GetMessageWrapW(ptr long long long) user32.GetMessageW +80 stdcall -noname GetModuleFileNameWrapW(long ptr long) kernel32.GetModuleFileNameW +81 stdcall -noname GetSystemDirectoryWrapW(ptr long) kernel32.GetSystemDirectoryW +82 stdcall -noname SearchPathWrapW(wstr wstr wstr long ptr ptr) kernel32.SearchPathW +83 stdcall -noname GetModuleHandleWrapW(wstr) kernel32.GetModuleHandleW +84 stdcall -noname GetObjectWrapW(long long ptr) gdi32.GetObjectW +85 stdcall -noname GetPrivateProfileIntWrapW(wstr wstr long wstr) kernel32.GetPrivateProfileIntW +86 stdcall -noname GetProfileStringWrapW(wstr wstr wstr ptr long) kernel32.GetProfileStringW +87 stdcall -noname GetPropWrapW(long wstr) user32.GetPropW +88 stdcall -noname GetStringTypeExWrapW(long long wstr long ptr) kernel32.GetStringTypeExW +89 stdcall -noname GetTempFileNameWrapW(wstr wstr long ptr) kernel32.GetTempFileNameW +90 stdcall -noname GetTempPathWrapW(long ptr) kernel32.GetTempPathW +91 stdcall -noname GetTextExtentPoint32WrapW(long wstr long ptr) gdi32.GetTextExtentPoint32W +92 stdcall -noname GetTextFaceWrapW(long long ptr) gdi32.GetTextFaceW +93 stdcall -noname GetTextMetricsWrapW(long ptr) gdi32.GetTextMetricsW +94 stdcall -noname GetWindowLongWrapW(long long) user32.GetWindowLongW +95 stdcall -noname GetWindowTextWrapW(long ptr long) user32.GetWindowTextW +96 stdcall -noname GetWindowTextLengthWrapW(long) user32.GetWindowTextLengthW +97 stdcall -noname GetWindowsDirectoryWrapW(ptr long) kernel32.GetWindowsDirectoryW +98 stdcall -noname InsertMenuWrapW(long long long long ptr) user32.InsertMenuW +99 stdcall -noname IsDialogMessageWrapW(long ptr) user32.IsDialogMessageW +100 stdcall -noname LoadAcceleratorsWrapW(long wstr) user32.LoadAcceleratorsW +101 stdcall -noname LoadBitmapWrapW(long wstr) user32.LoadBitmapW +102 stdcall -noname LoadCursorWrapW(long wstr) user32.LoadCursorW +103 stdcall -noname LoadIconWrapW(long wstr) user32.LoadIconW +104 stdcall -noname LoadImageWrapW(long wstr long long long long) user32.LoadImageW +105 stdcall -noname LoadLibraryExWrapW(wstr long long) kernel32.LoadLibraryExW +106 stdcall -noname LoadMenuWrapW(long wstr) user32.LoadMenuW +107 stdcall -noname LoadStringWrapW(long long ptr long) user32.LoadStringW +108 stdcall -noname MessageBoxIndirectWrapW(ptr) user32.MessageBoxIndirectW +109 stdcall -noname ModifyMenuWrapW(long long long long ptr) user32.ModifyMenuW +110 stdcall -noname GetCharWidth32WrapW(long long long long) gdi32.GetCharWidth32W +111 stdcall -noname GetCharacterPlacementWrapW(long wstr long long ptr long) gdi32.GetCharacterPlacementW +112 stdcall -noname CopyFileWrapW(wstr wstr long) kernel32.CopyFileW +113 stdcall -noname MoveFileWrapW(wstr wstr) kernel32.MoveFileW +114 stdcall -noname OemToCharWrapW(ptr ptr) user32.OemToCharW +115 stdcall -noname OutputDebugStringWrapW(wstr) kernel32.OutputDebugStringW +116 stdcall -noname PeekMessageWrapW(ptr long long long long) user32.PeekMessageW +117 stdcall -noname PostMessageWrapW(long long long long) user32.PostMessageW +118 stdcall -noname PostThreadMessageWrapW(long long long long) user32.PostThreadMessageW +119 stdcall -noname RegCreateKeyWrapW(long wstr ptr) advapi32.RegCreateKeyW +120 stdcall -noname RegCreateKeyExWrapW(long wstr long ptr long long ptr ptr ptr) advapi32.RegCreateKeyExW +121 stdcall -noname RegDeleteKeyWrapW(long wstr) advapi32.RegDeleteKeyW +122 stdcall -noname RegEnumKeyWrapW(long long ptr long) advapi32.RegEnumKeyW +123 stdcall -noname RegEnumKeyExWrapW(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumKeyExW +124 stdcall -noname RegOpenKeyWrapW(long wstr ptr) advapi32.RegOpenKeyW +125 stdcall -noname RegOpenKeyExWrapW(long wstr long long ptr) advapi32.RegOpenKeyExW +126 stdcall -noname RegQueryInfoKeyWrapW(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) advapi32.RegQueryInfoKeyW +127 stdcall -noname RegQueryValueWrapW(long wstr ptr ptr) advapi32.RegQueryValueW +128 stdcall -noname RegQueryValueExWrapW(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW +129 stdcall -noname RegSetValueWrapW(long wstr long ptr long) advapi32.RegSetValueW +130 stdcall -noname RegSetValueExWrapW(long wstr long long ptr long) advapi32.RegSetValueExW +131 stdcall -noname RegisterClassWrapW(ptr) user32.RegisterClassW +132 stdcall -noname RegisterClipboardFormatWrapW(wstr) user32.RegisterClipboardFormatW +133 stdcall -noname RegisterWindowMessageWrapW(wstr) user32.RegisterWindowMessageW +134 stdcall -noname RemovePropWrapW(long wstr) user32.RemovePropW +135 stdcall -noname SendDlgItemMessageWrapW(long long long long long) user32.SendDlgItemMessageW +136 stdcall -noname SendMessageWrapW(long long long long) user32.SendMessageW +137 stdcall -noname SetCurrentDirectoryWrapW(wstr) kernel32.SetCurrentDirectoryW +138 stdcall -noname SetDlgItemTextWrapW(long long wstr) user32.SetDlgItemTextW +139 stdcall -noname SetMenuItemInfoWrapW(long long long ptr) user32.SetMenuItemInfoW +140 stdcall -noname SetPropWrapW(long wstr long) user32.SetPropW +141 stdcall -noname SetWindowLongWrapW(long long long) user32.SetWindowLongW +142 stdcall -noname SetWindowsHookExWrapW(long long long long) user32.SetWindowsHookExW +143 stdcall -noname SetWindowTextWrapW(long wstr) user32.SetWindowTextW +144 stdcall -noname StartDocWrapW(long ptr) gdi32.StartDocW +145 stdcall -noname SystemParametersInfoWrapW(long long ptr long) user32.SystemParametersInfoW +146 stdcall -noname TranslateAcceleratorWrapW(long long ptr) user32.TranslateAcceleratorW +147 stdcall -noname UnregisterClassWrapW(wstr long) user32.UnregisterClassW +148 stdcall -noname VkKeyScanWrapW(long) user32.VkKeyScanW +149 stdcall -noname WinHelpWrapW(long wstr long long) user32.WinHelpW +150 stdcall -noname wvsprintfWrapW(ptr wstr ptr) user32.wvsprintfW 151 stdcall -noname StrCmpNCA(str ptr long) 152 stdcall -noname StrCmpNCW(wstr wstr long) 153 stdcall -noname StrCmpNICA(long long long) @@ -156,7 +156,7 @@ 156 stdcall -noname StrCmpCW(wstr wstr) 157 stdcall -noname StrCmpICA(str str) 158 stdcall -noname StrCmpICW(wstr wstr) -159 stdcall @(long long wstr long wstr long) kernel32.CompareStringW +159 stdcall -noname CompareStringAltW(long long wstr long wstr long) kernel32.CompareStringW 160 stdcall -noname SHAboutInfoA(ptr long) 161 stdcall -noname SHAboutInfoW(ptr long) 162 stdcall -noname SHTruncateString(str long) @@ -181,7 +181,7 @@ 181 stdcall -noname SHEnableMenuItem(long long long) 182 stdcall -noname SHCheckMenuItem(long long long) 183 stdcall -noname SHRegisterClassA(ptr) -184 stdcall @(ptr ptr long) SHLWAPI_184 +184 stdcall -noname IStream_Read(ptr ptr long) SHIStream_Read 185 stdcall -noname SHMessageBoxCheckA(ptr str str long long str) 186 stdcall -noname SHSimulateDrop(ptr ptr long ptr ptr) 187 stdcall -noname SHLoadFromPropertyBag(ptr ptr) @@ -209,7 +209,7 @@ 209 stdcall -noname FDSA_Destroy(ptr) 210 stdcall -noname FDSA_InsertItem(ptr long ptr) 211 stdcall -noname FDSA_DeleteItem(ptr long) -212 stdcall @(ptr ptr long) SHLWAPI_212 +212 stdcall -noname IStream_Write(ptr ptr long) SHIStream_Write 213 stdcall -noname IStream_Reset(ptr) 214 stdcall -noname IStream_Size(ptr ptr) 215 stdcall -noname SHAnsiToUnicode(str ptr long) @@ -219,9 +219,9 @@ 219 stdcall -noname QISearch(long long long long) 220 stub -noname SHSetDefaultDialogFont 221 stdcall -noname SHRemoveDefaultDialogFont(ptr) -222 stdcall -noname _SHGlobalCounterCreate(long) -223 stdcall -noname _SHGlobalCounterGetValue(long) -224 stdcall -noname _SHGlobalCounterIncrement(long) +222 stdcall -noname SHGlobalCounterCreate(long) +223 stdcall -noname SHGlobalCounterGetValue(long) +224 stdcall -noname SHGlobalCounterIncrement(long) 225 stdcall -noname SHStripMneumonicW(wstr) 226 stub -noname ZoneCheckPathA 227 stub -noname ZoneCheckPathW @@ -278,8 +278,8 @@ 278 stdcall -noname SHCreateWorkerWindowW(long long long long long long) 279 stdcall -noname SHInvokeDefaultCommand(ptr ptr ptr) 280 stdcall -noname SHRegGetIntW(ptr wstr long) -281 stdcall -noname SHPackDispParamsV(ptr ptr ptr ptr) -282 stdcall -noname SHPackDispParams(ptr ptr ptr ptr) +281 stdcall -noname SHPackDispParamsV(ptr ptr long ptr) +282 varargs -noname SHPackDispParams(ptr ptr long) 283 stub -noname IConnectionPoint_InvokeWithCancel 284 stdcall -noname IConnectionPoint_SimpleInvoke(ptr long ptr) 285 stdcall -noname IConnectionPoint_OnChanged(ptr long) @@ -295,28 +295,28 @@ 295 stdcall -noname SHSetIniStringW(wstr ptr wstr wstr) 296 stub -noname CreateURLFileContentsW 297 stub -noname CreateURLFileContentsA -298 stdcall @(wstr wstr wstr wstr) kernel32.WritePrivateProfileStringW -299 stdcall @(long long long long ptr wstr long ptr) gdi32.ExtTextOutW -300 stdcall @(long long long long long long long long long long long long long wstr) gdi32.CreateFontW -301 stdcall @(long wstr long ptr long ptr) user32.DrawTextExW -302 stdcall @(long long long ptr) user32.GetMenuItemInfoW -303 stdcall @(long long long ptr) user32.InsertMenuItemW -304 stdcall @(wstr) gdi32.CreateMetaFileW -305 stdcall @(ptr long wstr) kernel32.CreateMutexW -306 stdcall @(wstr ptr long) kernel32.ExpandEnvironmentStringsW -307 stdcall @(ptr long long wstr) kernel32.CreateSemaphoreW -308 stdcall @(ptr long) kernel32.IsBadStringPtrW -309 stdcall @(wstr) kernel32.LoadLibraryW -310 stdcall @(long long ptr wstr ptr long) kernel32.GetTimeFormatW -311 stdcall @(long long ptr wstr ptr long) kernel32.GetDateFormatW -312 stdcall @(wstr wstr wstr ptr long wstr) kernel32.GetPrivateProfileStringW +298 stdcall -noname WritePrivateProfileStringWrapW(wstr wstr wstr wstr) kernel32.WritePrivateProfileStringW +299 stdcall -noname ExtTextOutWrapW(long long long long ptr wstr long ptr) gdi32.ExtTextOutW +300 stdcall -noname CreateFontWrapW(long long long long long long long long long long long long long wstr) gdi32.CreateFontW +301 stdcall -noname DrawTextExWrapW(long wstr long ptr long ptr) user32.DrawTextExW +302 stdcall -noname GetMenuItemInfoWrapW(long long long ptr) user32.GetMenuItemInfoW +303 stdcall -noname InsertMenuItemWrapW(long long long ptr) user32.InsertMenuItemW +304 stdcall -noname CreateMetaFileWrapW(wstr) gdi32.CreateMetaFileW +305 stdcall -noname CreateMutexWrapW(ptr long wstr) kernel32.CreateMutexW +306 stdcall -noname ExpandEnvironmentStringsWrapW(wstr ptr long) kernel32.ExpandEnvironmentStringsW +307 stdcall -noname CreateSemaphoreWrapW(ptr long long wstr) kernel32.CreateSemaphoreW +308 stdcall -noname IsBadStringPtrWrapW(ptr long) kernel32.IsBadStringPtrW +309 stdcall -noname LoadLibraryWrapW(wstr) kernel32.LoadLibraryW +310 stdcall -noname GetTimeFormatWrapW(long long ptr wstr ptr long) kernel32.GetTimeFormatW +311 stdcall -noname GetDateFormatWrapW(long long ptr wstr ptr long) kernel32.GetDateFormatW +312 stdcall -noname GetPrivateProfileStringWrapW(wstr wstr wstr ptr long wstr) kernel32.GetPrivateProfileStringW 313 stdcall -noname SHGetFileInfoWrapW(ptr long ptr long long) -314 stdcall @(ptr) user32.RegisterClassExW -315 stdcall @(long wstr ptr) user32.GetClassInfoExW +314 stdcall -noname RegisterClassExWrapW(ptr) user32.RegisterClassExW +315 stdcall -noname GetClassInfoExWrapW(long wstr ptr) user32.GetClassInfoExW 316 stub -noname IShellFolder_GetDisplayNameOf 317 stub -noname IShellFolder_ParseDisplayName 318 stdcall -noname DragQueryFileWrapW(long long wstr long) -319 stdcall @(long long wstr wstr) user32.FindWindowExW +319 stdcall -noname FindWindowExWrapW(long long wstr wstr) user32.FindWindowExW 320 stdcall -noname RegisterMIMETypeForExtensionA(str str) 321 stdcall -noname RegisterMIMETypeForExtensionW(wstr wstr) 322 stdcall -noname UnregisterMIMETypeForExtensionA(str) @@ -329,22 +329,22 @@ 329 stdcall -noname GetMIMETypeSubKeyW(wstr ptr long) 330 stdcall -noname MIME_GetExtensionA(str ptr long) 331 stdcall -noname MIME_GetExtensionW(wstr ptr long) -332 stdcall @(ptr long) user32.CallMsgFilterW +332 stdcall -noname CallMsgFilterWrapW(ptr long) user32.CallMsgFilterW 333 stdcall -noname SHBrowseForFolderWrapW(ptr) 334 stdcall -noname SHGetPathFromIDListWrapW(ptr ptr) 335 stdcall -noname ShellExecuteExWrapW(ptr) 336 stdcall -noname SHFileOperationWrapW(ptr) -337 stdcall @(wstr long ptr ptr long) user32.PrivateExtractIconExW -338 stdcall @(wstr long) kernel32.SetFileAttributesW -339 stdcall @(long long wstr ptr ptr long) kernel32.GetNumberFormatW -340 stdcall @(long wstr wstr long) user32.MessageBoxW -341 stdcall @(long ptr) kernel32.FindNextFileW +337 stdcall -noname ExtractIconExWrapW(wstr long ptr ptr long) user32.PrivateExtractIconExW +338 stdcall -noname SetFileAttributesWrapW(wstr long) kernel32.SetFileAttributesW +339 stdcall -noname GetNumberFormatWrapW(long long wstr ptr ptr long) kernel32.GetNumberFormatW +340 stdcall -noname MessageBoxWrapW(long wstr wstr long) user32.MessageBoxW +341 stdcall -noname FindNextFileWrapW(long ptr) kernel32.FindNextFileW 342 stdcall -noname SHInterlockedCompareExchange(ptr ptr ptr) 343 stdcall -noname SHRegGetCLSIDKeyA(ptr str long long ptr) 344 stdcall -noname SHRegGetCLSIDKeyW(ptr wstr long long ptr) 345 stdcall -noname SHAnsiToAnsi(str ptr long) 346 stdcall -noname SHUnicodeToUnicode(wstr ptr long) -347 stdcall @(long wstr) advapi32.RegDeleteValueW +347 stdcall -noname RegDeleteValueWrapW(long wstr) advapi32.RegDeleteValueW 348 stub -noname SHGetFileDescriptionW 349 stub -noname SHGetFileDescriptionA 350 stdcall -noname GetFileVersionInfoSizeWrapW(wstr ptr) @@ -353,20 +353,20 @@ 353 stub -noname SHFormatDateTimeA 354 stub -noname SHFormatDateTimeW 355 stdcall -noname IUnknown_EnableModeless(ptr long) -356 stdcall -noname _CreateAllAccessSecurityAttributes(ptr ptr long) +356 stdcall -noname CreateAllAccessSecurityAttributes(ptr ptr long) 357 stdcall -noname SHGetNewLinkInfoWrapW(wstr wstr wstr long long) 358 stdcall -noname SHDefExtractIconWrapW(wstr long long ptr ptr long) -359 stdcall @(long long wstr) kernel32.OpenEventW -360 stdcall @(wstr) kernel32.RemoveDirectoryW -361 stdcall @(wstr ptr long) kernel32.GetShortPathNameW -362 stdcall @(ptr ptr) advapi32.GetUserNameW +359 stdcall -noname OpenEventWrapW(long long wstr) kernel32.OpenEventW +360 stdcall -noname RemoveDirectoryWrapW(wstr) kernel32.RemoveDirectoryW +361 stdcall -noname GetShortPathNameWrapW(wstr ptr long) kernel32.GetShortPathNameW +362 stdcall -noname GetUserNameWrapW(ptr ptr) advapi32.GetUserNameW 363 stdcall -noname SHInvokeCommand(ptr ptr ptr long) 364 stdcall -noname DoesStringRoundTripA(str ptr long) 365 stdcall -noname DoesStringRoundTripW(wstr ptr long) -366 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumValueW -367 stdcall @(wstr wstr ptr long wstr) kernel32.WritePrivateProfileStructW -368 stdcall @(wstr wstr ptr long wstr) kernel32.GetPrivateProfileStructW -369 stdcall @(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW +366 stdcall -noname RegEnumValueWrapW(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumValueW +367 stdcall -noname WritePrivateProfileStructWrapW(wstr wstr ptr long wstr) kernel32.WritePrivateProfileStructW +368 stdcall -noname GetPrivateProfileStructWrapW(wstr wstr ptr long wstr) kernel32.GetPrivateProfileStructW +369 stdcall -noname CreateProcessWrapW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW 370 stdcall -noname ExtractIconWrapW(long wstr long) 371 stdcall -noname DdeInitializeWrapW(ptr ptr long long) user32.DdeInitializeW 372 stdcall -noname DdeCreateStringHandleWrapW(long ptr long) user32.DdeCreateStringHandleW @@ -374,8 +374,8 @@ 374 stub -noname SHCheckDiskForMediaA 375 stub -noname SHCheckDiskForMediaW 376 stdcall -noname MLGetUILanguage() kernel32.GetUserDefaultUILanguage -377 stdcall MLLoadLibraryA(str long long) -378 stdcall MLLoadLibraryW(wstr long long) +377 stdcall -noname MLLoadLibraryA(str long long) +378 stdcall -noname MLLoadLibraryW(wstr long long) 379 stub -noname Shell_GetCachedImageIndexWrapW 380 stub -noname Shell_GetCachedImageIndexWrapA 381 stub -noname AssocCopyVerbs @@ -385,13 +385,13 @@ 385 stub -noname SHLoadRawAccelerators 386 stub -noname SHQueryRawAccelerator 387 stub -noname SHQueryRawAcceleratorMsg -388 stdcall -noname ShellMessageBoxWrapW(ptr long long wstr long wstr) +388 varargs -noname ShellMessageBoxWrapW(long long wstr wstr long) 389 stdcall -noname GetSaveFileNameWrapW(ptr) 390 stdcall -noname WNetRestoreConnectionWrapW(long wstr) 391 stdcall -noname WNetGetLastErrorWrapW(ptr ptr long ptr long) 392 stdcall -noname EndDialogWrap(ptr ptr) user32.EndDialog -393 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamW -394 stdcall -noname SHChangeNotify(long long ptr ptr) +393 stdcall -noname CreateDialogIndirectParamWrapW(long ptr long ptr long) user32.CreateDialogIndirectParamW +394 stdcall -noname SHChangeNotifyWrap(long long ptr ptr) 395 stub -noname MLWinHelpA 396 stub -noname MLHtmlHelpA 397 stub -noname MLWinHelpW @@ -401,7 +401,7 @@ 401 stdcall -noname PageSetupDlgWrapW(ptr) 402 stdcall -noname PrintDlgWrapW(ptr) 403 stdcall -noname GetOpenFileNameWrapW(ptr) -404 stdcall -noname IUnknown_EnumObjects(ptr ptr long ptr) +404 stdcall -noname IShellFolder_EnumObjects(ptr ptr long ptr) SHIShellFolder_EnumObjects 405 stdcall -noname MLBuildResURLA(str ptr long str ptr long) 406 stdcall -noname MLBuildResURLW(wstr ptr long wstr ptr long) 407 stub -noname AssocMakeProgid @@ -419,19 +419,19 @@ 419 stdcall -noname SHFlushSFCacheWrap() 420 stub @ # CMemStream::Commit 421 stub -noname SHLoadPersistedDataObject -422 stdcall -noname _SHGlobalCounterCreateNamedA(str long) -423 stdcall -noname _SHGlobalCounterCreateNamedW(wstr long) -424 stdcall -noname _SHGlobalCounterDecrement(long) -425 stdcall -noname DeleteMenuWrap(ptr long long) -426 stub -noname DestroyMenuWrap -427 stub -noname TrackPopupMenuWrap -428 stdcall @(long long long long long ptr) user32.TrackPopupMenuEx +422 stdcall -noname SHGlobalCounterCreateNamedA(str long) +423 stdcall -noname SHGlobalCounterCreateNamedW(wstr long) +424 stdcall -noname SHGlobalCounterDecrement(long) +425 stdcall -noname DeleteMenuWrap(ptr long long) user32.DeleteMenu +426 stdcall -noname DestroyMenuWrap(long) user32.DestroyMenu +427 stdcall -noname TrackPopupMenuWrap(long long long long long long ptr) user32.TrackPopupMenu +428 stdcall -noname TrackPopupMenuExWrap(long long long long long ptr) user32.TrackPopupMenuEx 429 stdcall -noname MLIsMLHInstance(long) 430 stdcall -noname MLSetMLHInstance(long long) 431 stdcall -noname MLClearMLHInstance(long) 432 stub -noname SHSendMessageBroadcastA 433 stub -noname SHSendMessageBroadcastW -434 stdcall @(long long long long long long ptr) user32.SendMessageTimeoutW +434 stdcall -noname SendMessageTimeoutWrapW(long long long long long long ptr) user32.SendMessageTimeoutW 435 stdcall -noname CLSIDFromProgIDWrap(wstr ptr) ole32.CLSIDFromProgID 436 stdcall -noname CLSIDFromStringWrap(wstr ptr) 437 stdcall -noname IsOS(long) @@ -439,9 +439,9 @@ 439 stdcall -noname SHLoadRegUIStringW(ptr wstr ptr long) 440 stdcall -noname SHGetWebFolderFilePathA(str ptr long) 441 stdcall -noname SHGetWebFolderFilePathW(wstr ptr long) -442 stdcall @(wstr ptr long) kernel32.GetEnvironmentVariableW -443 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryA -444 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryW +442 stdcall -noname GetEnvironmentVariableWrapW(wstr ptr long) kernel32.GetEnvironmentVariableW +443 stdcall -noname SHGetSystemWindowsDirectoryA(ptr long) kernel32.GetSystemWindowsDirectoryA +444 stdcall -noname SHGetSystemWindowsDirectoryW(ptr long) kernel32.GetSystemWindowsDirectoryW 445 stdcall -noname PathFileExistsAndAttributesA(str ptr) 446 stdcall -noname PathFileExistsAndAttributesW(wstr ptr) 447 stub -noname FixSlashesAndColonA @@ -454,8 +454,8 @@ 454 stub -noname CharLowerNoDBCSW 455 stdcall -noname PathIsValidCharA(long long) 456 stdcall -noname PathIsValidCharW(long long) -457 stdcall @(wstr ptr long) kernel32.GetLongPathNameW -458 stdcall @(str ptr long) kernel32.GetLongPathNameA +457 stdcall -noname GetLongPathNameWrapW(wstr ptr long) kernel32.GetLongPathNameW +458 stdcall -noname GetLongPathNameWrapA(str ptr long) kernel32.GetLongPathNameA 459 stdcall -noname SHExpandEnvironmentStringsA(str ptr long) kernel32.ExpandEnvironmentStringsA 460 stdcall -noname SHExpandEnvironmentStringsW(wstr ptr long) kernel32.ExpandEnvironmentStringsW 461 stdcall -noname SHGetAppCompatFlags(long) @@ -469,7 +469,7 @@ 469 stub -noname RunRegCommand 470 stub -noname IUnknown_ProfferServiceOld 471 stub -noname SHCreatePropertyBagOnRegKey -472 stub -noname SHCreatePropertyBagOnProfileSelections +472 stub -noname SHCreatePropertyBagOnProfileSelection 473 stub -noname SHGetIniStringUTF7W 474 stub -noname SHSetIniStringUTF7W 475 stdcall -noname GetShellSecurityDescriptor(ptr long) @@ -484,10 +484,10 @@ 484 stdcall -noname IUnknown_QueryServiceExec(ptr ptr ptr long long long ptr) 485 stub -noname MapWin32ErrorToSTG 486 stub -noname ModeToCreateFileFlags - +487 stdcall -noname SHLoadIndirectString(wstr ptr long ptr) 488 stub -noname SHConvertGraphicsFile -489 stub -noname GlobalAddAtomWrapW -490 stub -noname GlobalFindAtomWrapW +489 stdcall -noname GlobalAddAtomWrapW(wstr) kernel32.GlobalAddAtomW +490 stdcall -noname GlobalFindAtomWrapW(wstr) kernel32.GlobalFindAtomW 491 stdcall -noname SHGetShellKey(long long long) 492 stub -noname PrettifyFileDescriptionW 493 stub -noname SHPropertyBag_ReadType @@ -508,7 +508,7 @@ 512 stub -noname IStream_ReadPidl 513 stub -noname IStream_WritePidl 514 stdcall -noname IUnknown_ProfferService(ptr ptr ptr ptr) - +515 stub -noname SHGetViewStatePropertyBag 516 stdcall -noname SKGetValueW(long wstr wstr long long long) 517 stub -noname SKSetValueW 518 stub -noname SKDeleteValueW @@ -536,7 +536,7 @@ 540 stub -noname SHInvokeCommandOnContextMenu 541 stub -noname SHInvokeCommandsOnContextMen 542 stdcall -noname GetUIVersion() -543 stub -noname CreateColorSpaceWrapW +543 stdcall -noname CreateColorSpaceWrapW(ptr) gdi32.CreateColorSpaceW 544 stub -noname QuerySourceCreateFromKey 545 stub -noname SHForwardContextMenuMsg 546 stub -noname IUnknown_DoContextMenuPopup @@ -699,7 +699,6 @@ @ stdcall SHGetValueA ( long str str ptr ptr ptr ) @ stdcall SHGetValueW ( long wstr wstr ptr ptr ptr ) @ stdcall SHIsLowMemoryMachine(long) -@ stdcall SHLoadIndirectString(wstr ptr long ptr) @ stdcall SHOpenRegStream2A(long str str long) @ stdcall SHOpenRegStream2W(long wstr str long) @ stdcall SHOpenRegStreamA(long str str long) Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc (original) +++ trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc Thu Nov 29 14:15:59 2007 @@ -1,7 +1,7 @@ /* * Korean resources for shlwapi * - * Copyright 2005 YunSong Hwang + * Copyright 2005,2007 YunSong Hwang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,10 +28,10 @@ LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20 LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8 CHECKBOX "ÀÌ ¸Þ¼¼Áö¸¦ ´Ù½Ã´Â º¸¿©ÁÖÁö ¸¶½Ã¿À(&I)", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - PUSHBUTTON L"È®ÀÎ(&O)" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON L"Ãë¼Ò(&C)" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON L"¿¹(&Y)" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON L"¾Æ´Ï¿À(&N)" IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "È®ÀÎ(&O)" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Ãë¼Ò(&C)" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "¿¹(&Y)" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "¾Æ´Ï¿À(&N)" IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP } Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc (original) +++ trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc Thu Nov 29 14:15:59 2007 @@ -44,7 +44,7 @@ { LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20 LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8 - CHECKBOX "Não &mostre esta mensagem novamente", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Não &mostrar esta mensagem novamente", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP PUSHBUTTON L"&OK" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON L"&Cancelar" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON L"&Sim" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP @@ -61,3 +61,13 @@ IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + +STRINGTABLE DISCARDABLE +{ + IDS_BYTES_FORMAT "%ld bytes" + IDS_TIME_INTERVAL_HOURS " hr" + IDS_TIME_INTERVAL_MINUTES " min" + IDS_TIME_INTERVAL_SECONDS " seg" +} Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc (original) +++ trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc Thu Nov 29 14:15:59 2007 @@ -1,7 +1,7 @@ /* * Swedish resources for shlwapi * - * Copyright 2005 Andreas Bjerkeholt + * Copyright 2007 Daniel Nylander * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,10 +15,10 @@ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL +LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT IDD_ERR_DIALOG DIALOG MOVEABLE DISCARDABLE 0, 0, 220, 60 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU @@ -27,7 +27,7 @@ { LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20 LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8 - CHECKBOX "&Visa inte detta meddelande igen", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Visa inte &det här meddelandet igen", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP PUSHBUTTON L"&OK" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON L"&Avbryt" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP PUSHBUTTON L"&Ja" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP @@ -36,8 +36,8 @@ STRINGTABLE DISCARDABLE { - IDS_BYTES_FORMAT "%ld bytes" - IDS_TIME_INTERVAL_HOURS " hr" + IDS_BYTES_FORMAT "%ld byte" + IDS_TIME_INTERVAL_HOURS " h" IDS_TIME_INTERVAL_MINUTES " min" - IDS_TIME_INTERVAL_SECONDS " sec" + IDS_TIME_INTERVAL_SECONDS " s" } Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff (original) +++ trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff Thu Nov 29 14:15:59 2007 @@ -2,13 +2,13 @@ =================================================================== --- shlwapi.rc (revision 25691) +++ shlwapi.rc (revision 25692) -@@ -39,4 +39,7 @@ +@@ -39,5 +39,7 @@ #include "shlwapi_No.rc" #include "shlwapi_Pl.rc" #include "shlwapi_Pt.rc" +#include "shlwapi_Ru.rc" + #include "shlwapi_Sv.rc" #include "shlwapi_Tr.rc" -+#include "shlwapi_Sv.rc" +#include "shlwapi_Uk.rc" Index: shlwapi_Ru.rc =================================================================== @@ -63,61 +63,6 @@ ___________________________________________________________________ Name: svn:eol-style + native - -Index: shlwapi_Sv.rc -=================================================================== ---- shlwapi_Sv.rc (revision 25692) -+++ shlwapi_Sv.rc (working copy) -@@ -0,0 +1,43 @@ -+/* -+ * Swedish resources for shlwapi -+ * -+ * Copyright 2005 Andreas Bjerkeholt -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ */ -+ -+LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL -+ -+IDD_ERR_DIALOG DIALOG MOVEABLE DISCARDABLE 0, 0, 220, 60 -+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -+CAPTION "Fel!" -+FONT 8, "MS Shell Dlg" -+{ -+ LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20 -+ LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8 -+ CHECKBOX "&Visa inte detta meddelande igen", IDC_ERR_DONT_SHOW, 5, 20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -+ PUSHBUTTON L"&OK" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP -+ PUSHBUTTON L"&Avbryt" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP -+ PUSHBUTTON L"&Ja" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP -+ PUSHBUTTON L"&Nej" IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP -+} -+ -+STRINGTABLE DISCARDABLE -+{ -+ IDS_BYTES_FORMAT "%ld bytes" -+ IDS_TIME_INTERVAL_HOURS " hr" -+ IDS_TIME_INTERVAL_MINUTES " min" -+ IDS_TIME_INTERVAL_SECONDS " sec" -+} - -Property shlwapi_Sv.rc -___________________________________________________________________ -Name: svn:eol-style - + native - Index: shlwapi_Uk.rc =================================================================== --- shlwapi_Uk.rc (revision 25692) Modified: trunk/reactos/dll/win32/shlwapi/string.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/string.c…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/string.c (original) +++ trunk/reactos/dll/win32/shlwapi/string.c Thu Nov 29 14:15:59 2007 @@ -66,8 +66,8 @@ fmt->lpThousandSep = thousand_buffer; fmt->lpDecimalSep = decimal_buffer; - /* - * Converting grouping string to number as described on + /* + * Converting grouping string to number as described on *
http://blogs.msdn.com/oldnewthing/archive/2006/04/18/578251.aspx
*/ fmt->Grouping = 0; @@ -113,7 +113,7 @@ } while (qdwValue > 0); if (neg) *(--c) = '-'; - + return GetNumberFormatW(LOCALE_USER_DEFAULT, 0, c, &fmt, pszBuf, cchBuf); } @@ -132,7 +132,7 @@ WCHAR buf[64]; NUMBERFMTW fmt; WCHAR decimal[8], thousand[8]; - + snprintfW(buf, 64, flfmt, value); FillNumberFmt(&fmt, decimal, sizeof decimal / sizeof (WCHAR), @@ -1558,7 +1558,7 @@ LPSTR WINAPI StrFormatKBSizeA(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax) { WCHAR wszBuf[256]; - + if (!StrFormatKBSizeW(llBytes, wszBuf, 256)) return NULL; if (!WideCharToMultiByte(CP_ACP, 0, wszBuf, -1, lpszDest, cchMax, NULL, NULL)) @@ -2699,7 +2699,7 @@ *index_str = 0; index_str++; index = atoiW(index_str); - + hmod = LoadLibraryW(dllname); if(!hmod) goto end; Modified: trunk/reactos/dll/win32/shlwapi/thread.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/thread.c…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/thread.c (original) +++ trunk/reactos/dll/win32/shlwapi/thread.c Thu Nov 29 14:15:59 2007 @@ -43,7 +43,7 @@ INT WINAPI SHStringFromGUIDA(REFGUID,LPSTR,INT); /************************************************************************** - * _CreateAllAccessSecurityAttributes [SHLWAPI.356] + * CreateAllAccessSecurityAttributes [SHLWAPI.356] * * Initialise security attributes from a security descriptor. * @@ -60,7 +60,7 @@ * Wine is impersonating does not use security descriptors (i.e. anything * before Windows NT). */ -LPSECURITY_ATTRIBUTES WINAPI _CreateAllAccessSecurityAttributes( +LPSECURITY_ATTRIBUTES WINAPI CreateAllAccessSecurityAttributes( LPSECURITY_ATTRIBUTES lpAttr, PSECURITY_DESCRIPTOR lpSec, DWORD p3) @@ -184,7 +184,7 @@ * Success: S_OK. The threads object reference is released. * Failure: An HRESULT error code. */ -HRESULT WINAPI SHReleaseThreadRef() +HRESULT WINAPI SHReleaseThreadRef(void) { FIXME("() - stub!\n"); return S_OK; @@ -327,7 +327,7 @@ } /************************************************************************* - * _SHGlobalCounterGetValue [SHLWAPI.223] + * SHGlobalCounterGetValue [SHLWAPI.223] * * Get the current count of a semaphore. * @@ -337,7 +337,7 @@ * RETURNS * The current count of the semaphore. */ -LONG WINAPI _SHGlobalCounterGetValue(HANDLE hSem) +LONG WINAPI SHGlobalCounterGetValue(HANDLE hSem) { LONG dwOldCount = 0; @@ -348,7 +348,7 @@ } /************************************************************************* - * _SHGlobalCounterIncrement [SHLWAPI.224] + * SHGlobalCounterIncrement [SHLWAPI.224] * * Claim a semaphore. * @@ -358,7 +358,7 @@ * RETURNS * The new count of the semaphore. */ -LONG WINAPI _SHGlobalCounterIncrement(HANDLE hSem) +LONG WINAPI SHGlobalCounterIncrement(HANDLE hSem) { LONG dwOldCount = 0; @@ -368,7 +368,7 @@ } /************************************************************************* - * _SHGlobalCounterDecrement [SHLWAPI.424] + * SHGlobalCounterDecrement [SHLWAPI.424] * * Release a semaphore. * @@ -378,23 +378,23 @@ * RETURNS * The new count of the semaphore. */ -DWORD WINAPI _SHGlobalCounterDecrement(HANDLE hSem) +DWORD WINAPI SHGlobalCounterDecrement(HANDLE hSem) { DWORD dwOldCount = 0; TRACE("(%p)\n", hSem); - dwOldCount = _SHGlobalCounterGetValue(hSem); + dwOldCount = SHGlobalCounterGetValue(hSem); WaitForSingleObject(hSem, 0); return dwOldCount - 1; } /************************************************************************* - * _SHGlobalCounterCreateNamedW [SHLWAPI.423] - * - * Unicode version of _SHGlobalCounterCreateNamedA. - */ -HANDLE WINAPI _SHGlobalCounterCreateNamedW(LPCWSTR lpszName, DWORD iInitial) + * SHGlobalCounterCreateNamedW [SHLWAPI.423] + * + * Unicode version of SHGlobalCounterCreateNamedA. + */ +HANDLE WINAPI SHGlobalCounterCreateNamedW(LPCWSTR lpszName, DWORD iInitial) { static const WCHAR szPrefix[] = { 's', 'h', 'e', 'l', 'l', '.', '\0' }; const int iPrefixLen = 6; @@ -412,7 +412,7 @@ StrCpyNW(szBuff + iPrefixLen, lpszName, iBuffLen - iPrefixLen); /* Initialise security attributes */ - pSecAttr = _CreateAllAccessSecurityAttributes(&sAttr, &sd, 0); + pSecAttr = CreateAllAccessSecurityAttributes(&sAttr, &sd, 0); if (!(hRet = CreateSemaphoreW(pSecAttr , iInitial, MAXLONG, szBuff))) hRet = OpenSemaphoreW(SYNCHRONIZE|SEMAPHORE_MODIFY_STATE, 0, szBuff); @@ -420,7 +420,7 @@ } /************************************************************************* - * _SHGlobalCounterCreateNamedA [SHLWAPI.422] + * SHGlobalCounterCreateNamedA [SHLWAPI.422] * * Create a semaphore. * @@ -431,7 +431,7 @@ * RETURNS * A new semaphore handle. */ -HANDLE WINAPI _SHGlobalCounterCreateNamedA(LPCSTR lpszName, DWORD iInitial) +HANDLE WINAPI SHGlobalCounterCreateNamedA(LPCSTR lpszName, DWORD iInitial) { WCHAR szBuff[MAX_PATH]; @@ -439,11 +439,11 @@ if (lpszName) MultiByteToWideChar(0, 0, lpszName, -1, szBuff, MAX_PATH); - return _SHGlobalCounterCreateNamedW(lpszName ? szBuff : NULL, iInitial); -} - -/************************************************************************* - * _SHGlobalCounterCreate [SHLWAPI.222] + return SHGlobalCounterCreateNamedW(lpszName ? szBuff : NULL, iInitial); +} + +/************************************************************************* + * SHGlobalCounterCreate [SHLWAPI.222] * * Create a semaphore using the name of a GUID. * @@ -456,7 +456,7 @@ * NOTES * The initial count of the semaphore is set to 0. */ -HANDLE WINAPI _SHGlobalCounterCreate (REFGUID guid) +HANDLE WINAPI SHGlobalCounterCreate (REFGUID guid) { char szName[40]; @@ -464,5 +464,5 @@ /* Create a named semaphore using the GUID string */ SHStringFromGUIDA(guid, szName, sizeof(szName) - 1); - return _SHGlobalCounterCreateNamedA(szName, 0); -} + return SHGlobalCounterCreateNamedA(szName, 0); +} Modified: trunk/reactos/dll/win32/shlwapi/url.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/url.c?re…
============================================================================== --- trunk/reactos/dll/win32/shlwapi/url.c (original) +++ trunk/reactos/dll/win32/shlwapi/url.c Thu Nov 29 14:15:59 2007 @@ -268,11 +268,11 @@ LPDWORD pcchCanonicalized, DWORD dwFlags) { LPWSTR base, canonical; - DWORD ret, len, len2; - - TRACE("(%s %p %p 0x%08x) using W version\n", - debugstr_a(pszUrl), pszCanonicalized, - pcchCanonicalized, dwFlags); + HRESULT ret; + DWORD len, len2; + + TRACE("(%s, %p, %p, 0x%08x) *pcchCanonicalized: %d\n", debugstr_a(pszUrl), pszCanonicalized, + pcchCanonicalized, dwFlags, pcchCanonicalized ? *pcchCanonicalized : -1); if(!pszUrl || !pszCanonicalized || !pcchCanonicalized) return E_INVALIDARG; @@ -286,19 +286,19 @@ ret = UrlCanonicalizeW(base, canonical, &len, dwFlags); if (ret != S_OK) { - HeapFree(GetProcessHeap(), 0, base); - return ret; - } - - len2 = WideCharToMultiByte(0, 0, canonical, len, 0, 0, 0, 0); + *pcchCanonicalized = len * 2; + HeapFree(GetProcessHeap(), 0, base); + return ret; + } + + len2 = WideCharToMultiByte(0, 0, canonical, -1, 0, 0, 0, 0); if (len2 > *pcchCanonicalized) { - *pcchCanonicalized = len; - HeapFree(GetProcessHeap(), 0, base); - return E_POINTER; - } - WideCharToMultiByte(0, 0, canonical, len+1, pszCanonicalized, - *pcchCanonicalized, 0, 0); - *pcchCanonicalized = len2; + *pcchCanonicalized = len2; + HeapFree(GetProcessHeap(), 0, base); + return E_POINTER; + } + WideCharToMultiByte(0, 0, canonical, -1, pszCanonicalized, *pcchCanonicalized, 0, 0); + *pcchCanonicalized = len; HeapFree(GetProcessHeap(), 0, base); return S_OK; } @@ -320,8 +320,8 @@ static const WCHAR wszFile[] = {'f','i','l','e',':'}; - TRACE("(%s %p %p 0x%08x)\n", debugstr_w(pszUrl), pszCanonicalized, - pcchCanonicalized, dwFlags); + TRACE("(%s, %p, %p, 0x%08x) *pcchCanonicalized: %d\n", debugstr_w(pszUrl), pszCanonicalized, + pcchCanonicalized, dwFlags, pcchCanonicalized ? *pcchCanonicalized : -1); if(!pszUrl || !pszCanonicalized || !pcchCanonicalized) return E_INVALIDARG; @@ -332,7 +332,8 @@ } nByteLen = (lstrlenW(pszUrl) + 1) * sizeof(WCHAR); /* length in bytes */ - lpszUrlCpy = HeapAlloc(GetProcessHeap(), 0, INTERNET_MAX_URL_LENGTH); + lpszUrlCpy = HeapAlloc(GetProcessHeap(), 0, + INTERNET_MAX_URL_LENGTH * sizeof(WCHAR)); if((dwFlags & URL_FILE_USE_PATHURL) && nByteLen >= sizeof(wszFile) && !memcmp(wszFile, pszUrl, sizeof(wszFile))) @@ -425,7 +426,7 @@ state = 3; break; } - + /* Now at root location, cannot back up any more. */ /* "root" will point at the '/' */ @@ -735,8 +736,9 @@ process_case = 4; break; } - /* case where scheme is followed by document path */ - process_case = 5; + /* replace either just location if base's location starts with a + * slash or otherwise everything */ + process_case = (*base.pszSuffix == '/') ? 5 : 1; break; } if ((*relative.pszSuffix == '/') && (*(relative.pszSuffix+1) == '/')) { @@ -1044,7 +1046,7 @@ for(src = pszUrl; *src; ) { WCHAR cur = *src; len = 0; - + if((int_flags & WINE_URL_COLLAPSE_SLASHES) && src == pszUrl + parsed_url.cchProtocol + 1) { int localhost_len = sizeof(localhost)/sizeof(WCHAR) - 1; while(cur == '/' || cur == '\\') { @@ -1443,7 +1445,7 @@ * pszUrl [I] Url to hash * lpDest [O] Destinationh for hash * nDestLen [I] Length of lpDest - * + * * RETURNS * Success: S_OK. lpDest is filled with the computed hash value. * Failure: E_INVALIDARG, if any argument is invalid. @@ -2178,7 +2180,7 @@ /************************************************************************* * UrlCreateFromPathA [SHLWAPI.@] - * + * * See UrlCreateFromPathW */ HRESULT WINAPI UrlCreateFromPathA(LPCSTR pszPath, LPSTR pszUrl, LPDWORD pcchUrl, DWORD dwReserved)
17 years
1
0
0
0
[winesync] 30886: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:15:00 2007 New Revision: 30886 URL:
http://svn.reactos.org/svn/reactos?rev=30886&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/shfolder/shfolder.rbuild Modified: trunk/reactos/dll/win32/shfolder/shfolder.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shfolder/shfolde…
============================================================================== --- trunk/reactos/dll/win32/shfolder/shfolder.rbuild (original) +++ trunk/reactos/dll/win32/shfolder/shfolder.rbuild Thu Nov 29 14:15:00 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="shfolder" type="win32dll" entrypoint="0" baseaddress="${BASEADDRESS_SHFOLDER}" installbase="system32" installname="shfolder.dll" allowwarnings="true"> <importlibrary definition="shfolder.spec.def" /> <include base="shfolder">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>shell32</library> <library>kernel32</library>
17 years
1
0
0
0
[winesync] 30885: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:14:22 2007 New Revision: 30885 URL:
http://svn.reactos.org/svn/reactos?rev=30885&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/sensapi/sensapi.rbuild Modified: trunk/reactos/dll/win32/sensapi/sensapi.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/sensapi/sensapi.…
============================================================================== --- trunk/reactos/dll/win32/sensapi/sensapi.rbuild (original) +++ trunk/reactos/dll/win32/sensapi/sensapi.rbuild Thu Nov 29 14:14:22 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="sensapi" type="win32dll" baseaddress="${BASEADDRESS_SENSAPI}" installbase="system32" installname="sensapi.dll" allowwarnings="true"> <importlibrary definition="sensapi.spec.def" /> <include base="sensapi">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>kernel32</library> <library>ntdll</library>
17 years
1
0
0
0
[winesync] 30884: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:13:58 2007 New Revision: 30884 URL:
http://svn.reactos.org/svn/reactos?rev=30884&view=rev
Log: Autosyncing with Wine HEAD Added: trunk/reactos/dll/win32/rsaenh/aes.c (with props) Modified: trunk/reactos/dll/win32/rsaenh/implglue.c trunk/reactos/dll/win32/rsaenh/implglue.h trunk/reactos/dll/win32/rsaenh/rsaenh.c trunk/reactos/dll/win32/rsaenh/rsaenh.rbuild trunk/reactos/dll/win32/rsaenh/rsaenh_ros.diff trunk/reactos/dll/win32/rsaenh/tomcrypt.h Added: trunk/reactos/dll/win32/rsaenh/aes.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsaenh/aes.c?rev…
============================================================================== --- trunk/reactos/dll/win32/rsaenh/aes.c (added) +++ trunk/reactos/dll/win32/rsaenh/aes.c Thu Nov 29 14:13:58 2007 @@ -1,0 +1,1333 @@ +/* + * AES functions + * + * Copyright 2007 Vijay Kiran Kamuju + * Based on public domain code by Tom St Denis (tomstdenis(a)iahu.ca) + * and Dobes Vandermeer. + * + * 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 + */ + +/* + * This file contains code from the LibTomCrypt cryptographic + * library written by Tom St Denis (tomstdenis(a)iahu.ca). LibTomCrypt + * is in the public domain. The code in this file is tailored to + * special requirements. Take a look at
http://libtom.org
for the + * original version. + */ + +#include "tomcrypt.h" + +static const ulong32 TE0[256] = { + 0xc66363a5UL, 0xf87c7c84UL, 0xee777799UL, 0xf67b7b8dUL, + 0xfff2f20dUL, 0xd66b6bbdUL, 0xde6f6fb1UL, 0x91c5c554UL, + 0x60303050UL, 0x02010103UL, 0xce6767a9UL, 0x562b2b7dUL, + 0xe7fefe19UL, 0xb5d7d762UL, 0x4dababe6UL, 0xec76769aUL, + 0x8fcaca45UL, 0x1f82829dUL, 0x89c9c940UL, 0xfa7d7d87UL, + 0xeffafa15UL, 0xb25959ebUL, 0x8e4747c9UL, 0xfbf0f00bUL, + 0x41adadecUL, 0xb3d4d467UL, 0x5fa2a2fdUL, 0x45afafeaUL, + 0x239c9cbfUL, 0x53a4a4f7UL, 0xe4727296UL, 0x9bc0c05bUL, + 0x75b7b7c2UL, 0xe1fdfd1cUL, 0x3d9393aeUL, 0x4c26266aUL, + 0x6c36365aUL, 0x7e3f3f41UL, 0xf5f7f702UL, 0x83cccc4fUL, + 0x6834345cUL, 0x51a5a5f4UL, 0xd1e5e534UL, 0xf9f1f108UL, + 0xe2717193UL, 0xabd8d873UL, 0x62313153UL, 0x2a15153fUL, + 0x0804040cUL, 0x95c7c752UL, 0x46232365UL, 0x9dc3c35eUL, + 0x30181828UL, 0x379696a1UL, 0x0a05050fUL, 0x2f9a9ab5UL, + 0x0e070709UL, 0x24121236UL, 0x1b80809bUL, 0xdfe2e23dUL, + 0xcdebeb26UL, 0x4e272769UL, 0x7fb2b2cdUL, 0xea75759fUL, + 0x1209091bUL, 0x1d83839eUL, 0x582c2c74UL, 0x341a1a2eUL, + 0x361b1b2dUL, 0xdc6e6eb2UL, 0xb45a5aeeUL, 0x5ba0a0fbUL, + 0xa45252f6UL, 0x763b3b4dUL, 0xb7d6d661UL, 0x7db3b3ceUL, + 0x5229297bUL, 0xdde3e33eUL, 0x5e2f2f71UL, 0x13848497UL, + 0xa65353f5UL, 0xb9d1d168UL, 0x00000000UL, 0xc1eded2cUL, + 0x40202060UL, 0xe3fcfc1fUL, 0x79b1b1c8UL, 0xb65b5bedUL, + 0xd46a6abeUL, 0x8dcbcb46UL, 0x67bebed9UL, 0x7239394bUL, + 0x944a4adeUL, 0x984c4cd4UL, 0xb05858e8UL, 0x85cfcf4aUL, + 0xbbd0d06bUL, 0xc5efef2aUL, 0x4faaaae5UL, 0xedfbfb16UL, + 0x864343c5UL, 0x9a4d4dd7UL, 0x66333355UL, 0x11858594UL, + 0x8a4545cfUL, 0xe9f9f910UL, 0x04020206UL, 0xfe7f7f81UL, + 0xa05050f0UL, 0x783c3c44UL, 0x259f9fbaUL, 0x4ba8a8e3UL, + 0xa25151f3UL, 0x5da3a3feUL, 0x804040c0UL, 0x058f8f8aUL, + 0x3f9292adUL, 0x219d9dbcUL, 0x70383848UL, 0xf1f5f504UL, + 0x63bcbcdfUL, 0x77b6b6c1UL, 0xafdada75UL, 0x42212163UL, + 0x20101030UL, 0xe5ffff1aUL, 0xfdf3f30eUL, 0xbfd2d26dUL, + 0x81cdcd4cUL, 0x180c0c14UL, 0x26131335UL, 0xc3ecec2fUL, + 0xbe5f5fe1UL, 0x359797a2UL, 0x884444ccUL, 0x2e171739UL, + 0x93c4c457UL, 0x55a7a7f2UL, 0xfc7e7e82UL, 0x7a3d3d47UL, + 0xc86464acUL, 0xba5d5de7UL, 0x3219192bUL, 0xe6737395UL, + 0xc06060a0UL, 0x19818198UL, 0x9e4f4fd1UL, 0xa3dcdc7fUL, + 0x44222266UL, 0x542a2a7eUL, 0x3b9090abUL, 0x0b888883UL, + 0x8c4646caUL, 0xc7eeee29UL, 0x6bb8b8d3UL, 0x2814143cUL, + 0xa7dede79UL, 0xbc5e5ee2UL, 0x160b0b1dUL, 0xaddbdb76UL, + 0xdbe0e03bUL, 0x64323256UL, 0x743a3a4eUL, 0x140a0a1eUL, + 0x924949dbUL, 0x0c06060aUL, 0x4824246cUL, 0xb85c5ce4UL, + 0x9fc2c25dUL, 0xbdd3d36eUL, 0x43acacefUL, 0xc46262a6UL, + 0x399191a8UL, 0x319595a4UL, 0xd3e4e437UL, 0xf279798bUL, + 0xd5e7e732UL, 0x8bc8c843UL, 0x6e373759UL, 0xda6d6db7UL, + 0x018d8d8cUL, 0xb1d5d564UL, 0x9c4e4ed2UL, 0x49a9a9e0UL, + 0xd86c6cb4UL, 0xac5656faUL, 0xf3f4f407UL, 0xcfeaea25UL, + 0xca6565afUL, 0xf47a7a8eUL, 0x47aeaee9UL, 0x10080818UL, + 0x6fbabad5UL, 0xf0787888UL, 0x4a25256fUL, 0x5c2e2e72UL, + 0x381c1c24UL, 0x57a6a6f1UL, 0x73b4b4c7UL, 0x97c6c651UL, + 0xcbe8e823UL, 0xa1dddd7cUL, 0xe874749cUL, 0x3e1f1f21UL, + 0x964b4bddUL, 0x61bdbddcUL, 0x0d8b8b86UL, 0x0f8a8a85UL, + 0xe0707090UL, 0x7c3e3e42UL, 0x71b5b5c4UL, 0xcc6666aaUL, + 0x904848d8UL, 0x06030305UL, 0xf7f6f601UL, 0x1c0e0e12UL, + 0xc26161a3UL, 0x6a35355fUL, 0xae5757f9UL, 0x69b9b9d0UL, + 0x17868691UL, 0x99c1c158UL, 0x3a1d1d27UL, 0x279e9eb9UL, + 0xd9e1e138UL, 0xebf8f813UL, 0x2b9898b3UL, 0x22111133UL, + 0xd26969bbUL, 0xa9d9d970UL, 0x078e8e89UL, 0x339494a7UL, + 0x2d9b9bb6UL, 0x3c1e1e22UL, 0x15878792UL, 0xc9e9e920UL, + 0x87cece49UL, 0xaa5555ffUL, 0x50282878UL, 0xa5dfdf7aUL, + 0x038c8c8fUL, 0x59a1a1f8UL, 0x09898980UL, 0x1a0d0d17UL, + 0x65bfbfdaUL, 0xd7e6e631UL, 0x844242c6UL, 0xd06868b8UL, + 0x824141c3UL, 0x299999b0UL, 0x5a2d2d77UL, 0x1e0f0f11UL, + 0x7bb0b0cbUL, 0xa85454fcUL, 0x6dbbbbd6UL, 0x2c16163aUL, +}; + +static const ulong32 Te4[256] = { + 0x63636363UL, 0x7c7c7c7cUL, 0x77777777UL, 0x7b7b7b7bUL, + 0xf2f2f2f2UL, 0x6b6b6b6bUL, 0x6f6f6f6fUL, 0xc5c5c5c5UL, + 0x30303030UL, 0x01010101UL, 0x67676767UL, 0x2b2b2b2bUL, + 0xfefefefeUL, 0xd7d7d7d7UL, 0xababababUL, 0x76767676UL, + 0xcacacacaUL, 0x82828282UL, 0xc9c9c9c9UL, 0x7d7d7d7dUL, + 0xfafafafaUL, 0x59595959UL, 0x47474747UL, 0xf0f0f0f0UL, + 0xadadadadUL, 0xd4d4d4d4UL, 0xa2a2a2a2UL, 0xafafafafUL, + 0x9c9c9c9cUL, 0xa4a4a4a4UL, 0x72727272UL, 0xc0c0c0c0UL, + 0xb7b7b7b7UL, 0xfdfdfdfdUL, 0x93939393UL, 0x26262626UL, + 0x36363636UL, 0x3f3f3f3fUL, 0xf7f7f7f7UL, 0xccccccccUL, + 0x34343434UL, 0xa5a5a5a5UL, 0xe5e5e5e5UL, 0xf1f1f1f1UL, + 0x71717171UL, 0xd8d8d8d8UL, 0x31313131UL, 0x15151515UL, + 0x04040404UL, 0xc7c7c7c7UL, 0x23232323UL, 0xc3c3c3c3UL, + 0x18181818UL, 0x96969696UL, 0x05050505UL, 0x9a9a9a9aUL, + 0x07070707UL, 0x12121212UL, 0x80808080UL, 0xe2e2e2e2UL, + 0xebebebebUL, 0x27272727UL, 0xb2b2b2b2UL, 0x75757575UL, + 0x09090909UL, 0x83838383UL, 0x2c2c2c2cUL, 0x1a1a1a1aUL, + 0x1b1b1b1bUL, 0x6e6e6e6eUL, 0x5a5a5a5aUL, 0xa0a0a0a0UL, + 0x52525252UL, 0x3b3b3b3bUL, 0xd6d6d6d6UL, 0xb3b3b3b3UL, + 0x29292929UL, 0xe3e3e3e3UL, 0x2f2f2f2fUL, 0x84848484UL, + 0x53535353UL, 0xd1d1d1d1UL, 0x00000000UL, 0xededededUL, + 0x20202020UL, 0xfcfcfcfcUL, 0xb1b1b1b1UL, 0x5b5b5b5bUL, + 0x6a6a6a6aUL, 0xcbcbcbcbUL, 0xbebebebeUL, 0x39393939UL, + 0x4a4a4a4aUL, 0x4c4c4c4cUL, 0x58585858UL, 0xcfcfcfcfUL, + 0xd0d0d0d0UL, 0xefefefefUL, 0xaaaaaaaaUL, 0xfbfbfbfbUL, + 0x43434343UL, 0x4d4d4d4dUL, 0x33333333UL, 0x85858585UL, + 0x45454545UL, 0xf9f9f9f9UL, 0x02020202UL, 0x7f7f7f7fUL, + 0x50505050UL, 0x3c3c3c3cUL, 0x9f9f9f9fUL, 0xa8a8a8a8UL, + 0x51515151UL, 0xa3a3a3a3UL, 0x40404040UL, 0x8f8f8f8fUL, + 0x92929292UL, 0x9d9d9d9dUL, 0x38383838UL, 0xf5f5f5f5UL, + 0xbcbcbcbcUL, 0xb6b6b6b6UL, 0xdadadadaUL, 0x21212121UL, + 0x10101010UL, 0xffffffffUL, 0xf3f3f3f3UL, 0xd2d2d2d2UL, + 0xcdcdcdcdUL, 0x0c0c0c0cUL, 0x13131313UL, 0xececececUL, + 0x5f5f5f5fUL, 0x97979797UL, 0x44444444UL, 0x17171717UL, + 0xc4c4c4c4UL, 0xa7a7a7a7UL, 0x7e7e7e7eUL, 0x3d3d3d3dUL, + 0x64646464UL, 0x5d5d5d5dUL, 0x19191919UL, 0x73737373UL, + 0x60606060UL, 0x81818181UL, 0x4f4f4f4fUL, 0xdcdcdcdcUL, + 0x22222222UL, 0x2a2a2a2aUL, 0x90909090UL, 0x88888888UL, + 0x46464646UL, 0xeeeeeeeeUL, 0xb8b8b8b8UL, 0x14141414UL, + 0xdedededeUL, 0x5e5e5e5eUL, 0x0b0b0b0bUL, 0xdbdbdbdbUL, + 0xe0e0e0e0UL, 0x32323232UL, 0x3a3a3a3aUL, 0x0a0a0a0aUL, + 0x49494949UL, 0x06060606UL, 0x24242424UL, 0x5c5c5c5cUL, + 0xc2c2c2c2UL, 0xd3d3d3d3UL, 0xacacacacUL, 0x62626262UL, + 0x91919191UL, 0x95959595UL, 0xe4e4e4e4UL, 0x79797979UL, + 0xe7e7e7e7UL, 0xc8c8c8c8UL, 0x37373737UL, 0x6d6d6d6dUL, + 0x8d8d8d8dUL, 0xd5d5d5d5UL, 0x4e4e4e4eUL, 0xa9a9a9a9UL, + 0x6c6c6c6cUL, 0x56565656UL, 0xf4f4f4f4UL, 0xeaeaeaeaUL, + 0x65656565UL, 0x7a7a7a7aUL, 0xaeaeaeaeUL, 0x08080808UL, + 0xbabababaUL, 0x78787878UL, 0x25252525UL, 0x2e2e2e2eUL, + 0x1c1c1c1cUL, 0xa6a6a6a6UL, 0xb4b4b4b4UL, 0xc6c6c6c6UL, + 0xe8e8e8e8UL, 0xddddddddUL, 0x74747474UL, 0x1f1f1f1fUL, + 0x4b4b4b4bUL, 0xbdbdbdbdUL, 0x8b8b8b8bUL, 0x8a8a8a8aUL, + 0x70707070UL, 0x3e3e3e3eUL, 0xb5b5b5b5UL, 0x66666666UL, + 0x48484848UL, 0x03030303UL, 0xf6f6f6f6UL, 0x0e0e0e0eUL, + 0x61616161UL, 0x35353535UL, 0x57575757UL, 0xb9b9b9b9UL, + 0x86868686UL, 0xc1c1c1c1UL, 0x1d1d1d1dUL, 0x9e9e9e9eUL, + 0xe1e1e1e1UL, 0xf8f8f8f8UL, 0x98989898UL, 0x11111111UL, + 0x69696969UL, 0xd9d9d9d9UL, 0x8e8e8e8eUL, 0x94949494UL, + 0x9b9b9b9bUL, 0x1e1e1e1eUL, 0x87878787UL, 0xe9e9e9e9UL, + 0xcecececeUL, 0x55555555UL, 0x28282828UL, 0xdfdfdfdfUL, + 0x8c8c8c8cUL, 0xa1a1a1a1UL, 0x89898989UL, 0x0d0d0d0dUL, + 0xbfbfbfbfUL, 0xe6e6e6e6UL, 0x42424242UL, 0x68686868UL, + 0x41414141UL, 0x99999999UL, 0x2d2d2d2dUL, 0x0f0f0f0fUL, + 0xb0b0b0b0UL, 0x54545454UL, 0xbbbbbbbbUL, 0x16161616UL, +}; + +static const ulong32 TD0[256] = { + 0x51f4a750UL, 0x7e416553UL, 0x1a17a4c3UL, 0x3a275e96UL, + 0x3bab6bcbUL, 0x1f9d45f1UL, 0xacfa58abUL, 0x4be30393UL, + 0x2030fa55UL, 0xad766df6UL, 0x88cc7691UL, 0xf5024c25UL, + 0x4fe5d7fcUL, 0xc52acbd7UL, 0x26354480UL, 0xb562a38fUL, + 0xdeb15a49UL, 0x25ba1b67UL, 0x45ea0e98UL, 0x5dfec0e1UL, + 0xc32f7502UL, 0x814cf012UL, 0x8d4697a3UL, 0x6bd3f9c6UL, + 0x038f5fe7UL, 0x15929c95UL, 0xbf6d7aebUL, 0x955259daUL, + 0xd4be832dUL, 0x587421d3UL, 0x49e06929UL, 0x8ec9c844UL, + 0x75c2896aUL, 0xf48e7978UL, 0x99583e6bUL, 0x27b971ddUL, + 0xbee14fb6UL, 0xf088ad17UL, 0xc920ac66UL, 0x7dce3ab4UL, + 0x63df4a18UL, 0xe51a3182UL, 0x97513360UL, 0x62537f45UL, + 0xb16477e0UL, 0xbb6bae84UL, 0xfe81a01cUL, 0xf9082b94UL, + 0x70486858UL, 0x8f45fd19UL, 0x94de6c87UL, 0x527bf8b7UL, + 0xab73d323UL, 0x724b02e2UL, 0xe31f8f57UL, 0x6655ab2aUL, + 0xb2eb2807UL, 0x2fb5c203UL, 0x86c57b9aUL, 0xd33708a5UL, + 0x302887f2UL, 0x23bfa5b2UL, 0x02036abaUL, 0xed16825cUL, + 0x8acf1c2bUL, 0xa779b492UL, 0xf307f2f0UL, 0x4e69e2a1UL, + 0x65daf4cdUL, 0x0605bed5UL, 0xd134621fUL, 0xc4a6fe8aUL, + 0x342e539dUL, 0xa2f355a0UL, 0x058ae132UL, 0xa4f6eb75UL, + 0x0b83ec39UL, 0x4060efaaUL, 0x5e719f06UL, 0xbd6e1051UL, + 0x3e218af9UL, 0x96dd063dUL, 0xdd3e05aeUL, 0x4de6bd46UL, + 0x91548db5UL, 0x71c45d05UL, 0x0406d46fUL, 0x605015ffUL, + 0x1998fb24UL, 0xd6bde997UL, 0x894043ccUL, 0x67d99e77UL, + 0xb0e842bdUL, 0x07898b88UL, 0xe7195b38UL, 0x79c8eedbUL, + 0xa17c0a47UL, 0x7c420fe9UL, 0xf8841ec9UL, 0x00000000UL, + 0x09808683UL, 0x322bed48UL, 0x1e1170acUL, 0x6c5a724eUL, + 0xfd0efffbUL, 0x0f853856UL, 0x3daed51eUL, 0x362d3927UL, + 0x0a0fd964UL, 0x685ca621UL, 0x9b5b54d1UL, 0x24362e3aUL, + 0x0c0a67b1UL, 0x9357e70fUL, 0xb4ee96d2UL, 0x1b9b919eUL, + 0x80c0c54fUL, 0x61dc20a2UL, 0x5a774b69UL, 0x1c121a16UL, + 0xe293ba0aUL, 0xc0a02ae5UL, 0x3c22e043UL, 0x121b171dUL, + 0x0e090d0bUL, 0xf28bc7adUL, 0x2db6a8b9UL, 0x141ea9c8UL, + 0x57f11985UL, 0xaf75074cUL, 0xee99ddbbUL, 0xa37f60fdUL, + 0xf701269fUL, 0x5c72f5bcUL, 0x44663bc5UL, 0x5bfb7e34UL, + 0x8b432976UL, 0xcb23c6dcUL, 0xb6edfc68UL, 0xb8e4f163UL, + 0xd731dccaUL, 0x42638510UL, 0x13972240UL, 0x84c61120UL, + 0x854a247dUL, 0xd2bb3df8UL, 0xaef93211UL, 0xc729a16dUL, + 0x1d9e2f4bUL, 0xdcb230f3UL, 0x0d8652ecUL, 0x77c1e3d0UL, + 0x2bb3166cUL, 0xa970b999UL, 0x119448faUL, 0x47e96422UL, + 0xa8fc8cc4UL, 0xa0f03f1aUL, 0x567d2cd8UL, 0x223390efUL, + 0x87494ec7UL, 0xd938d1c1UL, 0x8ccaa2feUL, 0x98d40b36UL, + 0xa6f581cfUL, 0xa57ade28UL, 0xdab78e26UL, 0x3fadbfa4UL, + 0x2c3a9de4UL, 0x5078920dUL, 0x6a5fcc9bUL, 0x547e4662UL, + 0xf68d13c2UL, 0x90d8b8e8UL, 0x2e39f75eUL, 0x82c3aff5UL, + 0x9f5d80beUL, 0x69d0937cUL, 0x6fd52da9UL, 0xcf2512b3UL, + 0xc8ac993bUL, 0x10187da7UL, 0xe89c636eUL, 0xdb3bbb7bUL, + 0xcd267809UL, 0x6e5918f4UL, 0xec9ab701UL, 0x834f9aa8UL, + 0xe6956e65UL, 0xaaffe67eUL, 0x21bccf08UL, 0xef15e8e6UL, + 0xbae79bd9UL, 0x4a6f36ceUL, 0xea9f09d4UL, 0x29b07cd6UL, + 0x31a4b2afUL, 0x2a3f2331UL, 0xc6a59430UL, 0x35a266c0UL, + 0x744ebc37UL, 0xfc82caa6UL, 0xe090d0b0UL, 0x33a7d815UL, + 0xf104984aUL, 0x41ecdaf7UL, 0x7fcd500eUL, 0x1791f62fUL, + 0x764dd68dUL, 0x43efb04dUL, 0xccaa4d54UL, 0xe49604dfUL, + 0x9ed1b5e3UL, 0x4c6a881bUL, 0xc12c1fb8UL, 0x4665517fUL, + 0x9d5eea04UL, 0x018c355dUL, 0xfa877473UL, 0xfb0b412eUL, + 0xb3671d5aUL, 0x92dbd252UL, 0xe9105633UL, 0x6dd64713UL, + 0x9ad7618cUL, 0x37a10c7aUL, 0x59f8148eUL, 0xeb133c89UL, + 0xcea927eeUL, 0xb761c935UL, 0xe11ce5edUL, 0x7a47b13cUL, + 0x9cd2df59UL, 0x55f2733fUL, 0x1814ce79UL, 0x73c737bfUL, + 0x53f7cdeaUL, 0x5ffdaa5bUL, 0xdf3d6f14UL, 0x7844db86UL, + 0xcaaff381UL, 0xb968c43eUL, 0x3824342cUL, 0xc2a3405fUL, + 0x161dc372UL, 0xbce2250cUL, 0x283c498bUL, 0xff0d9541UL, + 0x39a80171UL, 0x080cb3deUL, 0xd8b4e49cUL, 0x6456c190UL, + 0x7bcb8461UL, 0xd532b670UL, 0x486c5c74UL, 0xd0b85742UL, +}; + +static const ulong32 Td4[256] = { + 0x52525252UL, 0x09090909UL, 0x6a6a6a6aUL, 0xd5d5d5d5UL, + 0x30303030UL, 0x36363636UL, 0xa5a5a5a5UL, 0x38383838UL, + 0xbfbfbfbfUL, 0x40404040UL, 0xa3a3a3a3UL, 0x9e9e9e9eUL, + 0x81818181UL, 0xf3f3f3f3UL, 0xd7d7d7d7UL, 0xfbfbfbfbUL, + 0x7c7c7c7cUL, 0xe3e3e3e3UL, 0x39393939UL, 0x82828282UL, + 0x9b9b9b9bUL, 0x2f2f2f2fUL, 0xffffffffUL, 0x87878787UL, + 0x34343434UL, 0x8e8e8e8eUL, 0x43434343UL, 0x44444444UL, + 0xc4c4c4c4UL, 0xdedededeUL, 0xe9e9e9e9UL, 0xcbcbcbcbUL, + 0x54545454UL, 0x7b7b7b7bUL, 0x94949494UL, 0x32323232UL, + 0xa6a6a6a6UL, 0xc2c2c2c2UL, 0x23232323UL, 0x3d3d3d3dUL, + 0xeeeeeeeeUL, 0x4c4c4c4cUL, 0x95959595UL, 0x0b0b0b0bUL, + 0x42424242UL, 0xfafafafaUL, 0xc3c3c3c3UL, 0x4e4e4e4eUL, + 0x08080808UL, 0x2e2e2e2eUL, 0xa1a1a1a1UL, 0x66666666UL, + 0x28282828UL, 0xd9d9d9d9UL, 0x24242424UL, 0xb2b2b2b2UL, + 0x76767676UL, 0x5b5b5b5bUL, 0xa2a2a2a2UL, 0x49494949UL, + 0x6d6d6d6dUL, 0x8b8b8b8bUL, 0xd1d1d1d1UL, 0x25252525UL, + 0x72727272UL, 0xf8f8f8f8UL, 0xf6f6f6f6UL, 0x64646464UL, + 0x86868686UL, 0x68686868UL, 0x98989898UL, 0x16161616UL, + 0xd4d4d4d4UL, 0xa4a4a4a4UL, 0x5c5c5c5cUL, 0xccccccccUL, + 0x5d5d5d5dUL, 0x65656565UL, 0xb6b6b6b6UL, 0x92929292UL, + 0x6c6c6c6cUL, 0x70707070UL, 0x48484848UL, 0x50505050UL, + 0xfdfdfdfdUL, 0xededededUL, 0xb9b9b9b9UL, 0xdadadadaUL, + 0x5e5e5e5eUL, 0x15151515UL, 0x46464646UL, 0x57575757UL, + 0xa7a7a7a7UL, 0x8d8d8d8dUL, 0x9d9d9d9dUL, 0x84848484UL, + 0x90909090UL, 0xd8d8d8d8UL, 0xababababUL, 0x00000000UL, + 0x8c8c8c8cUL, 0xbcbcbcbcUL, 0xd3d3d3d3UL, 0x0a0a0a0aUL, + 0xf7f7f7f7UL, 0xe4e4e4e4UL, 0x58585858UL, 0x05050505UL, + 0xb8b8b8b8UL, 0xb3b3b3b3UL, 0x45454545UL, 0x06060606UL, + 0xd0d0d0d0UL, 0x2c2c2c2cUL, 0x1e1e1e1eUL, 0x8f8f8f8fUL, + 0xcacacacaUL, 0x3f3f3f3fUL, 0x0f0f0f0fUL, 0x02020202UL, + 0xc1c1c1c1UL, 0xafafafafUL, 0xbdbdbdbdUL, 0x03030303UL, + 0x01010101UL, 0x13131313UL, 0x8a8a8a8aUL, 0x6b6b6b6bUL, + 0x3a3a3a3aUL, 0x91919191UL, 0x11111111UL, 0x41414141UL, + 0x4f4f4f4fUL, 0x67676767UL, 0xdcdcdcdcUL, 0xeaeaeaeaUL, + 0x97979797UL, 0xf2f2f2f2UL, 0xcfcfcfcfUL, 0xcecececeUL, + 0xf0f0f0f0UL, 0xb4b4b4b4UL, 0xe6e6e6e6UL, 0x73737373UL, + 0x96969696UL, 0xacacacacUL, 0x74747474UL, 0x22222222UL, + 0xe7e7e7e7UL, 0xadadadadUL, 0x35353535UL, 0x85858585UL, + 0xe2e2e2e2UL, 0xf9f9f9f9UL, 0x37373737UL, 0xe8e8e8e8UL, + 0x1c1c1c1cUL, 0x75757575UL, 0xdfdfdfdfUL, 0x6e6e6e6eUL, + 0x47474747UL, 0xf1f1f1f1UL, 0x1a1a1a1aUL, 0x71717171UL, + 0x1d1d1d1dUL, 0x29292929UL, 0xc5c5c5c5UL, 0x89898989UL, + 0x6f6f6f6fUL, 0xb7b7b7b7UL, 0x62626262UL, 0x0e0e0e0eUL, + 0xaaaaaaaaUL, 0x18181818UL, 0xbebebebeUL, 0x1b1b1b1bUL, + 0xfcfcfcfcUL, 0x56565656UL, 0x3e3e3e3eUL, 0x4b4b4b4bUL, + 0xc6c6c6c6UL, 0xd2d2d2d2UL, 0x79797979UL, 0x20202020UL, + 0x9a9a9a9aUL, 0xdbdbdbdbUL, 0xc0c0c0c0UL, 0xfefefefeUL, + 0x78787878UL, 0xcdcdcdcdUL, 0x5a5a5a5aUL, 0xf4f4f4f4UL, + 0x1f1f1f1fUL, 0xddddddddUL, 0xa8a8a8a8UL, 0x33333333UL, + 0x88888888UL, 0x07070707UL, 0xc7c7c7c7UL, 0x31313131UL, + 0xb1b1b1b1UL, 0x12121212UL, 0x10101010UL, 0x59595959UL, + 0x27272727UL, 0x80808080UL, 0xececececUL, 0x5f5f5f5fUL, + 0x60606060UL, 0x51515151UL, 0x7f7f7f7fUL, 0xa9a9a9a9UL, + 0x19191919UL, 0xb5b5b5b5UL, 0x4a4a4a4aUL, 0x0d0d0d0dUL, + 0x2d2d2d2dUL, 0xe5e5e5e5UL, 0x7a7a7a7aUL, 0x9f9f9f9fUL, + 0x93939393UL, 0xc9c9c9c9UL, 0x9c9c9c9cUL, 0xefefefefUL, + 0xa0a0a0a0UL, 0xe0e0e0e0UL, 0x3b3b3b3bUL, 0x4d4d4d4dUL, + 0xaeaeaeaeUL, 0x2a2a2a2aUL, 0xf5f5f5f5UL, 0xb0b0b0b0UL, + 0xc8c8c8c8UL, 0xebebebebUL, 0xbbbbbbbbUL, 0x3c3c3c3cUL, + 0x83838383UL, 0x53535353UL, 0x99999999UL, 0x61616161UL, + 0x17171717UL, 0x2b2b2b2bUL, 0x04040404UL, 0x7e7e7e7eUL, + 0xbabababaUL, 0x77777777UL, 0xd6d6d6d6UL, 0x26262626UL, + 0xe1e1e1e1UL, 0x69696969UL, 0x14141414UL, 0x63636363UL, + 0x55555555UL, 0x21212121UL, 0x0c0c0c0cUL, 0x7d7d7d7dUL, +}; + +#define Te0(x) TE0[x] +#define Te1(x) TE1[x] +#define Te2(x) TE2[x] +#define Te3(x) TE3[x] + +#define Td0(x) TD0[x] +#define Td1(x) TD1[x] +#define Td2(x) TD2[x] +#define Td3(x) TD3[x] + +static const ulong32 TE1[256] = { + 0xa5c66363UL, 0x84f87c7cUL, 0x99ee7777UL, 0x8df67b7bUL, + 0x0dfff2f2UL, 0xbdd66b6bUL, 0xb1de6f6fUL, 0x5491c5c5UL, + 0x50603030UL, 0x03020101UL, 0xa9ce6767UL, 0x7d562b2bUL, + 0x19e7fefeUL, 0x62b5d7d7UL, 0xe64dababUL, 0x9aec7676UL, + 0x458fcacaUL, 0x9d1f8282UL, 0x4089c9c9UL, 0x87fa7d7dUL, + 0x15effafaUL, 0xebb25959UL, 0xc98e4747UL, 0x0bfbf0f0UL, + 0xec41adadUL, 0x67b3d4d4UL, 0xfd5fa2a2UL, 0xea45afafUL, + 0xbf239c9cUL, 0xf753a4a4UL, 0x96e47272UL, 0x5b9bc0c0UL, + 0xc275b7b7UL, 0x1ce1fdfdUL, 0xae3d9393UL, 0x6a4c2626UL, + 0x5a6c3636UL, 0x417e3f3fUL, 0x02f5f7f7UL, 0x4f83ccccUL, + 0x5c683434UL, 0xf451a5a5UL, 0x34d1e5e5UL, 0x08f9f1f1UL, + 0x93e27171UL, 0x73abd8d8UL, 0x53623131UL, 0x3f2a1515UL, + 0x0c080404UL, 0x5295c7c7UL, 0x65462323UL, 0x5e9dc3c3UL, + 0x28301818UL, 0xa1379696UL, 0x0f0a0505UL, 0xb52f9a9aUL, + 0x090e0707UL, 0x36241212UL, 0x9b1b8080UL, 0x3ddfe2e2UL, + 0x26cdebebUL, 0x694e2727UL, 0xcd7fb2b2UL, 0x9fea7575UL, + 0x1b120909UL, 0x9e1d8383UL, 0x74582c2cUL, 0x2e341a1aUL, + 0x2d361b1bUL, 0xb2dc6e6eUL, 0xeeb45a5aUL, 0xfb5ba0a0UL, + 0xf6a45252UL, 0x4d763b3bUL, 0x61b7d6d6UL, 0xce7db3b3UL, + 0x7b522929UL, 0x3edde3e3UL, 0x715e2f2fUL, 0x97138484UL, + 0xf5a65353UL, 0x68b9d1d1UL, 0x00000000UL, 0x2cc1ededUL, + 0x60402020UL, 0x1fe3fcfcUL, 0xc879b1b1UL, 0xedb65b5bUL, + 0xbed46a6aUL, 0x468dcbcbUL, 0xd967bebeUL, 0x4b723939UL, + 0xde944a4aUL, 0xd4984c4cUL, 0xe8b05858UL, 0x4a85cfcfUL, + 0x6bbbd0d0UL, 0x2ac5efefUL, 0xe54faaaaUL, 0x16edfbfbUL, + 0xc5864343UL, 0xd79a4d4dUL, 0x55663333UL, 0x94118585UL, + 0xcf8a4545UL, 0x10e9f9f9UL, 0x06040202UL, 0x81fe7f7fUL, + 0xf0a05050UL, 0x44783c3cUL, 0xba259f9fUL, 0xe34ba8a8UL, + 0xf3a25151UL, 0xfe5da3a3UL, 0xc0804040UL, 0x8a058f8fUL, + 0xad3f9292UL, 0xbc219d9dUL, 0x48703838UL, 0x04f1f5f5UL, + 0xdf63bcbcUL, 0xc177b6b6UL, 0x75afdadaUL, 0x63422121UL, + 0x30201010UL, 0x1ae5ffffUL, 0x0efdf3f3UL, 0x6dbfd2d2UL, + 0x4c81cdcdUL, 0x14180c0cUL, 0x35261313UL, 0x2fc3ececUL, + 0xe1be5f5fUL, 0xa2359797UL, 0xcc884444UL, 0x392e1717UL, + 0x5793c4c4UL, 0xf255a7a7UL, 0x82fc7e7eUL, 0x477a3d3dUL, + 0xacc86464UL, 0xe7ba5d5dUL, 0x2b321919UL, 0x95e67373UL, + 0xa0c06060UL, 0x98198181UL, 0xd19e4f4fUL, 0x7fa3dcdcUL, + 0x66442222UL, 0x7e542a2aUL, 0xab3b9090UL, 0x830b8888UL, + 0xca8c4646UL, 0x29c7eeeeUL, 0xd36bb8b8UL, 0x3c281414UL, + 0x79a7dedeUL, 0xe2bc5e5eUL, 0x1d160b0bUL, 0x76addbdbUL, + 0x3bdbe0e0UL, 0x56643232UL, 0x4e743a3aUL, 0x1e140a0aUL, + 0xdb924949UL, 0x0a0c0606UL, 0x6c482424UL, 0xe4b85c5cUL, + 0x5d9fc2c2UL, 0x6ebdd3d3UL, 0xef43acacUL, 0xa6c46262UL, + 0xa8399191UL, 0xa4319595UL, 0x37d3e4e4UL, 0x8bf27979UL, + 0x32d5e7e7UL, 0x438bc8c8UL, 0x596e3737UL, 0xb7da6d6dUL, + 0x8c018d8dUL, 0x64b1d5d5UL, 0xd29c4e4eUL, 0xe049a9a9UL, + 0xb4d86c6cUL, 0xfaac5656UL, 0x07f3f4f4UL, 0x25cfeaeaUL, + 0xafca6565UL, 0x8ef47a7aUL, 0xe947aeaeUL, 0x18100808UL, + 0xd56fbabaUL, 0x88f07878UL, 0x6f4a2525UL, 0x725c2e2eUL, + 0x24381c1cUL, 0xf157a6a6UL, 0xc773b4b4UL, 0x5197c6c6UL, + 0x23cbe8e8UL, 0x7ca1ddddUL, 0x9ce87474UL, 0x213e1f1fUL, + 0xdd964b4bUL, 0xdc61bdbdUL, 0x860d8b8bUL, 0x850f8a8aUL, + 0x90e07070UL, 0x427c3e3eUL, 0xc471b5b5UL, 0xaacc6666UL, + 0xd8904848UL, 0x05060303UL, 0x01f7f6f6UL, 0x121c0e0eUL, + 0xa3c26161UL, 0x5f6a3535UL, 0xf9ae5757UL, 0xd069b9b9UL, + 0x91178686UL, 0x5899c1c1UL, 0x273a1d1dUL, 0xb9279e9eUL, + 0x38d9e1e1UL, 0x13ebf8f8UL, 0xb32b9898UL, 0x33221111UL, + 0xbbd26969UL, 0x70a9d9d9UL, 0x89078e8eUL, 0xa7339494UL, + 0xb62d9b9bUL, 0x223c1e1eUL, 0x92158787UL, 0x20c9e9e9UL, + 0x4987ceceUL, 0xffaa5555UL, 0x78502828UL, 0x7aa5dfdfUL, + 0x8f038c8cUL, 0xf859a1a1UL, 0x80098989UL, 0x171a0d0dUL, + 0xda65bfbfUL, 0x31d7e6e6UL, 0xc6844242UL, 0xb8d06868UL, + 0xc3824141UL, 0xb0299999UL, 0x775a2d2dUL, 0x111e0f0fUL, + 0xcb7bb0b0UL, 0xfca85454UL, 0xd66dbbbbUL, 0x3a2c1616UL, +}; +static const ulong32 TE2[256] = { + 0x63a5c663UL, 0x7c84f87cUL, 0x7799ee77UL, 0x7b8df67bUL, + 0xf20dfff2UL, 0x6bbdd66bUL, 0x6fb1de6fUL, 0xc55491c5UL, + 0x30506030UL, 0x01030201UL, 0x67a9ce67UL, 0x2b7d562bUL, + 0xfe19e7feUL, 0xd762b5d7UL, 0xabe64dabUL, 0x769aec76UL, + 0xca458fcaUL, 0x829d1f82UL, 0xc94089c9UL, 0x7d87fa7dUL, + 0xfa15effaUL, 0x59ebb259UL, 0x47c98e47UL, 0xf00bfbf0UL, + 0xadec41adUL, 0xd467b3d4UL, 0xa2fd5fa2UL, 0xafea45afUL, + 0x9cbf239cUL, 0xa4f753a4UL, 0x7296e472UL, 0xc05b9bc0UL, + 0xb7c275b7UL, 0xfd1ce1fdUL, 0x93ae3d93UL, 0x266a4c26UL, + 0x365a6c36UL, 0x3f417e3fUL, 0xf702f5f7UL, 0xcc4f83ccUL, + 0x345c6834UL, 0xa5f451a5UL, 0xe534d1e5UL, 0xf108f9f1UL, + 0x7193e271UL, 0xd873abd8UL, 0x31536231UL, 0x153f2a15UL, + 0x040c0804UL, 0xc75295c7UL, 0x23654623UL, 0xc35e9dc3UL, + 0x18283018UL, 0x96a13796UL, 0x050f0a05UL, 0x9ab52f9aUL, + 0x07090e07UL, 0x12362412UL, 0x809b1b80UL, 0xe23ddfe2UL, + 0xeb26cdebUL, 0x27694e27UL, 0xb2cd7fb2UL, 0x759fea75UL, + 0x091b1209UL, 0x839e1d83UL, 0x2c74582cUL, 0x1a2e341aUL, + 0x1b2d361bUL, 0x6eb2dc6eUL, 0x5aeeb45aUL, 0xa0fb5ba0UL, + 0x52f6a452UL, 0x3b4d763bUL, 0xd661b7d6UL, 0xb3ce7db3UL, + 0x297b5229UL, 0xe33edde3UL, 0x2f715e2fUL, 0x84971384UL, + 0x53f5a653UL, 0xd168b9d1UL, 0x00000000UL, 0xed2cc1edUL, + 0x20604020UL, 0xfc1fe3fcUL, 0xb1c879b1UL, 0x5bedb65bUL, + 0x6abed46aUL, 0xcb468dcbUL, 0xbed967beUL, 0x394b7239UL, + 0x4ade944aUL, 0x4cd4984cUL, 0x58e8b058UL, 0xcf4a85cfUL, + 0xd06bbbd0UL, 0xef2ac5efUL, 0xaae54faaUL, 0xfb16edfbUL, + 0x43c58643UL, 0x4dd79a4dUL, 0x33556633UL, 0x85941185UL, + 0x45cf8a45UL, 0xf910e9f9UL, 0x02060402UL, 0x7f81fe7fUL, + 0x50f0a050UL, 0x3c44783cUL, 0x9fba259fUL, 0xa8e34ba8UL, + 0x51f3a251UL, 0xa3fe5da3UL, 0x40c08040UL, 0x8f8a058fUL, + 0x92ad3f92UL, 0x9dbc219dUL, 0x38487038UL, 0xf504f1f5UL, + 0xbcdf63bcUL, 0xb6c177b6UL, 0xda75afdaUL, 0x21634221UL, + 0x10302010UL, 0xff1ae5ffUL, 0xf30efdf3UL, 0xd26dbfd2UL, + 0xcd4c81cdUL, 0x0c14180cUL, 0x13352613UL, 0xec2fc3ecUL, + 0x5fe1be5fUL, 0x97a23597UL, 0x44cc8844UL, 0x17392e17UL, + 0xc45793c4UL, 0xa7f255a7UL, 0x7e82fc7eUL, 0x3d477a3dUL, + 0x64acc864UL, 0x5de7ba5dUL, 0x192b3219UL, 0x7395e673UL, + 0x60a0c060UL, 0x81981981UL, 0x4fd19e4fUL, 0xdc7fa3dcUL, + 0x22664422UL, 0x2a7e542aUL, 0x90ab3b90UL, 0x88830b88UL, + 0x46ca8c46UL, 0xee29c7eeUL, 0xb8d36bb8UL, 0x143c2814UL, + 0xde79a7deUL, 0x5ee2bc5eUL, 0x0b1d160bUL, 0xdb76addbUL, + 0xe03bdbe0UL, 0x32566432UL, 0x3a4e743aUL, 0x0a1e140aUL, + 0x49db9249UL, 0x060a0c06UL, 0x246c4824UL, 0x5ce4b85cUL, + 0xc25d9fc2UL, 0xd36ebdd3UL, 0xacef43acUL, 0x62a6c462UL, + 0x91a83991UL, 0x95a43195UL, 0xe437d3e4UL, 0x798bf279UL, + 0xe732d5e7UL, 0xc8438bc8UL, 0x37596e37UL, 0x6db7da6dUL, + 0x8d8c018dUL, 0xd564b1d5UL, 0x4ed29c4eUL, 0xa9e049a9UL, + 0x6cb4d86cUL, 0x56faac56UL, 0xf407f3f4UL, 0xea25cfeaUL, + 0x65afca65UL, 0x7a8ef47aUL, 0xaee947aeUL, 0x08181008UL, + 0xbad56fbaUL, 0x7888f078UL, 0x256f4a25UL, 0x2e725c2eUL, + 0x1c24381cUL, 0xa6f157a6UL, 0xb4c773b4UL, 0xc65197c6UL, + 0xe823cbe8UL, 0xdd7ca1ddUL, 0x749ce874UL, 0x1f213e1fUL, + 0x4bdd964bUL, 0xbddc61bdUL, 0x8b860d8bUL, 0x8a850f8aUL, + 0x7090e070UL, 0x3e427c3eUL, 0xb5c471b5UL, 0x66aacc66UL, + 0x48d89048UL, 0x03050603UL, 0xf601f7f6UL, 0x0e121c0eUL, + 0x61a3c261UL, 0x355f6a35UL, 0x57f9ae57UL, 0xb9d069b9UL, + 0x86911786UL, 0xc15899c1UL, 0x1d273a1dUL, 0x9eb9279eUL, + 0xe138d9e1UL, 0xf813ebf8UL, 0x98b32b98UL, 0x11332211UL, + 0x69bbd269UL, 0xd970a9d9UL, 0x8e89078eUL, 0x94a73394UL, + 0x9bb62d9bUL, 0x1e223c1eUL, 0x87921587UL, 0xe920c9e9UL, + 0xce4987ceUL, 0x55ffaa55UL, 0x28785028UL, 0xdf7aa5dfUL, + 0x8c8f038cUL, 0xa1f859a1UL, 0x89800989UL, 0x0d171a0dUL, + 0xbfda65bfUL, 0xe631d7e6UL, 0x42c68442UL, 0x68b8d068UL, + 0x41c38241UL, 0x99b02999UL, 0x2d775a2dUL, 0x0f111e0fUL, + 0xb0cb7bb0UL, 0x54fca854UL, 0xbbd66dbbUL, 0x163a2c16UL, +}; +static const ulong32 TE3[256] = { + + 0x6363a5c6UL, 0x7c7c84f8UL, 0x777799eeUL, 0x7b7b8df6UL, + 0xf2f20dffUL, 0x6b6bbdd6UL, 0x6f6fb1deUL, 0xc5c55491UL, + 0x30305060UL, 0x01010302UL, 0x6767a9ceUL, 0x2b2b7d56UL, + 0xfefe19e7UL, 0xd7d762b5UL, 0xababe64dUL, 0x76769aecUL, + 0xcaca458fUL, 0x82829d1fUL, 0xc9c94089UL, 0x7d7d87faUL, + 0xfafa15efUL, 0x5959ebb2UL, 0x4747c98eUL, 0xf0f00bfbUL, + 0xadadec41UL, 0xd4d467b3UL, 0xa2a2fd5fUL, 0xafafea45UL, + 0x9c9cbf23UL, 0xa4a4f753UL, 0x727296e4UL, 0xc0c05b9bUL, + 0xb7b7c275UL, 0xfdfd1ce1UL, 0x9393ae3dUL, 0x26266a4cUL, + 0x36365a6cUL, 0x3f3f417eUL, 0xf7f702f5UL, 0xcccc4f83UL, + 0x34345c68UL, 0xa5a5f451UL, 0xe5e534d1UL, 0xf1f108f9UL, + 0x717193e2UL, 0xd8d873abUL, 0x31315362UL, 0x15153f2aUL, + 0x04040c08UL, 0xc7c75295UL, 0x23236546UL, 0xc3c35e9dUL, + 0x18182830UL, 0x9696a137UL, 0x05050f0aUL, 0x9a9ab52fUL, + 0x0707090eUL, 0x12123624UL, 0x80809b1bUL, 0xe2e23ddfUL, + 0xebeb26cdUL, 0x2727694eUL, 0xb2b2cd7fUL, 0x75759feaUL, + 0x09091b12UL, 0x83839e1dUL, 0x2c2c7458UL, 0x1a1a2e34UL, + 0x1b1b2d36UL, 0x6e6eb2dcUL, 0x5a5aeeb4UL, 0xa0a0fb5bUL, + 0x5252f6a4UL, 0x3b3b4d76UL, 0xd6d661b7UL, 0xb3b3ce7dUL, + 0x29297b52UL, 0xe3e33eddUL, 0x2f2f715eUL, 0x84849713UL, + 0x5353f5a6UL, 0xd1d168b9UL, 0x00000000UL, 0xeded2cc1UL, + 0x20206040UL, 0xfcfc1fe3UL, 0xb1b1c879UL, 0x5b5bedb6UL, + 0x6a6abed4UL, 0xcbcb468dUL, 0xbebed967UL, 0x39394b72UL, + 0x4a4ade94UL, 0x4c4cd498UL, 0x5858e8b0UL, 0xcfcf4a85UL, + 0xd0d06bbbUL, 0xefef2ac5UL, 0xaaaae54fUL, 0xfbfb16edUL, + 0x4343c586UL, 0x4d4dd79aUL, 0x33335566UL, 0x85859411UL, + 0x4545cf8aUL, 0xf9f910e9UL, 0x02020604UL, 0x7f7f81feUL, + 0x5050f0a0UL, 0x3c3c4478UL, 0x9f9fba25UL, 0xa8a8e34bUL, + 0x5151f3a2UL, 0xa3a3fe5dUL, 0x4040c080UL, 0x8f8f8a05UL, + 0x9292ad3fUL, 0x9d9dbc21UL, 0x38384870UL, 0xf5f504f1UL, + 0xbcbcdf63UL, 0xb6b6c177UL, 0xdada75afUL, 0x21216342UL, + 0x10103020UL, 0xffff1ae5UL, 0xf3f30efdUL, 0xd2d26dbfUL, + 0xcdcd4c81UL, 0x0c0c1418UL, 0x13133526UL, 0xecec2fc3UL, + 0x5f5fe1beUL, 0x9797a235UL, 0x4444cc88UL, 0x1717392eUL, + 0xc4c45793UL, 0xa7a7f255UL, 0x7e7e82fcUL, 0x3d3d477aUL, + 0x6464acc8UL, 0x5d5de7baUL, 0x19192b32UL, 0x737395e6UL, + 0x6060a0c0UL, 0x81819819UL, 0x4f4fd19eUL, 0xdcdc7fa3UL, + 0x22226644UL, 0x2a2a7e54UL, 0x9090ab3bUL, 0x8888830bUL, + 0x4646ca8cUL, 0xeeee29c7UL, 0xb8b8d36bUL, 0x14143c28UL, + 0xdede79a7UL, 0x5e5ee2bcUL, 0x0b0b1d16UL, 0xdbdb76adUL, + 0xe0e03bdbUL, 0x32325664UL, 0x3a3a4e74UL, 0x0a0a1e14UL, + 0x4949db92UL, 0x06060a0cUL, 0x24246c48UL, 0x5c5ce4b8UL, + 0xc2c25d9fUL, 0xd3d36ebdUL, 0xacacef43UL, 0x6262a6c4UL, + 0x9191a839UL, 0x9595a431UL, 0xe4e437d3UL, 0x79798bf2UL, + 0xe7e732d5UL, 0xc8c8438bUL, 0x3737596eUL, 0x6d6db7daUL, + 0x8d8d8c01UL, 0xd5d564b1UL, 0x4e4ed29cUL, 0xa9a9e049UL, + 0x6c6cb4d8UL, 0x5656faacUL, 0xf4f407f3UL, 0xeaea25cfUL, + 0x6565afcaUL, 0x7a7a8ef4UL, 0xaeaee947UL, 0x08081810UL, + 0xbabad56fUL, 0x787888f0UL, 0x25256f4aUL, 0x2e2e725cUL, + 0x1c1c2438UL, 0xa6a6f157UL, 0xb4b4c773UL, 0xc6c65197UL, + 0xe8e823cbUL, 0xdddd7ca1UL, 0x74749ce8UL, 0x1f1f213eUL, + 0x4b4bdd96UL, 0xbdbddc61UL, 0x8b8b860dUL, 0x8a8a850fUL, + 0x707090e0UL, 0x3e3e427cUL, 0xb5b5c471UL, 0x6666aaccUL, + 0x4848d890UL, 0x03030506UL, 0xf6f601f7UL, 0x0e0e121cUL, + 0x6161a3c2UL, 0x35355f6aUL, 0x5757f9aeUL, 0xb9b9d069UL, + 0x86869117UL, 0xc1c15899UL, 0x1d1d273aUL, 0x9e9eb927UL, + 0xe1e138d9UL, 0xf8f813ebUL, 0x9898b32bUL, 0x11113322UL, + 0x6969bbd2UL, 0xd9d970a9UL, 0x8e8e8907UL, 0x9494a733UL, + 0x9b9bb62dUL, 0x1e1e223cUL, 0x87879215UL, 0xe9e920c9UL, + 0xcece4987UL, 0x5555ffaaUL, 0x28287850UL, 0xdfdf7aa5UL, + 0x8c8c8f03UL, 0xa1a1f859UL, 0x89898009UL, 0x0d0d171aUL, + 0xbfbfda65UL, 0xe6e631d7UL, 0x4242c684UL, 0x6868b8d0UL, + 0x4141c382UL, 0x9999b029UL, 0x2d2d775aUL, 0x0f0f111eUL, + 0xb0b0cb7bUL, 0x5454fca8UL, 0xbbbbd66dUL, 0x16163a2cUL, +}; + +static const ulong32 Te4_0[] = { +0x00000063UL, 0x0000007cUL, 0x00000077UL, 0x0000007bUL, 0x000000f2UL, 0x0000006bUL, 0x0000006fUL, 0x000000c5UL, +0x00000030UL, 0x00000001UL, 0x00000067UL, 0x0000002bUL, 0x000000feUL, 0x000000d7UL, 0x000000abUL, 0x00000076UL, +0x000000caUL, 0x00000082UL, 0x000000c9UL, 0x0000007dUL, 0x000000faUL, 0x00000059UL, 0x00000047UL, 0x000000f0UL, +0x000000adUL, 0x000000d4UL, 0x000000a2UL, 0x000000afUL, 0x0000009cUL, 0x000000a4UL, 0x00000072UL, 0x000000c0UL, +0x000000b7UL, 0x000000fdUL, 0x00000093UL, 0x00000026UL, 0x00000036UL, 0x0000003fUL, 0x000000f7UL, 0x000000ccUL, +0x00000034UL, 0x000000a5UL, 0x000000e5UL, 0x000000f1UL, 0x00000071UL, 0x000000d8UL, 0x00000031UL, 0x00000015UL, +0x00000004UL, 0x000000c7UL, 0x00000023UL, 0x000000c3UL, 0x00000018UL, 0x00000096UL, 0x00000005UL, 0x0000009aUL, +0x00000007UL, 0x00000012UL, 0x00000080UL, 0x000000e2UL, 0x000000ebUL, 0x00000027UL, 0x000000b2UL, 0x00000075UL, +0x00000009UL, 0x00000083UL, 0x0000002cUL, 0x0000001aUL, 0x0000001bUL, 0x0000006eUL, 0x0000005aUL, 0x000000a0UL, +0x00000052UL, 0x0000003bUL, 0x000000d6UL, 0x000000b3UL, 0x00000029UL, 0x000000e3UL, 0x0000002fUL, 0x00000084UL, +0x00000053UL, 0x000000d1UL, 0x00000000UL, 0x000000edUL, 0x00000020UL, 0x000000fcUL, 0x000000b1UL, 0x0000005bUL, +0x0000006aUL, 0x000000cbUL, 0x000000beUL, 0x00000039UL, 0x0000004aUL, 0x0000004cUL, 0x00000058UL, 0x000000cfUL, +0x000000d0UL, 0x000000efUL, 0x000000aaUL, 0x000000fbUL, 0x00000043UL, 0x0000004dUL, 0x00000033UL, 0x00000085UL, +0x00000045UL, 0x000000f9UL, 0x00000002UL, 0x0000007fUL, 0x00000050UL, 0x0000003cUL, 0x0000009fUL, 0x000000a8UL, +0x00000051UL, 0x000000a3UL, 0x00000040UL, 0x0000008fUL, 0x00000092UL, 0x0000009dUL, 0x00000038UL, 0x000000f5UL, +0x000000bcUL, 0x000000b6UL, 0x000000daUL, 0x00000021UL, 0x00000010UL, 0x000000ffUL, 0x000000f3UL, 0x000000d2UL, +0x000000cdUL, 0x0000000cUL, 0x00000013UL, 0x000000ecUL, 0x0000005fUL, 0x00000097UL, 0x00000044UL, 0x00000017UL, +0x000000c4UL, 0x000000a7UL, 0x0000007eUL, 0x0000003dUL, 0x00000064UL, 0x0000005dUL, 0x00000019UL, 0x00000073UL, +0x00000060UL, 0x00000081UL, 0x0000004fUL, 0x000000dcUL, 0x00000022UL, 0x0000002aUL, 0x00000090UL, 0x00000088UL, +0x00000046UL, 0x000000eeUL, 0x000000b8UL, 0x00000014UL, 0x000000deUL, 0x0000005eUL, 0x0000000bUL, 0x000000dbUL, +0x000000e0UL, 0x00000032UL, 0x0000003aUL, 0x0000000aUL, 0x00000049UL, 0x00000006UL, 0x00000024UL, 0x0000005cUL, +0x000000c2UL, 0x000000d3UL, 0x000000acUL, 0x00000062UL, 0x00000091UL, 0x00000095UL, 0x000000e4UL, 0x00000079UL, +0x000000e7UL, 0x000000c8UL, 0x00000037UL, 0x0000006dUL, 0x0000008dUL, 0x000000d5UL, 0x0000004eUL, 0x000000a9UL, +0x0000006cUL, 0x00000056UL, 0x000000f4UL, 0x000000eaUL, 0x00000065UL, 0x0000007aUL, 0x000000aeUL, 0x00000008UL, +0x000000baUL, 0x00000078UL, 0x00000025UL, 0x0000002eUL, 0x0000001cUL, 0x000000a6UL, 0x000000b4UL, 0x000000c6UL, +0x000000e8UL, 0x000000ddUL, 0x00000074UL, 0x0000001fUL, 0x0000004bUL, 0x000000bdUL, 0x0000008bUL, 0x0000008aUL, +0x00000070UL, 0x0000003eUL, 0x000000b5UL, 0x00000066UL, 0x00000048UL, 0x00000003UL, 0x000000f6UL, 0x0000000eUL, +0x00000061UL, 0x00000035UL, 0x00000057UL, 0x000000b9UL, 0x00000086UL, 0x000000c1UL, 0x0000001dUL, 0x0000009eUL, +0x000000e1UL, 0x000000f8UL, 0x00000098UL, 0x00000011UL, 0x00000069UL, 0x000000d9UL, 0x0000008eUL, 0x00000094UL, +0x0000009bUL, 0x0000001eUL, 0x00000087UL, 0x000000e9UL, 0x000000ceUL, 0x00000055UL, 0x00000028UL, 0x000000dfUL, +0x0000008cUL, 0x000000a1UL, 0x00000089UL, 0x0000000dUL, 0x000000bfUL, 0x000000e6UL, 0x00000042UL, 0x00000068UL, +0x00000041UL, 0x00000099UL, 0x0000002dUL, 0x0000000fUL, 0x000000b0UL, 0x00000054UL, 0x000000bbUL, 0x00000016UL +}; + +static const ulong32 Te4_1[] = { +0x00006300UL, 0x00007c00UL, 0x00007700UL, 0x00007b00UL, 0x0000f200UL, 0x00006b00UL, 0x00006f00UL, 0x0000c500UL, +0x00003000UL, 0x00000100UL, 0x00006700UL, 0x00002b00UL, 0x0000fe00UL, 0x0000d700UL, 0x0000ab00UL, 0x00007600UL, +0x0000ca00UL, 0x00008200UL, 0x0000c900UL, 0x00007d00UL, 0x0000fa00UL, 0x00005900UL, 0x00004700UL, 0x0000f000UL, +0x0000ad00UL, 0x0000d400UL, 0x0000a200UL, 0x0000af00UL, 0x00009c00UL, 0x0000a400UL, 0x00007200UL, 0x0000c000UL, +0x0000b700UL, 0x0000fd00UL, 0x00009300UL, 0x00002600UL, 0x00003600UL, 0x00003f00UL, 0x0000f700UL, 0x0000cc00UL, +0x00003400UL, 0x0000a500UL, 0x0000e500UL, 0x0000f100UL, 0x00007100UL, 0x0000d800UL, 0x00003100UL, 0x00001500UL, +0x00000400UL, 0x0000c700UL, 0x00002300UL, 0x0000c300UL, 0x00001800UL, 0x00009600UL, 0x00000500UL, 0x00009a00UL, +0x00000700UL, 0x00001200UL, 0x00008000UL, 0x0000e200UL, 0x0000eb00UL, 0x00002700UL, 0x0000b200UL, 0x00007500UL, +0x00000900UL, 0x00008300UL, 0x00002c00UL, 0x00001a00UL, 0x00001b00UL, 0x00006e00UL, 0x00005a00UL, 0x0000a000UL, +0x00005200UL, 0x00003b00UL, 0x0000d600UL, 0x0000b300UL, 0x00002900UL, 0x0000e300UL, 0x00002f00UL, 0x00008400UL, +0x00005300UL, 0x0000d100UL, 0x00000000UL, 0x0000ed00UL, 0x00002000UL, 0x0000fc00UL, 0x0000b100UL, 0x00005b00UL, +0x00006a00UL, 0x0000cb00UL, 0x0000be00UL, 0x00003900UL, 0x00004a00UL, 0x00004c00UL, 0x00005800UL, 0x0000cf00UL, +0x0000d000UL, 0x0000ef00UL, 0x0000aa00UL, 0x0000fb00UL, 0x00004300UL, 0x00004d00UL, 0x00003300UL, 0x00008500UL, +0x00004500UL, 0x0000f900UL, 0x00000200UL, 0x00007f00UL, 0x00005000UL, 0x00003c00UL, 0x00009f00UL, 0x0000a800UL, +0x00005100UL, 0x0000a300UL, 0x00004000UL, 0x00008f00UL, 0x00009200UL, 0x00009d00UL, 0x00003800UL, 0x0000f500UL, +0x0000bc00UL, 0x0000b600UL, 0x0000da00UL, 0x00002100UL, 0x00001000UL, 0x0000ff00UL, 0x0000f300UL, 0x0000d200UL, +0x0000cd00UL, 0x00000c00UL, 0x00001300UL, 0x0000ec00UL, 0x00005f00UL, 0x00009700UL, 0x00004400UL, 0x00001700UL, +0x0000c400UL, 0x0000a700UL, 0x00007e00UL, 0x00003d00UL, 0x00006400UL, 0x00005d00UL, 0x00001900UL, 0x00007300UL, +0x00006000UL, 0x00008100UL, 0x00004f00UL, 0x0000dc00UL, 0x00002200UL, 0x00002a00UL, 0x00009000UL, 0x00008800UL, +0x00004600UL, 0x0000ee00UL, 0x0000b800UL, 0x00001400UL, 0x0000de00UL, 0x00005e00UL, 0x00000b00UL, 0x0000db00UL, +0x0000e000UL, 0x00003200UL, 0x00003a00UL, 0x00000a00UL, 0x00004900UL, 0x00000600UL, 0x00002400UL, 0x00005c00UL, +0x0000c200UL, 0x0000d300UL, 0x0000ac00UL, 0x00006200UL, 0x00009100UL, 0x00009500UL, 0x0000e400UL, 0x00007900UL, +0x0000e700UL, 0x0000c800UL, 0x00003700UL, 0x00006d00UL, 0x00008d00UL, 0x0000d500UL, 0x00004e00UL, 0x0000a900UL, +0x00006c00UL, 0x00005600UL, 0x0000f400UL, 0x0000ea00UL, 0x00006500UL, 0x00007a00UL, 0x0000ae00UL, 0x00000800UL, +0x0000ba00UL, 0x00007800UL, 0x00002500UL, 0x00002e00UL, 0x00001c00UL, 0x0000a600UL, 0x0000b400UL, 0x0000c600UL, +0x0000e800UL, 0x0000dd00UL, 0x00007400UL, 0x00001f00UL, 0x00004b00UL, 0x0000bd00UL, 0x00008b00UL, 0x00008a00UL, +0x00007000UL, 0x00003e00UL, 0x0000b500UL, 0x00006600UL, 0x00004800UL, 0x00000300UL, 0x0000f600UL, 0x00000e00UL, +0x00006100UL, 0x00003500UL, 0x00005700UL, 0x0000b900UL, 0x00008600UL, 0x0000c100UL, 0x00001d00UL, 0x00009e00UL, +0x0000e100UL, 0x0000f800UL, 0x00009800UL, 0x00001100UL, 0x00006900UL, 0x0000d900UL, 0x00008e00UL, 0x00009400UL, +0x00009b00UL, 0x00001e00UL, 0x00008700UL, 0x0000e900UL, 0x0000ce00UL, 0x00005500UL, 0x00002800UL, 0x0000df00UL, +0x00008c00UL, 0x0000a100UL, 0x00008900UL, 0x00000d00UL, 0x0000bf00UL, 0x0000e600UL, 0x00004200UL, 0x00006800UL, +0x00004100UL, 0x00009900UL, 0x00002d00UL, 0x00000f00UL, 0x0000b000UL, 0x00005400UL, 0x0000bb00UL, 0x00001600UL +}; + +static const ulong32 Te4_2[] = { +0x00630000UL, 0x007c0000UL, 0x00770000UL, 0x007b0000UL, 0x00f20000UL, 0x006b0000UL, 0x006f0000UL, 0x00c50000UL, +0x00300000UL, 0x00010000UL, 0x00670000UL, 0x002b0000UL, 0x00fe0000UL, 0x00d70000UL, 0x00ab0000UL, 0x00760000UL, +0x00ca0000UL, 0x00820000UL, 0x00c90000UL, 0x007d0000UL, 0x00fa0000UL, 0x00590000UL, 0x00470000UL, 0x00f00000UL, +0x00ad0000UL, 0x00d40000UL, 0x00a20000UL, 0x00af0000UL, 0x009c0000UL, 0x00a40000UL, 0x00720000UL, 0x00c00000UL, +0x00b70000UL, 0x00fd0000UL, 0x00930000UL, 0x00260000UL, 0x00360000UL, 0x003f0000UL, 0x00f70000UL, 0x00cc0000UL, +0x00340000UL, 0x00a50000UL, 0x00e50000UL, 0x00f10000UL, 0x00710000UL, 0x00d80000UL, 0x00310000UL, 0x00150000UL, +0x00040000UL, 0x00c70000UL, 0x00230000UL, 0x00c30000UL, 0x00180000UL, 0x00960000UL, 0x00050000UL, 0x009a0000UL, +0x00070000UL, 0x00120000UL, 0x00800000UL, 0x00e20000UL, 0x00eb0000UL, 0x00270000UL, 0x00b20000UL, 0x00750000UL, +0x00090000UL, 0x00830000UL, 0x002c0000UL, 0x001a0000UL, 0x001b0000UL, 0x006e0000UL, 0x005a0000UL, 0x00a00000UL, +0x00520000UL, 0x003b0000UL, 0x00d60000UL, 0x00b30000UL, 0x00290000UL, 0x00e30000UL, 0x002f0000UL, 0x00840000UL, +0x00530000UL, 0x00d10000UL, 0x00000000UL, 0x00ed0000UL, 0x00200000UL, 0x00fc0000UL, 0x00b10000UL, 0x005b0000UL, +0x006a0000UL, 0x00cb0000UL, 0x00be0000UL, 0x00390000UL, 0x004a0000UL, 0x004c0000UL, 0x00580000UL, 0x00cf0000UL, +0x00d00000UL, 0x00ef0000UL, 0x00aa0000UL, 0x00fb0000UL, 0x00430000UL, 0x004d0000UL, 0x00330000UL, 0x00850000UL, +0x00450000UL, 0x00f90000UL, 0x00020000UL, 0x007f0000UL, 0x00500000UL, 0x003c0000UL, 0x009f0000UL, 0x00a80000UL, +0x00510000UL, 0x00a30000UL, 0x00400000UL, 0x008f0000UL, 0x00920000UL, 0x009d0000UL, 0x00380000UL, 0x00f50000UL, +0x00bc0000UL, 0x00b60000UL, 0x00da0000UL, 0x00210000UL, 0x00100000UL, 0x00ff0000UL, 0x00f30000UL, 0x00d20000UL, +0x00cd0000UL, 0x000c0000UL, 0x00130000UL, 0x00ec0000UL, 0x005f0000UL, 0x00970000UL, 0x00440000UL, 0x00170000UL, +0x00c40000UL, 0x00a70000UL, 0x007e0000UL, 0x003d0000UL, 0x00640000UL, 0x005d0000UL, 0x00190000UL, 0x00730000UL, +0x00600000UL, 0x00810000UL, 0x004f0000UL, 0x00dc0000UL, 0x00220000UL, 0x002a0000UL, 0x00900000UL, 0x00880000UL, +0x00460000UL, 0x00ee0000UL, 0x00b80000UL, 0x00140000UL, 0x00de0000UL, 0x005e0000UL, 0x000b0000UL, 0x00db0000UL, +0x00e00000UL, 0x00320000UL, 0x003a0000UL, 0x000a0000UL, 0x00490000UL, 0x00060000UL, 0x00240000UL, 0x005c0000UL, +0x00c20000UL, 0x00d30000UL, 0x00ac0000UL, 0x00620000UL, 0x00910000UL, 0x00950000UL, 0x00e40000UL, 0x00790000UL, +0x00e70000UL, 0x00c80000UL, 0x00370000UL, 0x006d0000UL, 0x008d0000UL, 0x00d50000UL, 0x004e0000UL, 0x00a90000UL, +0x006c0000UL, 0x00560000UL, 0x00f40000UL, 0x00ea0000UL, 0x00650000UL, 0x007a0000UL, 0x00ae0000UL, 0x00080000UL, +0x00ba0000UL, 0x00780000UL, 0x00250000UL, 0x002e0000UL, 0x001c0000UL, 0x00a60000UL, 0x00b40000UL, 0x00c60000UL, +0x00e80000UL, 0x00dd0000UL, 0x00740000UL, 0x001f0000UL, 0x004b0000UL, 0x00bd0000UL, 0x008b0000UL, 0x008a0000UL, +0x00700000UL, 0x003e0000UL, 0x00b50000UL, 0x00660000UL, 0x00480000UL, 0x00030000UL, 0x00f60000UL, 0x000e0000UL, +0x00610000UL, 0x00350000UL, 0x00570000UL, 0x00b90000UL, 0x00860000UL, 0x00c10000UL, 0x001d0000UL, 0x009e0000UL, +0x00e10000UL, 0x00f80000UL, 0x00980000UL, 0x00110000UL, 0x00690000UL, 0x00d90000UL, 0x008e0000UL, 0x00940000UL, +0x009b0000UL, 0x001e0000UL, 0x00870000UL, 0x00e90000UL, 0x00ce0000UL, 0x00550000UL, 0x00280000UL, 0x00df0000UL, +0x008c0000UL, 0x00a10000UL, 0x00890000UL, 0x000d0000UL, 0x00bf0000UL, 0x00e60000UL, 0x00420000UL, 0x00680000UL, +0x00410000UL, 0x00990000UL, 0x002d0000UL, 0x000f0000UL, 0x00b00000UL, 0x00540000UL, 0x00bb0000UL, 0x00160000UL +}; + +static const ulong32 Te4_3[] = { +0x63000000UL, 0x7c000000UL, 0x77000000UL, 0x7b000000UL, 0xf2000000UL, 0x6b000000UL, 0x6f000000UL, 0xc5000000UL, +0x30000000UL, 0x01000000UL, 0x67000000UL, 0x2b000000UL, 0xfe000000UL, 0xd7000000UL, 0xab000000UL, 0x76000000UL, +0xca000000UL, 0x82000000UL, 0xc9000000UL, 0x7d000000UL, 0xfa000000UL, 0x59000000UL, 0x47000000UL, 0xf0000000UL, +0xad000000UL, 0xd4000000UL, 0xa2000000UL, 0xaf000000UL, 0x9c000000UL, 0xa4000000UL, 0x72000000UL, 0xc0000000UL, +0xb7000000UL, 0xfd000000UL, 0x93000000UL, 0x26000000UL, 0x36000000UL, 0x3f000000UL, 0xf7000000UL, 0xcc000000UL, +0x34000000UL, 0xa5000000UL, 0xe5000000UL, 0xf1000000UL, 0x71000000UL, 0xd8000000UL, 0x31000000UL, 0x15000000UL, +0x04000000UL, 0xc7000000UL, 0x23000000UL, 0xc3000000UL, 0x18000000UL, 0x96000000UL, 0x05000000UL, 0x9a000000UL, +0x07000000UL, 0x12000000UL, 0x80000000UL, 0xe2000000UL, 0xeb000000UL, 0x27000000UL, 0xb2000000UL, 0x75000000UL, +0x09000000UL, 0x83000000UL, 0x2c000000UL, 0x1a000000UL, 0x1b000000UL, 0x6e000000UL, 0x5a000000UL, 0xa0000000UL, +0x52000000UL, 0x3b000000UL, 0xd6000000UL, 0xb3000000UL, 0x29000000UL, 0xe3000000UL, 0x2f000000UL, 0x84000000UL, +0x53000000UL, 0xd1000000UL, 0x00000000UL, 0xed000000UL, 0x20000000UL, 0xfc000000UL, 0xb1000000UL, 0x5b000000UL, +0x6a000000UL, 0xcb000000UL, 0xbe000000UL, 0x39000000UL, 0x4a000000UL, 0x4c000000UL, 0x58000000UL, 0xcf000000UL, +0xd0000000UL, 0xef000000UL, 0xaa000000UL, 0xfb000000UL, 0x43000000UL, 0x4d000000UL, 0x33000000UL, 0x85000000UL, +0x45000000UL, 0xf9000000UL, 0x02000000UL, 0x7f000000UL, 0x50000000UL, 0x3c000000UL, 0x9f000000UL, 0xa8000000UL, +0x51000000UL, 0xa3000000UL, 0x40000000UL, 0x8f000000UL, 0x92000000UL, 0x9d000000UL, 0x38000000UL, 0xf5000000UL, +0xbc000000UL, 0xb6000000UL, 0xda000000UL, 0x21000000UL, 0x10000000UL, 0xff000000UL, 0xf3000000UL, 0xd2000000UL, +0xcd000000UL, 0x0c000000UL, 0x13000000UL, 0xec000000UL, 0x5f000000UL, 0x97000000UL, 0x44000000UL, 0x17000000UL, +0xc4000000UL, 0xa7000000UL, 0x7e000000UL, 0x3d000000UL, 0x64000000UL, 0x5d000000UL, 0x19000000UL, 0x73000000UL, +0x60000000UL, 0x81000000UL, 0x4f000000UL, 0xdc000000UL, 0x22000000UL, 0x2a000000UL, 0x90000000UL, 0x88000000UL, +0x46000000UL, 0xee000000UL, 0xb8000000UL, 0x14000000UL, 0xde000000UL, 0x5e000000UL, 0x0b000000UL, 0xdb000000UL, +0xe0000000UL, 0x32000000UL, 0x3a000000UL, 0x0a000000UL, 0x49000000UL, 0x06000000UL, 0x24000000UL, 0x5c000000UL, +0xc2000000UL, 0xd3000000UL, 0xac000000UL, 0x62000000UL, 0x91000000UL, 0x95000000UL, 0xe4000000UL, 0x79000000UL, +0xe7000000UL, 0xc8000000UL, 0x37000000UL, 0x6d000000UL, 0x8d000000UL, 0xd5000000UL, 0x4e000000UL, 0xa9000000UL, +0x6c000000UL, 0x56000000UL, 0xf4000000UL, 0xea000000UL, 0x65000000UL, 0x7a000000UL, 0xae000000UL, 0x08000000UL, +0xba000000UL, 0x78000000UL, 0x25000000UL, 0x2e000000UL, 0x1c000000UL, 0xa6000000UL, 0xb4000000UL, 0xc6000000UL, +0xe8000000UL, 0xdd000000UL, 0x74000000UL, 0x1f000000UL, 0x4b000000UL, 0xbd000000UL, 0x8b000000UL, 0x8a000000UL, +0x70000000UL, 0x3e000000UL, 0xb5000000UL, 0x66000000UL, 0x48000000UL, 0x03000000UL, 0xf6000000UL, 0x0e000000UL, +0x61000000UL, 0x35000000UL, 0x57000000UL, 0xb9000000UL, 0x86000000UL, 0xc1000000UL, 0x1d000000UL, 0x9e000000UL, +0xe1000000UL, 0xf8000000UL, 0x98000000UL, 0x11000000UL, 0x69000000UL, 0xd9000000UL, 0x8e000000UL, 0x94000000UL, +0x9b000000UL, 0x1e000000UL, 0x87000000UL, 0xe9000000UL, 0xce000000UL, 0x55000000UL, 0x28000000UL, 0xdf000000UL, +0x8c000000UL, 0xa1000000UL, 0x89000000UL, 0x0d000000UL, 0xbf000000UL, 0xe6000000UL, 0x42000000UL, 0x68000000UL, +0x41000000UL, 0x99000000UL, 0x2d000000UL, 0x0f000000UL, 0xb0000000UL, 0x54000000UL, 0xbb000000UL, 0x16000000UL +}; + +static const ulong32 TD1[256] = { + 0x5051f4a7UL, 0x537e4165UL, 0xc31a17a4UL, 0x963a275eUL, + 0xcb3bab6bUL, 0xf11f9d45UL, 0xabacfa58UL, 0x934be303UL, + 0x552030faUL, 0xf6ad766dUL, 0x9188cc76UL, 0x25f5024cUL, + 0xfc4fe5d7UL, 0xd7c52acbUL, 0x80263544UL, 0x8fb562a3UL, + 0x49deb15aUL, 0x6725ba1bUL, 0x9845ea0eUL, 0xe15dfec0UL, + 0x02c32f75UL, 0x12814cf0UL, 0xa38d4697UL, 0xc66bd3f9UL, + 0xe7038f5fUL, 0x9515929cUL, 0xebbf6d7aUL, 0xda955259UL, + 0x2dd4be83UL, 0xd3587421UL, 0x2949e069UL, 0x448ec9c8UL, + 0x6a75c289UL, 0x78f48e79UL, 0x6b99583eUL, 0xdd27b971UL, + 0xb6bee14fUL, 0x17f088adUL, 0x66c920acUL, 0xb47dce3aUL, + 0x1863df4aUL, 0x82e51a31UL, 0x60975133UL, 0x4562537fUL, + 0xe0b16477UL, 0x84bb6baeUL, 0x1cfe81a0UL, 0x94f9082bUL, + 0x58704868UL, 0x198f45fdUL, 0x8794de6cUL, 0xb7527bf8UL, + 0x23ab73d3UL, 0xe2724b02UL, 0x57e31f8fUL, 0x2a6655abUL, + 0x07b2eb28UL, 0x032fb5c2UL, 0x9a86c57bUL, 0xa5d33708UL, + 0xf2302887UL, 0xb223bfa5UL, 0xba02036aUL, 0x5ced1682UL, + 0x2b8acf1cUL, 0x92a779b4UL, 0xf0f307f2UL, 0xa14e69e2UL, + 0xcd65daf4UL, 0xd50605beUL, 0x1fd13462UL, 0x8ac4a6feUL, + 0x9d342e53UL, 0xa0a2f355UL, 0x32058ae1UL, 0x75a4f6ebUL, + 0x390b83ecUL, 0xaa4060efUL, 0x065e719fUL, 0x51bd6e10UL, + 0xf93e218aUL, 0x3d96dd06UL, 0xaedd3e05UL, 0x464de6bdUL, + 0xb591548dUL, 0x0571c45dUL, 0x6f0406d4UL, 0xff605015UL, + 0x241998fbUL, 0x97d6bde9UL, 0xcc894043UL, 0x7767d99eUL, + 0xbdb0e842UL, 0x8807898bUL, 0x38e7195bUL, 0xdb79c8eeUL, + 0x47a17c0aUL, 0xe97c420fUL, 0xc9f8841eUL, 0x00000000UL, + 0x83098086UL, 0x48322bedUL, 0xac1e1170UL, 0x4e6c5a72UL, + 0xfbfd0effUL, 0x560f8538UL, 0x1e3daed5UL, 0x27362d39UL, + 0x640a0fd9UL, 0x21685ca6UL, 0xd19b5b54UL, 0x3a24362eUL, + 0xb10c0a67UL, 0x0f9357e7UL, 0xd2b4ee96UL, 0x9e1b9b91UL, + 0x4f80c0c5UL, 0xa261dc20UL, 0x695a774bUL, 0x161c121aUL, + 0x0ae293baUL, 0xe5c0a02aUL, 0x433c22e0UL, 0x1d121b17UL, + 0x0b0e090dUL, 0xadf28bc7UL, 0xb92db6a8UL, 0xc8141ea9UL, + 0x8557f119UL, 0x4caf7507UL, 0xbbee99ddUL, 0xfda37f60UL, + 0x9ff70126UL, 0xbc5c72f5UL, 0xc544663bUL, 0x345bfb7eUL, + 0x768b4329UL, 0xdccb23c6UL, 0x68b6edfcUL, 0x63b8e4f1UL, + 0xcad731dcUL, 0x10426385UL, 0x40139722UL, 0x2084c611UL, + 0x7d854a24UL, 0xf8d2bb3dUL, 0x11aef932UL, 0x6dc729a1UL, + 0x4b1d9e2fUL, 0xf3dcb230UL, 0xec0d8652UL, 0xd077c1e3UL, + 0x6c2bb316UL, 0x99a970b9UL, 0xfa119448UL, 0x2247e964UL, + 0xc4a8fc8cUL, 0x1aa0f03fUL, 0xd8567d2cUL, 0xef223390UL, + 0xc787494eUL, 0xc1d938d1UL, 0xfe8ccaa2UL, 0x3698d40bUL, + 0xcfa6f581UL, 0x28a57adeUL, 0x26dab78eUL, 0xa43fadbfUL, + 0xe42c3a9dUL, 0x0d507892UL, 0x9b6a5fccUL, 0x62547e46UL, + 0xc2f68d13UL, 0xe890d8b8UL, 0x5e2e39f7UL, 0xf582c3afUL, + 0xbe9f5d80UL, 0x7c69d093UL, 0xa96fd52dUL, 0xb3cf2512UL, + 0x3bc8ac99UL, 0xa710187dUL, 0x6ee89c63UL, 0x7bdb3bbbUL, + 0x09cd2678UL, 0xf46e5918UL, 0x01ec9ab7UL, 0xa8834f9aUL, + 0x65e6956eUL, 0x7eaaffe6UL, 0x0821bccfUL, 0xe6ef15e8UL, + 0xd9bae79bUL, 0xce4a6f36UL, 0xd4ea9f09UL, 0xd629b07cUL, + 0xaf31a4b2UL, 0x312a3f23UL, 0x30c6a594UL, 0xc035a266UL, + 0x37744ebcUL, 0xa6fc82caUL, 0xb0e090d0UL, 0x1533a7d8UL, + 0x4af10498UL, 0xf741ecdaUL, 0x0e7fcd50UL, 0x2f1791f6UL, + 0x8d764dd6UL, 0x4d43efb0UL, 0x54ccaa4dUL, 0xdfe49604UL, + 0xe39ed1b5UL, 0x1b4c6a88UL, 0xb8c12c1fUL, 0x7f466551UL, + 0x049d5eeaUL, 0x5d018c35UL, 0x73fa8774UL, 0x2efb0b41UL, + 0x5ab3671dUL, 0x5292dbd2UL, 0x33e91056UL, 0x136dd647UL, + 0x8c9ad761UL, 0x7a37a10cUL, 0x8e59f814UL, 0x89eb133cUL, + 0xeecea927UL, 0x35b761c9UL, 0xede11ce5UL, 0x3c7a47b1UL, + 0x599cd2dfUL, 0x3f55f273UL, 0x791814ceUL, 0xbf73c737UL, + 0xea53f7cdUL, 0x5b5ffdaaUL, 0x14df3d6fUL, 0x867844dbUL, + 0x81caaff3UL, 0x3eb968c4UL, 0x2c382434UL, 0x5fc2a340UL, + 0x72161dc3UL, 0x0cbce225UL, 0x8b283c49UL, 0x41ff0d95UL, + 0x7139a801UL, 0xde080cb3UL, 0x9cd8b4e4UL, 0x906456c1UL, + 0x617bcb84UL, 0x70d532b6UL, 0x74486c5cUL, 0x42d0b857UL, +}; +static const ulong32 TD2[256] = { + 0xa75051f4UL, 0x65537e41UL, 0xa4c31a17UL, 0x5e963a27UL, + 0x6bcb3babUL, 0x45f11f9dUL, 0x58abacfaUL, 0x03934be3UL, + 0xfa552030UL, 0x6df6ad76UL, 0x769188ccUL, 0x4c25f502UL, + 0xd7fc4fe5UL, 0xcbd7c52aUL, 0x44802635UL, 0xa38fb562UL, + 0x5a49deb1UL, 0x1b6725baUL, 0x0e9845eaUL, 0xc0e15dfeUL, + 0x7502c32fUL, 0xf012814cUL, 0x97a38d46UL, 0xf9c66bd3UL, + 0x5fe7038fUL, 0x9c951592UL, 0x7aebbf6dUL, 0x59da9552UL, + 0x832dd4beUL, 0x21d35874UL, 0x692949e0UL, 0xc8448ec9UL, + 0x896a75c2UL, 0x7978f48eUL, 0x3e6b9958UL, 0x71dd27b9UL, + 0x4fb6bee1UL, 0xad17f088UL, 0xac66c920UL, 0x3ab47dceUL, + 0x4a1863dfUL, 0x3182e51aUL, 0x33609751UL, 0x7f456253UL, + 0x77e0b164UL, 0xae84bb6bUL, 0xa01cfe81UL, 0x2b94f908UL, + 0x68587048UL, 0xfd198f45UL, 0x6c8794deUL, 0xf8b7527bUL, + 0xd323ab73UL, 0x02e2724bUL, 0x8f57e31fUL, 0xab2a6655UL, + 0x2807b2ebUL, 0xc2032fb5UL, 0x7b9a86c5UL, 0x08a5d337UL, + 0x87f23028UL, 0xa5b223bfUL, 0x6aba0203UL, 0x825ced16UL, + 0x1c2b8acfUL, 0xb492a779UL, 0xf2f0f307UL, 0xe2a14e69UL, + 0xf4cd65daUL, 0xbed50605UL, 0x621fd134UL, 0xfe8ac4a6UL, + 0x539d342eUL, 0x55a0a2f3UL, 0xe132058aUL, 0xeb75a4f6UL, + 0xec390b83UL, 0xefaa4060UL, 0x9f065e71UL, 0x1051bd6eUL, + 0x8af93e21UL, 0x063d96ddUL, 0x05aedd3eUL, 0xbd464de6UL, + 0x8db59154UL, 0x5d0571c4UL, 0xd46f0406UL, 0x15ff6050UL, + 0xfb241998UL, 0xe997d6bdUL, 0x43cc8940UL, 0x9e7767d9UL, + 0x42bdb0e8UL, 0x8b880789UL, 0x5b38e719UL, 0xeedb79c8UL, + 0x0a47a17cUL, 0x0fe97c42UL, 0x1ec9f884UL, 0x00000000UL, + 0x86830980UL, 0xed48322bUL, 0x70ac1e11UL, 0x724e6c5aUL, + 0xfffbfd0eUL, 0x38560f85UL, 0xd51e3daeUL, 0x3927362dUL, + 0xd9640a0fUL, 0xa621685cUL, 0x54d19b5bUL, 0x2e3a2436UL, + 0x67b10c0aUL, 0xe70f9357UL, 0x96d2b4eeUL, 0x919e1b9bUL, + 0xc54f80c0UL, 0x20a261dcUL, 0x4b695a77UL, 0x1a161c12UL, + 0xba0ae293UL, 0x2ae5c0a0UL, 0xe0433c22UL, 0x171d121bUL, + 0x0d0b0e09UL, 0xc7adf28bUL, 0xa8b92db6UL, 0xa9c8141eUL, + 0x198557f1UL, 0x074caf75UL, 0xddbbee99UL, 0x60fda37fUL, + 0x269ff701UL, 0xf5bc5c72UL, 0x3bc54466UL, 0x7e345bfbUL, + 0x29768b43UL, 0xc6dccb23UL, 0xfc68b6edUL, 0xf163b8e4UL, + 0xdccad731UL, 0x85104263UL, 0x22401397UL, 0x112084c6UL, + 0x247d854aUL, 0x3df8d2bbUL, 0x3211aef9UL, 0xa16dc729UL, + 0x2f4b1d9eUL, 0x30f3dcb2UL, 0x52ec0d86UL, 0xe3d077c1UL, + 0x166c2bb3UL, 0xb999a970UL, 0x48fa1194UL, 0x642247e9UL, + 0x8cc4a8fcUL, 0x3f1aa0f0UL, 0x2cd8567dUL, 0x90ef2233UL, + 0x4ec78749UL, 0xd1c1d938UL, 0xa2fe8ccaUL, 0x0b3698d4UL, + 0x81cfa6f5UL, 0xde28a57aUL, 0x8e26dab7UL, 0xbfa43fadUL, + 0x9de42c3aUL, 0x920d5078UL, 0xcc9b6a5fUL, 0x4662547eUL, + 0x13c2f68dUL, 0xb8e890d8UL, 0xf75e2e39UL, 0xaff582c3UL, + 0x80be9f5dUL, 0x937c69d0UL, 0x2da96fd5UL, 0x12b3cf25UL, + 0x993bc8acUL, 0x7da71018UL, 0x636ee89cUL, 0xbb7bdb3bUL, + 0x7809cd26UL, 0x18f46e59UL, 0xb701ec9aUL, 0x9aa8834fUL, + 0x6e65e695UL, 0xe67eaaffUL, 0xcf0821bcUL, 0xe8e6ef15UL, + 0x9bd9bae7UL, 0x36ce4a6fUL, 0x09d4ea9fUL, 0x7cd629b0UL, + 0xb2af31a4UL, 0x23312a3fUL, 0x9430c6a5UL, 0x66c035a2UL, + 0xbc37744eUL, 0xcaa6fc82UL, 0xd0b0e090UL, 0xd81533a7UL, + 0x984af104UL, 0xdaf741ecUL, 0x500e7fcdUL, 0xf62f1791UL, + 0xd68d764dUL, 0xb04d43efUL, 0x4d54ccaaUL, 0x04dfe496UL, + 0xb5e39ed1UL, 0x881b4c6aUL, 0x1fb8c12cUL, 0x517f4665UL, + 0xea049d5eUL, 0x355d018cUL, 0x7473fa87UL, 0x412efb0bUL, + 0x1d5ab367UL, 0xd25292dbUL, 0x5633e910UL, 0x47136dd6UL, + 0x618c9ad7UL, 0x0c7a37a1UL, 0x148e59f8UL, 0x3c89eb13UL, + 0x27eecea9UL, 0xc935b761UL, 0xe5ede11cUL, 0xb13c7a47UL, + 0xdf599cd2UL, 0x733f55f2UL, 0xce791814UL, 0x37bf73c7UL, + 0xcdea53f7UL, 0xaa5b5ffdUL, 0x6f14df3dUL, 0xdb867844UL, + 0xf381caafUL, 0xc43eb968UL, 0x342c3824UL, 0x405fc2a3UL, + 0xc372161dUL, 0x250cbce2UL, 0x498b283cUL, 0x9541ff0dUL, + 0x017139a8UL, 0xb3de080cUL, 0xe49cd8b4UL, 0xc1906456UL, + 0x84617bcbUL, 0xb670d532UL, 0x5c74486cUL, 0x5742d0b8UL, +}; +static const ulong32 TD3[256] = { + 0xf4a75051UL, 0x4165537eUL, 0x17a4c31aUL, 0x275e963aUL, + 0xab6bcb3bUL, 0x9d45f11fUL, 0xfa58abacUL, 0xe303934bUL, + 0x30fa5520UL, 0x766df6adUL, 0xcc769188UL, 0x024c25f5UL, + 0xe5d7fc4fUL, 0x2acbd7c5UL, 0x35448026UL, 0x62a38fb5UL, + 0xb15a49deUL, 0xba1b6725UL, 0xea0e9845UL, 0xfec0e15dUL, + 0x2f7502c3UL, 0x4cf01281UL, 0x4697a38dUL, 0xd3f9c66bUL, + 0x8f5fe703UL, 0x929c9515UL, 0x6d7aebbfUL, 0x5259da95UL, + 0xbe832dd4UL, 0x7421d358UL, 0xe0692949UL, 0xc9c8448eUL, + 0xc2896a75UL, 0x8e7978f4UL, 0x583e6b99UL, 0xb971dd27UL, + 0xe14fb6beUL, 0x88ad17f0UL, 0x20ac66c9UL, 0xce3ab47dUL, + 0xdf4a1863UL, 0x1a3182e5UL, 0x51336097UL, 0x537f4562UL, + 0x6477e0b1UL, 0x6bae84bbUL, 0x81a01cfeUL, 0x082b94f9UL, + 0x48685870UL, 0x45fd198fUL, 0xde6c8794UL, 0x7bf8b752UL, + 0x73d323abUL, 0x4b02e272UL, 0x1f8f57e3UL, 0x55ab2a66UL, + 0xeb2807b2UL, 0xb5c2032fUL, 0xc57b9a86UL, 0x3708a5d3UL, + 0x2887f230UL, 0xbfa5b223UL, 0x036aba02UL, 0x16825cedUL, + 0xcf1c2b8aUL, 0x79b492a7UL, 0x07f2f0f3UL, 0x69e2a14eUL, + 0xdaf4cd65UL, 0x05bed506UL, 0x34621fd1UL, 0xa6fe8ac4UL, + 0x2e539d34UL, 0xf355a0a2UL, 0x8ae13205UL, 0xf6eb75a4UL, + 0x83ec390bUL, 0x60efaa40UL, 0x719f065eUL, 0x6e1051bdUL, + 0x218af93eUL, 0xdd063d96UL, 0x3e05aeddUL, 0xe6bd464dUL, + 0x548db591UL, 0xc45d0571UL, 0x06d46f04UL, 0x5015ff60UL, + 0x98fb2419UL, 0xbde997d6UL, 0x4043cc89UL, 0xd99e7767UL, + 0xe842bdb0UL, 0x898b8807UL, 0x195b38e7UL, 0xc8eedb79UL, + 0x7c0a47a1UL, 0x420fe97cUL, 0x841ec9f8UL, 0x00000000UL, + 0x80868309UL, 0x2bed4832UL, 0x1170ac1eUL, 0x5a724e6cUL, + 0x0efffbfdUL, 0x8538560fUL, 0xaed51e3dUL, 0x2d392736UL, + 0x0fd9640aUL, 0x5ca62168UL, 0x5b54d19bUL, 0x362e3a24UL, + 0x0a67b10cUL, 0x57e70f93UL, 0xee96d2b4UL, 0x9b919e1bUL, + 0xc0c54f80UL, 0xdc20a261UL, 0x774b695aUL, 0x121a161cUL, + 0x93ba0ae2UL, 0xa02ae5c0UL, 0x22e0433cUL, 0x1b171d12UL, + 0x090d0b0eUL, 0x8bc7adf2UL, 0xb6a8b92dUL, 0x1ea9c814UL, + 0xf1198557UL, 0x75074cafUL, 0x99ddbbeeUL, 0x7f60fda3UL, + 0x01269ff7UL, 0x72f5bc5cUL, 0x663bc544UL, 0xfb7e345bUL, + 0x4329768bUL, 0x23c6dccbUL, 0xedfc68b6UL, 0xe4f163b8UL, + 0x31dccad7UL, 0x63851042UL, 0x97224013UL, 0xc6112084UL, + 0x4a247d85UL, 0xbb3df8d2UL, 0xf93211aeUL, 0x29a16dc7UL, + 0x9e2f4b1dUL, 0xb230f3dcUL, 0x8652ec0dUL, 0xc1e3d077UL, + 0xb3166c2bUL, 0x70b999a9UL, 0x9448fa11UL, 0xe9642247UL, + 0xfc8cc4a8UL, 0xf03f1aa0UL, 0x7d2cd856UL, 0x3390ef22UL, + 0x494ec787UL, 0x38d1c1d9UL, 0xcaa2fe8cUL, 0xd40b3698UL, + 0xf581cfa6UL, 0x7ade28a5UL, 0xb78e26daUL, 0xadbfa43fUL, + 0x3a9de42cUL, 0x78920d50UL, 0x5fcc9b6aUL, 0x7e466254UL, + 0x8d13c2f6UL, 0xd8b8e890UL, 0x39f75e2eUL, 0xc3aff582UL, + 0x5d80be9fUL, 0xd0937c69UL, 0xd52da96fUL, 0x2512b3cfUL, + 0xac993bc8UL, 0x187da710UL, 0x9c636ee8UL, 0x3bbb7bdbUL, + 0x267809cdUL, 0x5918f46eUL, 0x9ab701ecUL, 0x4f9aa883UL, + 0x956e65e6UL, 0xffe67eaaUL, 0xbccf0821UL, 0x15e8e6efUL, + 0xe79bd9baUL, 0x6f36ce4aUL, 0x9f09d4eaUL, 0xb07cd629UL, + 0xa4b2af31UL, 0x3f23312aUL, 0xa59430c6UL, 0xa266c035UL, + 0x4ebc3774UL, 0x82caa6fcUL, 0x90d0b0e0UL, 0xa7d81533UL, + 0x04984af1UL, 0xecdaf741UL, 0xcd500e7fUL, 0x91f62f17UL, + 0x4dd68d76UL, 0xefb04d43UL, 0xaa4d54ccUL, 0x9604dfe4UL, + 0xd1b5e39eUL, 0x6a881b4cUL, 0x2c1fb8c1UL, 0x65517f46UL, + 0x5eea049dUL, 0x8c355d01UL, 0x877473faUL, 0x0b412efbUL, + 0x671d5ab3UL, 0xdbd25292UL, 0x105633e9UL, 0xd647136dUL, + 0xd7618c9aUL, 0xa10c7a37UL, 0xf8148e59UL, 0x133c89ebUL, + 0xa927eeceUL, 0x61c935b7UL, 0x1ce5ede1UL, 0x47b13c7aUL, + 0xd2df599cUL, 0xf2733f55UL, 0x14ce7918UL, 0xc737bf73UL, + 0xf7cdea53UL, 0xfdaa5b5fUL, 0x3d6f14dfUL, 0x44db8678UL, + 0xaff381caUL, 0x68c43eb9UL, 0x24342c38UL, 0xa3405fc2UL, + 0x1dc37216UL, 0xe2250cbcUL, 0x3c498b28UL, 0x0d9541ffUL, + 0xa8017139UL, 0x0cb3de08UL, 0xb4e49cd8UL, 0x56c19064UL, + 0xcb84617bUL, 0x32b670d5UL, 0x6c5c7448UL, 0xb85742d0UL, +}; + +static const ulong32 Tks0[] = { +0x00000000UL, 0x0e090d0bUL, 0x1c121a16UL, 0x121b171dUL, 0x3824342cUL, 0x362d3927UL, 0x24362e3aUL, 0x2a3f2331UL, +0x70486858UL, 0x7e416553UL, 0x6c5a724eUL, 0x62537f45UL, 0x486c5c74UL, 0x4665517fUL, 0x547e4662UL, 0x5a774b69UL, +0xe090d0b0UL, 0xee99ddbbUL, 0xfc82caa6UL, 0xf28bc7adUL, 0xd8b4e49cUL, 0xd6bde997UL, 0xc4a6fe8aUL, 0xcaaff381UL, +0x90d8b8e8UL, 0x9ed1b5e3UL, 0x8ccaa2feUL, 0x82c3aff5UL, 0xa8fc8cc4UL, 0xa6f581cfUL, 0xb4ee96d2UL, 0xbae79bd9UL, +0xdb3bbb7bUL, 0xd532b670UL, 0xc729a16dUL, 0xc920ac66UL, 0xe31f8f57UL, 0xed16825cUL, 0xff0d9541UL, 0xf104984aUL, +0xab73d323UL, 0xa57ade28UL, 0xb761c935UL, 0xb968c43eUL, 0x9357e70fUL, 0x9d5eea04UL, 0x8f45fd19UL, 0x814cf012UL, +0x3bab6bcbUL, 0x35a266c0UL, 0x27b971ddUL, 0x29b07cd6UL, 0x038f5fe7UL, 0x0d8652ecUL, 0x1f9d45f1UL, 0x119448faUL, +0x4be30393UL, 0x45ea0e98UL, 0x57f11985UL, 0x59f8148eUL, 0x73c737bfUL, 0x7dce3ab4UL, 0x6fd52da9UL, 0x61dc20a2UL, +0xad766df6UL, 0xa37f60fdUL, 0xb16477e0UL, 0xbf6d7aebUL, 0x955259daUL, 0x9b5b54d1UL, 0x894043ccUL, 0x87494ec7UL, +0xdd3e05aeUL, 0xd33708a5UL, 0xc12c1fb8UL, 0xcf2512b3UL, 0xe51a3182UL, 0xeb133c89UL, 0xf9082b94UL, 0xf701269fUL, +0x4de6bd46UL, 0x43efb04dUL, 0x51f4a750UL, 0x5ffdaa5bUL, 0x75c2896aUL, 0x7bcb8461UL, 0x69d0937cUL, 0x67d99e77UL, +0x3daed51eUL, 0x33a7d815UL, 0x21bccf08UL, 0x2fb5c203UL, 0x058ae132UL, 0x0b83ec39UL, 0x1998fb24UL, 0x1791f62fUL, +0x764dd68dUL, 0x7844db86UL, 0x6a5fcc9bUL, 0x6456c190UL, 0x4e69e2a1UL, 0x4060efaaUL, 0x527bf8b7UL, 0x5c72f5bcUL, +0x0605bed5UL, 0x080cb3deUL, 0x1a17a4c3UL, 0x141ea9c8UL, 0x3e218af9UL, 0x302887f2UL, 0x223390efUL, 0x2c3a9de4UL, +0x96dd063dUL, 0x98d40b36UL, 0x8acf1c2bUL, 0x84c61120UL, 0xaef93211UL, 0xa0f03f1aUL, 0xb2eb2807UL, 0xbce2250cUL, +0xe6956e65UL, 0xe89c636eUL, 0xfa877473UL, 0xf48e7978UL, 0xdeb15a49UL, 0xd0b85742UL, 0xc2a3405fUL, 0xccaa4d54UL, +0x41ecdaf7UL, 0x4fe5d7fcUL, 0x5dfec0e1UL, 0x53f7cdeaUL, 0x79c8eedbUL, 0x77c1e3d0UL, 0x65daf4cdUL, 0x6bd3f9c6UL, +0x31a4b2afUL, 0x3fadbfa4UL, 0x2db6a8b9UL, 0x23bfa5b2UL, 0x09808683UL, 0x07898b88UL, 0x15929c95UL, 0x1b9b919eUL, +0xa17c0a47UL, 0xaf75074cUL, 0xbd6e1051UL, 0xb3671d5aUL, 0x99583e6bUL, 0x97513360UL, 0x854a247dUL, 0x8b432976UL, +0xd134621fUL, 0xdf3d6f14UL, 0xcd267809UL, 0xc32f7502UL, 0xe9105633UL, 0xe7195b38UL, 0xf5024c25UL, 0xfb0b412eUL, +0x9ad7618cUL, 0x94de6c87UL, 0x86c57b9aUL, 0x88cc7691UL, 0xa2f355a0UL, 0xacfa58abUL, 0xbee14fb6UL, 0xb0e842bdUL, +0xea9f09d4UL, 0xe49604dfUL, 0xf68d13c2UL, 0xf8841ec9UL, 0xd2bb3df8UL, 0xdcb230f3UL, 0xcea927eeUL, 0xc0a02ae5UL, +0x7a47b13cUL, 0x744ebc37UL, 0x6655ab2aUL, 0x685ca621UL, 0x42638510UL, 0x4c6a881bUL, 0x5e719f06UL, 0x5078920dUL, +0x0a0fd964UL, 0x0406d46fUL, 0x161dc372UL, 0x1814ce79UL, 0x322bed48UL, 0x3c22e043UL, 0x2e39f75eUL, 0x2030fa55UL, +0xec9ab701UL, 0xe293ba0aUL, 0xf088ad17UL, 0xfe81a01cUL, 0xd4be832dUL, 0xdab78e26UL, 0xc8ac993bUL, 0xc6a59430UL, +0x9cd2df59UL, 0x92dbd252UL, 0x80c0c54fUL, 0x8ec9c844UL, 0xa4f6eb75UL, 0xaaffe67eUL, 0xb8e4f163UL, 0xb6edfc68UL, +0x0c0a67b1UL, 0x02036abaUL, 0x10187da7UL, 0x1e1170acUL, 0x342e539dUL, 0x3a275e96UL, 0x283c498bUL, 0x26354480UL, +0x7c420fe9UL, 0x724b02e2UL, 0x605015ffUL, 0x6e5918f4UL, 0x44663bc5UL, 0x4a6f36ceUL, 0x587421d3UL, 0x567d2cd8UL, +0x37a10c7aUL, 0x39a80171UL, 0x2bb3166cUL, 0x25ba1b67UL, 0x0f853856UL, 0x018c355dUL, 0x13972240UL, 0x1d9e2f4bUL, +0x47e96422UL, 0x49e06929UL, 0x5bfb7e34UL, 0x55f2733fUL, 0x7fcd500eUL, 0x71c45d05UL, 0x63df4a18UL, 0x6dd64713UL, +0xd731dccaUL, 0xd938d1c1UL, 0xcb23c6dcUL, 0xc52acbd7UL, 0xef15e8e6UL, 0xe11ce5edUL, 0xf307f2f0UL, 0xfd0efffbUL, +0xa779b492UL, 0xa970b999UL, 0xbb6bae84UL, 0xb562a38fUL, 0x9f5d80beUL, 0x91548db5UL, 0x834f9aa8UL, 0x8d4697a3UL +}; + +static const ulong32 Tks1[] = { +0x00000000UL, 0x0b0e090dUL, 0x161c121aUL, 0x1d121b17UL, 0x2c382434UL, 0x27362d39UL, 0x3a24362eUL, 0x312a3f23UL, +0x58704868UL, 0x537e4165UL, 0x4e6c5a72UL, 0x4562537fUL, 0x74486c5cUL, 0x7f466551UL, 0x62547e46UL, 0x695a774bUL, +0xb0e090d0UL, 0xbbee99ddUL, 0xa6fc82caUL, 0xadf28bc7UL, 0x9cd8b4e4UL, 0x97d6bde9UL, 0x8ac4a6feUL, 0x81caaff3UL, +0xe890d8b8UL, 0xe39ed1b5UL, 0xfe8ccaa2UL, 0xf582c3afUL, 0xc4a8fc8cUL, 0xcfa6f581UL, 0xd2b4ee96UL, 0xd9bae79bUL, +0x7bdb3bbbUL, 0x70d532b6UL, 0x6dc729a1UL, 0x66c920acUL, 0x57e31f8fUL, 0x5ced1682UL, 0x41ff0d95UL, 0x4af10498UL, +0x23ab73d3UL, 0x28a57adeUL, 0x35b761c9UL, 0x3eb968c4UL, 0x0f9357e7UL, 0x049d5eeaUL, 0x198f45fdUL, 0x12814cf0UL, +0xcb3bab6bUL, 0xc035a266UL, 0xdd27b971UL, 0xd629b07cUL, 0xe7038f5fUL, 0xec0d8652UL, 0xf11f9d45UL, 0xfa119448UL, +0x934be303UL, 0x9845ea0eUL, 0x8557f119UL, 0x8e59f814UL, 0xbf73c737UL, 0xb47dce3aUL, 0xa96fd52dUL, 0xa261dc20UL, +0xf6ad766dUL, 0xfda37f60UL, 0xe0b16477UL, 0xebbf6d7aUL, 0xda955259UL, 0xd19b5b54UL, 0xcc894043UL, 0xc787494eUL, +0xaedd3e05UL, 0xa5d33708UL, 0xb8c12c1fUL, 0xb3cf2512UL, 0x82e51a31UL, 0x89eb133cUL, 0x94f9082bUL, 0x9ff70126UL, +0x464de6bdUL, 0x4d43efb0UL, 0x5051f4a7UL, 0x5b5ffdaaUL, 0x6a75c289UL, 0x617bcb84UL, 0x7c69d093UL, 0x7767d99eUL, +0x1e3daed5UL, 0x1533a7d8UL, 0x0821bccfUL, 0x032fb5c2UL, 0x32058ae1UL, 0x390b83ecUL, 0x241998fbUL, 0x2f1791f6UL, +0x8d764dd6UL, 0x867844dbUL, 0x9b6a5fccUL, 0x906456c1UL, 0xa14e69e2UL, 0xaa4060efUL, 0xb7527bf8UL, 0xbc5c72f5UL, +0xd50605beUL, 0xde080cb3UL, 0xc31a17a4UL, 0xc8141ea9UL, 0xf93e218aUL, 0xf2302887UL, 0xef223390UL, 0xe42c3a9dUL, +0x3d96dd06UL, 0x3698d40bUL, 0x2b8acf1cUL, 0x2084c611UL, 0x11aef932UL, 0x1aa0f03fUL, 0x07b2eb28UL, 0x0cbce225UL, +0x65e6956eUL, 0x6ee89c63UL, 0x73fa8774UL, 0x78f48e79UL, 0x49deb15aUL, 0x42d0b857UL, 0x5fc2a340UL, 0x54ccaa4dUL, +0xf741ecdaUL, 0xfc4fe5d7UL, 0xe15dfec0UL, 0xea53f7cdUL, 0xdb79c8eeUL, 0xd077c1e3UL, 0xcd65daf4UL, 0xc66bd3f9UL, +0xaf31a4b2UL, 0xa43fadbfUL, 0xb92db6a8UL, 0xb223bfa5UL, 0x83098086UL, 0x8807898bUL, 0x9515929cUL, 0x9e1b9b91UL, +0x47a17c0aUL, 0x4caf7507UL, 0x51bd6e10UL, 0x5ab3671dUL, 0x6b99583eUL, 0x60975133UL, 0x7d854a24UL, 0x768b4329UL, +0x1fd13462UL, 0x14df3d6fUL, 0x09cd2678UL, 0x02c32f75UL, 0x33e91056UL, 0x38e7195bUL, 0x25f5024cUL, 0x2efb0b41UL, +0x8c9ad761UL, 0x8794de6cUL, 0x9a86c57bUL, 0x9188cc76UL, 0xa0a2f355UL, 0xabacfa58UL, 0xb6bee14fUL, 0xbdb0e842UL, +0xd4ea9f09UL, 0xdfe49604UL, 0xc2f68d13UL, 0xc9f8841eUL, 0xf8d2bb3dUL, 0xf3dcb230UL, 0xeecea927UL, 0xe5c0a02aUL, +0x3c7a47b1UL, 0x37744ebcUL, 0x2a6655abUL, 0x21685ca6UL, 0x10426385UL, 0x1b4c6a88UL, 0x065e719fUL, 0x0d507892UL, +0x640a0fd9UL, 0x6f0406d4UL, 0x72161dc3UL, 0x791814ceUL, 0x48322bedUL, 0x433c22e0UL, 0x5e2e39f7UL, 0x552030faUL, +0x01ec9ab7UL, 0x0ae293baUL, 0x17f088adUL, 0x1cfe81a0UL, 0x2dd4be83UL, 0x26dab78eUL, 0x3bc8ac99UL, 0x30c6a594UL, +0x599cd2dfUL, 0x5292dbd2UL, 0x4f80c0c5UL, 0x448ec9c8UL, 0x75a4f6ebUL, 0x7eaaffe6UL, 0x63b8e4f1UL, 0x68b6edfcUL, +0xb10c0a67UL, 0xba02036aUL, 0xa710187dUL, 0xac1e1170UL, 0x9d342e53UL, 0x963a275eUL, 0x8b283c49UL, 0x80263544UL, +0xe97c420fUL, 0xe2724b02UL, 0xff605015UL, 0xf46e5918UL, 0xc544663bUL, 0xce4a6f36UL, 0xd3587421UL, 0xd8567d2cUL, +0x7a37a10cUL, 0x7139a801UL, 0x6c2bb316UL, 0x6725ba1bUL, 0x560f8538UL, 0x5d018c35UL, 0x40139722UL, 0x4b1d9e2fUL, +0x2247e964UL, 0x2949e069UL, 0x345bfb7eUL, 0x3f55f273UL, 0x0e7fcd50UL, 0x0571c45dUL, 0x1863df4aUL, 0x136dd647UL, +0xcad731dcUL, 0xc1d938d1UL, 0xdccb23c6UL, 0xd7c52acbUL, 0xe6ef15e8UL, 0xede11ce5UL, 0xf0f307f2UL, 0xfbfd0effUL, +0x92a779b4UL, 0x99a970b9UL, 0x84bb6baeUL, 0x8fb562a3UL, 0xbe9f5d80UL, 0xb591548dUL, 0xa8834f9aUL, 0xa38d4697UL +}; + +static const ulong32 Tks2[] = { +0x00000000UL, 0x0d0b0e09UL, 0x1a161c12UL, 0x171d121bUL, 0x342c3824UL, 0x3927362dUL, 0x2e3a2436UL, 0x23312a3fUL, +0x68587048UL, 0x65537e41UL, 0x724e6c5aUL, 0x7f456253UL, 0x5c74486cUL, 0x517f4665UL, 0x4662547eUL, 0x4b695a77UL, +0xd0b0e090UL, 0xddbbee99UL, 0xcaa6fc82UL, 0xc7adf28bUL, 0xe49cd8b4UL, 0xe997d6bdUL, 0xfe8ac4a6UL, 0xf381caafUL, +0xb8e890d8UL, 0xb5e39ed1UL, 0xa2fe8ccaUL, 0xaff582c3UL, 0x8cc4a8fcUL, 0x81cfa6f5UL, 0x96d2b4eeUL, 0x9bd9bae7UL, +0xbb7bdb3bUL, 0xb670d532UL, 0xa16dc729UL, 0xac66c920UL, 0x8f57e31fUL, 0x825ced16UL, 0x9541ff0dUL, 0x984af104UL, +0xd323ab73UL, 0xde28a57aUL, 0xc935b761UL, 0xc43eb968UL, 0xe70f9357UL, 0xea049d5eUL, 0xfd198f45UL, 0xf012814cUL, +0x6bcb3babUL, 0x66c035a2UL, 0x71dd27b9UL, 0x7cd629b0UL, 0x5fe7038fUL, 0x52ec0d86UL, 0x45f11f9dUL, 0x48fa1194UL, +0x03934be3UL, 0x0e9845eaUL, 0x198557f1UL, 0x148e59f8UL, 0x37bf73c7UL, 0x3ab47dceUL, 0x2da96fd5UL, 0x20a261dcUL, +0x6df6ad76UL, 0x60fda37fUL, 0x77e0b164UL, 0x7aebbf6dUL, 0x59da9552UL, 0x54d19b5bUL, 0x43cc8940UL, 0x4ec78749UL, +0x05aedd3eUL, 0x08a5d337UL, 0x1fb8c12cUL, 0x12b3cf25UL, 0x3182e51aUL, 0x3c89eb13UL, 0x2b94f908UL, 0x269ff701UL, +0xbd464de6UL, 0xb04d43efUL, 0xa75051f4UL, 0xaa5b5ffdUL, 0x896a75c2UL, 0x84617bcbUL, 0x937c69d0UL, 0x9e7767d9UL, +0xd51e3daeUL, 0xd81533a7UL, 0xcf0821bcUL, 0xc2032fb5UL, 0xe132058aUL, 0xec390b83UL, 0xfb241998UL, 0xf62f1791UL, +0xd68d764dUL, 0xdb867844UL, 0xcc9b6a5fUL, 0xc1906456UL, 0xe2a14e69UL, 0xefaa4060UL, 0xf8b7527bUL, 0xf5bc5c72UL, +0xbed50605UL, 0xb3de080cUL, 0xa4c31a17UL, 0xa9c8141eUL, 0x8af93e21UL, 0x87f23028UL, 0x90ef2233UL, 0x9de42c3aUL, +0x063d96ddUL, 0x0b3698d4UL, 0x1c2b8acfUL, 0x112084c6UL, 0x3211aef9UL, 0x3f1aa0f0UL, 0x2807b2ebUL, 0x250cbce2UL, +0x6e65e695UL, 0x636ee89cUL, 0x7473fa87UL, 0x7978f48eUL, 0x5a49deb1UL, 0x5742d0b8UL, 0x405fc2a3UL, 0x4d54ccaaUL, +0xdaf741ecUL, 0xd7fc4fe5UL, 0xc0e15dfeUL, 0xcdea53f7UL, 0xeedb79c8UL, 0xe3d077c1UL, 0xf4cd65daUL, 0xf9c66bd3UL, +0xb2af31a4UL, 0xbfa43fadUL, 0xa8b92db6UL, 0xa5b223bfUL, 0x86830980UL, 0x8b880789UL, 0x9c951592UL, 0x919e1b9bUL, +0x0a47a17cUL, 0x074caf75UL, 0x1051bd6eUL, 0x1d5ab367UL, 0x3e6b9958UL, 0x33609751UL, 0x247d854aUL, 0x29768b43UL, +0x621fd134UL, 0x6f14df3dUL, 0x7809cd26UL, 0x7502c32fUL, 0x5633e910UL, 0x5b38e719UL, 0x4c25f502UL, 0x412efb0bUL, +0x618c9ad7UL, 0x6c8794deUL, 0x7b9a86c5UL, 0x769188ccUL, 0x55a0a2f3UL, 0x58abacfaUL, 0x4fb6bee1UL, 0x42bdb0e8UL, +0x09d4ea9fUL, 0x04dfe496UL, 0x13c2f68dUL, 0x1ec9f884UL, 0x3df8d2bbUL, 0x30f3dcb2UL, 0x27eecea9UL, 0x2ae5c0a0UL, +0xb13c7a47UL, 0xbc37744eUL, 0xab2a6655UL, 0xa621685cUL, 0x85104263UL, 0x881b4c6aUL, 0x9f065e71UL, 0x920d5078UL, +0xd9640a0fUL, 0xd46f0406UL, 0xc372161dUL, 0xce791814UL, 0xed48322bUL, 0xe0433c22UL, 0xf75e2e39UL, 0xfa552030UL, +0xb701ec9aUL, 0xba0ae293UL, 0xad17f088UL, 0xa01cfe81UL, 0x832dd4beUL, 0x8e26dab7UL, 0x993bc8acUL, 0x9430c6a5UL, +0xdf599cd2UL, 0xd25292dbUL, 0xc54f80c0UL, 0xc8448ec9UL, 0xeb75a4f6UL, 0xe67eaaffUL, 0xf163b8e4UL, 0xfc68b6edUL, +0x67b10c0aUL, 0x6aba0203UL, 0x7da71018UL, 0x70ac1e11UL, 0x539d342eUL, 0x5e963a27UL, 0x498b283cUL, 0x44802635UL, +0x0fe97c42UL, 0x02e2724bUL, 0x15ff6050UL, 0x18f46e59UL, 0x3bc54466UL, 0x36ce4a6fUL, 0x21d35874UL, 0x2cd8567dUL, +0x0c7a37a1UL, 0x017139a8UL, 0x166c2bb3UL, 0x1b6725baUL, 0x38560f85UL, 0x355d018cUL, 0x22401397UL, 0x2f4b1d9eUL, +0x642247e9UL, 0x692949e0UL, 0x7e345bfbUL, 0x733f55f2UL, 0x500e7fcdUL, 0x5d0571c4UL, 0x4a1863dfUL, 0x47136dd6UL, +0xdccad731UL, 0xd1c1d938UL, 0xc6dccb23UL, 0xcbd7c52aUL, 0xe8e6ef15UL, 0xe5ede11cUL, 0xf2f0f307UL, 0xfffbfd0eUL, +0xb492a779UL, 0xb999a970UL, 0xae84bb6bUL, 0xa38fb562UL, 0x80be9f5dUL, 0x8db59154UL, 0x9aa8834fUL, 0x97a38d46UL +}; + +static const ulong32 Tks3[] = { +0x00000000UL, 0x090d0b0eUL, 0x121a161cUL, 0x1b171d12UL, 0x24342c38UL, 0x2d392736UL, 0x362e3a24UL, 0x3f23312aUL, +0x48685870UL, 0x4165537eUL, 0x5a724e6cUL, 0x537f4562UL, 0x6c5c7448UL, 0x65517f46UL, 0x7e466254UL, 0x774b695aUL, +0x90d0b0e0UL, 0x99ddbbeeUL, 0x82caa6fcUL, 0x8bc7adf2UL, 0xb4e49cd8UL, 0xbde997d6UL, 0xa6fe8ac4UL, 0xaff381caUL, +0xd8b8e890UL, 0xd1b5e39eUL, 0xcaa2fe8cUL, 0xc3aff582UL, 0xfc8cc4a8UL, 0xf581cfa6UL, 0xee96d2b4UL, 0xe79bd9baUL, +0x3bbb7bdbUL, 0x32b670d5UL, 0x29a16dc7UL, 0x20ac66c9UL, 0x1f8f57e3UL, 0x16825cedUL, 0x0d9541ffUL, 0x04984af1UL, +0x73d323abUL, 0x7ade28a5UL, 0x61c935b7UL, 0x68c43eb9UL, 0x57e70f93UL, 0x5eea049dUL, 0x45fd198fUL, 0x4cf01281UL, +0xab6bcb3bUL, 0xa266c035UL, 0xb971dd27UL, 0xb07cd629UL, 0x8f5fe703UL, 0x8652ec0dUL, 0x9d45f11fUL, 0x9448fa11UL, +0xe303934bUL, 0xea0e9845UL, 0xf1198557UL, 0xf8148e59UL, 0xc737bf73UL, 0xce3ab47dUL, 0xd52da96fUL, 0xdc20a261UL, +0x766df6adUL, 0x7f60fda3UL, 0x6477e0b1UL, 0x6d7aebbfUL, 0x5259da95UL, 0x5b54d19bUL, 0x4043cc89UL, 0x494ec787UL, +0x3e05aeddUL, 0x3708a5d3UL, 0x2c1fb8c1UL, 0x2512b3cfUL, 0x1a3182e5UL, 0x133c89ebUL, 0x082b94f9UL, 0x01269ff7UL, +0xe6bd464dUL, 0xefb04d43UL, 0xf4a75051UL, 0xfdaa5b5fUL, 0xc2896a75UL, 0xcb84617bUL, 0xd0937c69UL, 0xd99e7767UL, +0xaed51e3dUL, 0xa7d81533UL, 0xbccf0821UL, 0xb5c2032fUL, 0x8ae13205UL, 0x83ec390bUL, 0x98fb2419UL, 0x91f62f17UL, +0x4dd68d76UL, 0x44db8678UL, 0x5fcc9b6aUL, 0x56c19064UL, 0x69e2a14eUL, 0x60efaa40UL, 0x7bf8b752UL, 0x72f5bc5cUL, +0x05bed506UL, 0x0cb3de08UL, 0x17a4c31aUL, 0x1ea9c814UL, 0x218af93eUL, 0x2887f230UL, 0x3390ef22UL, 0x3a9de42cUL, +0xdd063d96UL, 0xd40b3698UL, 0xcf1c2b8aUL, 0xc6112084UL, 0xf93211aeUL, 0xf03f1aa0UL, 0xeb2807b2UL, 0xe2250cbcUL, +0x956e65e6UL, 0x9c636ee8UL, 0x877473faUL, 0x8e7978f4UL, 0xb15a49deUL, 0xb85742d0UL, 0xa3405fc2UL, 0xaa4d54ccUL, +0xecdaf741UL, 0xe5d7fc4fUL, 0xfec0e15dUL, 0xf7cdea53UL, 0xc8eedb79UL, 0xc1e3d077UL, 0xdaf4cd65UL, 0xd3f9c66bUL, +0xa4b2af31UL, 0xadbfa43fUL, 0xb6a8b92dUL, 0xbfa5b223UL, 0x80868309UL, 0x898b8807UL, 0x929c9515UL, 0x9b919e1bUL, +0x7c0a47a1UL, 0x75074cafUL, 0x6e1051bdUL, 0x671d5ab3UL, 0x583e6b99UL, 0x51336097UL, 0x4a247d85UL, 0x4329768bUL, +0x34621fd1UL, 0x3d6f14dfUL, 0x267809cdUL, 0x2f7502c3UL, 0x105633e9UL, 0x195b38e7UL, 0x024c25f5UL, 0x0b412efbUL, +0xd7618c9aUL, 0xde6c8794UL, 0xc57b9a86UL, 0xcc769188UL, 0xf355a0a2UL, 0xfa58abacUL, 0xe14fb6beUL, 0xe842bdb0UL, +0x9f09d4eaUL, 0x9604dfe4UL, 0x8d13c2f6UL, 0x841ec9f8UL, 0xbb3df8d2UL, 0xb230f3dcUL, 0xa927eeceUL, 0xa02ae5c0UL, +0x47b13c7aUL, 0x4ebc3774UL, 0x55ab2a66UL, 0x5ca62168UL, 0x63851042UL, 0x6a881b4cUL, 0x719f065eUL, 0x78920d50UL, +0x0fd9640aUL, 0x06d46f04UL, 0x1dc37216UL, 0x14ce7918UL, 0x2bed4832UL, 0x22e0433cUL, 0x39f75e2eUL, 0x30fa5520UL, +0x9ab701ecUL, 0x93ba0ae2UL, 0x88ad17f0UL, 0x81a01cfeUL, 0xbe832dd4UL, 0xb78e26daUL, 0xac993bc8UL, 0xa59430c6UL, +0xd2df599cUL, 0xdbd25292UL, 0xc0c54f80UL, 0xc9c8448eUL, 0xf6eb75a4UL, 0xffe67eaaUL, 0xe4f163b8UL, 0xedfc68b6UL, +0x0a67b10cUL, 0x036aba02UL, 0x187da710UL, 0x1170ac1eUL, 0x2e539d34UL, 0x275e963aUL, 0x3c498b28UL, 0x35448026UL, +0x420fe97cUL, 0x4b02e272UL, 0x5015ff60UL, 0x5918f46eUL, 0x663bc544UL, 0x6f36ce4aUL, 0x7421d358UL, 0x7d2cd856UL, +0xa10c7a37UL, 0xa8017139UL, 0xb3166c2bUL, 0xba1b6725UL, 0x8538560fUL, 0x8c355d01UL, 0x97224013UL, 0x9e2f4b1dUL, +0xe9642247UL, 0xe0692949UL, 0xfb7e345bUL, 0xf2733f55UL, 0xcd500e7fUL, 0xc45d0571UL, 0xdf4a1863UL, 0xd647136dUL, +0x31dccad7UL, 0x38d1c1d9UL, 0x23c6dccbUL, 0x2acbd7c5UL, 0x15e8e6efUL, 0x1ce5ede1UL, 0x07f2f0f3UL, 0x0efffbfdUL, +0x79b492a7UL, 0x70b999a9UL, 0x6bae84bbUL, 0x62a38fb5UL, 0x5d80be9fUL, 0x548db591UL, 0x4f9aa883UL, 0x4697a38dUL +}; + +static const ulong32 rcon[] = { + 0x01000000UL, 0x02000000UL, 0x04000000UL, 0x08000000UL, + 0x10000000UL, 0x20000000UL, 0x40000000UL, 0x80000000UL, + 0x1B000000UL, 0x36000000UL +}; + +static ulong32 setup_mix(ulong32 temp) +{ + return (Te4_3[byte(temp, 2)]) ^ + (Te4_2[byte(temp, 1)]) ^ + (Te4_1[byte(temp, 0)]) ^ + (Te4_0[byte(temp, 3)]); +} + +int aes_setup(const unsigned char *key, int keylen, int rounds, aes_key *skey) +{ + int i, j; + ulong32 temp, *rk; + ulong32 *rrk; + + if (keylen != 16 && keylen != 24 && keylen != 32) { + return CRYPT_INVALID_KEYSIZE; + } + + if (rounds != 0 && rounds != (10 + ((keylen/8)-2)*2)) { + return CRYPT_INVALID_ROUNDS; + } + + skey->Nr = 10 + ((keylen/8)-2)*2; + + /* setup the forward key */ + i = 0; + rk = skey->eK; + LOAD32H(rk[0], key ); + LOAD32H(rk[1], key + 4); + LOAD32H(rk[2], key + 8); + LOAD32H(rk[3], key + 12); + if (keylen == 16) { + j = 44; + for (;;) { + temp = rk[3]; + rk[4] = rk[0] ^ setup_mix(temp) ^ rcon[i]; + rk[5] = rk[1] ^ rk[4]; + rk[6] = rk[2] ^ rk[5]; + rk[7] = rk[3] ^ rk[6]; + if (++i == 10) { + break; + } + rk += 4; + } + } else if (keylen == 24) { + j = 52; + LOAD32H(rk[4], key + 16); + LOAD32H(rk[5], key + 20); + for (;;) { + temp = rk[5]; + rk[ 6] = rk[ 0] ^ setup_mix(temp) ^ rcon[i]; + rk[ 7] = rk[ 1] ^ rk[ 6]; + rk[ 8] = rk[ 2] ^ rk[ 7]; + rk[ 9] = rk[ 3] ^ rk[ 8]; + if (++i == 8) { + break; + } + rk[10] = rk[ 4] ^ rk[ 9]; + rk[11] = rk[ 5] ^ rk[10]; + rk += 6; + } + } else if (keylen == 32) { + j = 60; + LOAD32H(rk[4], key + 16); + LOAD32H(rk[5], key + 20); + LOAD32H(rk[6], key + 24); + LOAD32H(rk[7], key + 28); + for (;;) { + temp = rk[7]; + rk[ 8] = rk[ 0] ^ setup_mix(temp) ^ rcon[i]; + rk[ 9] = rk[ 1] ^ rk[ 8]; + rk[10] = rk[ 2] ^ rk[ 9]; + rk[11] = rk[ 3] ^ rk[10]; + if (++i == 7) { + break; + } + temp = rk[11]; + rk[12] = rk[ 4] ^ setup_mix(ROR(temp, 8)); + rk[13] = rk[ 5] ^ rk[12]; + rk[14] = rk[ 6] ^ rk[13]; + rk[15] = rk[ 7] ^ rk[14]; + rk += 8; + } + } else { + j = 4; + } + + rk = skey->dK; + rrk = skey->eK + j - 4; + + *rk++ = *rrk++; + *rk++ = *rrk++; + *rk++ = *rrk++; + *rk = *rrk; + rk -= 3; rrk -= 3; + + for (i = 1; i < skey->Nr; i++) { + rrk -= 4; + rk += 4; + temp = rrk[0]; + rk[0] = + Tks0[byte(temp, 3)] ^ + Tks1[byte(temp, 2)] ^ + Tks2[byte(temp, 1)] ^ + Tks3[byte(temp, 0)]; + temp = rrk[1]; + rk[1] = + Tks0[byte(temp, 3)] ^ + Tks1[byte(temp, 2)] ^ + Tks2[byte(temp, 1)] ^ + Tks3[byte(temp, 0)]; + temp = rrk[2]; + rk[2] = + Tks0[byte(temp, 3)] ^ + Tks1[byte(temp, 2)] ^ + Tks2[byte(temp, 1)] ^ + Tks3[byte(temp, 0)]; + temp = rrk[3]; + rk[3] = + Tks0[byte(temp, 3)] ^ + Tks1[byte(temp, 2)] ^ + Tks2[byte(temp, 1)] ^ + Tks3[byte(temp, 0)]; + } + + rrk -= 4; + rk += 4; + *rk++ = *rrk++; + *rk++ = *rrk++; + *rk++ = *rrk++; + *rk = *rrk; + + return CRYPT_OK; +} + +void aes_ecb_encrypt(const unsigned char *pt, unsigned char *ct, aes_key *skey) +{ + ulong32 s0, s1, s2, s3, t0, t1, t2, t3, *rk; + int Nr, r; + + Nr = skey->Nr; + rk = skey->eK; + + LOAD32H(s0, pt ); s0 ^= rk[0]; + LOAD32H(s1, pt + 4); s1 ^= rk[1]; + LOAD32H(s2, pt + 8); s2 ^= rk[2]; + LOAD32H(s3, pt + 12); s3 ^= rk[3]; + + r = Nr >> 1; + for (;;) { + t0 = + Te0(byte(s0, 3)) ^ + Te1(byte(s1, 2)) ^ + Te2(byte(s2, 1)) ^ + Te3(byte(s3, 0)) ^ + rk[4]; + t1 = + Te0(byte(s1, 3)) ^ + Te1(byte(s2, 2)) ^ + Te2(byte(s3, 1)) ^ + Te3(byte(s0, 0)) ^ + rk[5]; + t2 = + Te0(byte(s2, 3)) ^ + Te1(byte(s3, 2)) ^ + Te2(byte(s0, 1)) ^ + Te3(byte(s1, 0)) ^ + rk[6]; + t3 = + Te0(byte(s3, 3)) ^ + Te1(byte(s0, 2)) ^ + Te2(byte(s1, 1)) ^ + Te3(byte(s2, 0)) ^ + rk[7]; + + rk += 8; + if (--r == 0) { + break; + } + + s0 = + Te0(byte(t0, 3)) ^ + Te1(byte(t1, 2)) ^ + Te2(byte(t2, 1)) ^ + Te3(byte(t3, 0)) ^ + rk[0]; + s1 = + Te0(byte(t1, 3)) ^ + Te1(byte(t2, 2)) ^ + Te2(byte(t3, 1)) ^ + Te3(byte(t0, 0)) ^ + rk[1]; + s2 = + Te0(byte(t2, 3)) ^ + Te1(byte(t3, 2)) ^ + Te2(byte(t0, 1)) ^ + Te3(byte(t1, 0)) ^ + rk[2]; + s3 = + Te0(byte(t3, 3)) ^ + Te1(byte(t0, 2)) ^ + Te2(byte(t1, 1)) ^ + Te3(byte(t2, 0)) ^ + rk[3]; + } + + s0 = + (Te4_3[byte(t0, 3)]) ^ + (Te4_2[byte(t1, 2)]) ^ + (Te4_1[byte(t2, 1)]) ^ + (Te4_0[byte(t3, 0)]) ^ + rk[0]; + STORE32H(s0, ct); + s1 = + (Te4_3[byte(t1, 3)]) ^ + (Te4_2[byte(t2, 2)]) ^ + (Te4_1[byte(t3, 1)]) ^ + (Te4_0[byte(t0, 0)]) ^ + rk[1]; + STORE32H(s1, ct+4); + s2 = + (Te4_3[byte(t2, 3)]) ^ + (Te4_2[byte(t3, 2)]) ^ + (Te4_1[byte(t0, 1)]) ^ + (Te4_0[byte(t1, 0)]) ^ + rk[2]; + STORE32H(s2, ct+8); + s3 = + (Te4_3[byte(t3, 3)]) ^ + (Te4_2[byte(t0, 2)]) ^ + (Te4_1[byte(t1, 1)]) ^ + (Te4_0[byte(t2, 0)]) ^ + rk[3]; + STORE32H(s3, ct+12); +} + +void aes_ecb_decrypt(const unsigned char *ct, unsigned char *pt, aes_key *skey) +{ + ulong32 s0, s1, s2, s3, t0, t1, t2, t3, *rk; + int Nr, r; + + Nr = skey->Nr; + rk = skey->dK; + + LOAD32H(s0, ct ); s0 ^= rk[0]; + LOAD32H(s1, ct + 4); s1 ^= rk[1]; + LOAD32H(s2, ct + 8); s2 ^= rk[2]; + LOAD32H(s3, ct + 12); s3 ^= rk[3]; + + r = Nr >> 1; + for (;;) { + + t0 = + Td0(byte(s0, 3)) ^ + Td1(byte(s3, 2)) ^ + Td2(byte(s2, 1)) ^ + Td3(byte(s1, 0)) ^ + rk[4]; + t1 = + Td0(byte(s1, 3)) ^ + Td1(byte(s0, 2)) ^ + Td2(byte(s3, 1)) ^ + Td3(byte(s2, 0)) ^ + rk[5]; + t2 = + Td0(byte(s2, 3)) ^ + Td1(byte(s1, 2)) ^ + Td2(byte(s0, 1)) ^ + Td3(byte(s3, 0)) ^ + rk[6]; + t3 = + Td0(byte(s3, 3)) ^ + Td1(byte(s2, 2)) ^ + Td2(byte(s1, 1)) ^ + Td3(byte(s0, 0)) ^ + rk[7]; + + rk += 8; + if (--r == 0) { + break; + } + + + s0 = + Td0(byte(t0, 3)) ^ + Td1(byte(t3, 2)) ^ + Td2(byte(t2, 1)) ^ + Td3(byte(t1, 0)) ^ + rk[0]; + s1 = + Td0(byte(t1, 3)) ^ + Td1(byte(t0, 2)) ^ + Td2(byte(t3, 1)) ^ + Td3(byte(t2, 0)) ^ + rk[1]; + s2 = + Td0(byte(t2, 3)) ^ + Td1(byte(t1, 2)) ^ + Td2(byte(t0, 1)) ^ + Td3(byte(t3, 0)) ^ + rk[2]; + s3 = + Td0(byte(t3, 3)) ^ + Td1(byte(t2, 2)) ^ + Td2(byte(t1, 1)) ^ + Td3(byte(t0, 0)) ^ + rk[3]; + } + + s0 = + (Td4[byte(t0, 3)] & 0xff000000) ^ + (Td4[byte(t3, 2)] & 0x00ff0000) ^ + (Td4[byte(t2, 1)] & 0x0000ff00) ^ + (Td4[byte(t1, 0)] & 0x000000ff) ^ + rk[0]; + STORE32H(s0, pt); + s1 = + (Td4[byte(t1, 3)] & 0xff000000) ^ + (Td4[byte(t0, 2)] & 0x00ff0000) ^ + (Td4[byte(t3, 1)] & 0x0000ff00) ^ + (Td4[byte(t2, 0)] & 0x000000ff) ^ + rk[1]; + STORE32H(s1, pt+4); + s2 = + (Td4[byte(t2, 3)] & 0xff000000) ^ + (Td4[byte(t1, 2)] & 0x00ff0000) ^ + (Td4[byte(t0, 1)] & 0x0000ff00) ^ + (Td4[byte(t3, 0)] & 0x000000ff) ^ + rk[2]; + STORE32H(s2, pt+8); + s3 = + (Td4[byte(t3, 3)] & 0xff000000) ^ + (Td4[byte(t2, 2)] & 0x00ff0000) ^ + (Td4[byte(t1, 1)] & 0x0000ff00) ^ + (Td4[byte(t0, 0)] & 0x000000ff) ^ + rk[3]; + STORE32H(s3, pt+12); +} Propchange: trunk/reactos/dll/win32/rsaenh/aes.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/win32/rsaenh/implglue.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsaenh/implglue.…
============================================================================== --- trunk/reactos/dll/win32/rsaenh/implglue.c (original) +++ trunk/reactos/dll/win32/rsaenh/implglue.c Thu Nov 29 14:13:58 2007 @@ -3,6 +3,7 @@ * Glueing the RSAENH specific code to the crypto library * * Copyright (c) 2004, 2005 Michael Jung + * Copyright (c) 2007 Vijay Kiran Kamuju * * based on code by Mike McCormack and David Hammerton * @@ -194,6 +195,19 @@ case CALG_DES: des_setup(abKeyValue, 8, 0, &pKeyContext->des); break; + + case CALG_AES: + case CALG_AES_128: + aes_setup(abKeyValue, 16, 0, &pKeyContext->aes); + break; + + case CALG_AES_192: + aes_setup(abKeyValue, 24, 0, &pKeyContext->aes); + break; + + case CALG_AES_256: + aes_setup(abKeyValue, 32, 0, &pKeyContext->aes); + break; } return TRUE; @@ -209,6 +223,10 @@ case CALG_3DES: case CALG_3DES_112: case CALG_DES: + case CALG_AES: + case CALG_AES_128: + case CALG_AES_192: + case CALG_AES_256: memcpy(pDestKeyContext, pSrcKeyContext, sizeof(KEY_CONTEXT)); break; case CALG_RSA_KEYX: @@ -272,6 +290,17 @@ des_ecb_encrypt(in, out, &pKeyContext->des); } else { des_ecb_decrypt(in, out, &pKeyContext->des); + } + break; + + case CALG_AES: + case CALG_AES_128: + case CALG_AES_192: + case CALG_AES_256: + if (enc) { + aes_ecb_encrypt(in, out, &pKeyContext->aes); + } else { + aes_ecb_decrypt(in, out, &pKeyContext->aes); } break; Modified: trunk/reactos/dll/win32/rsaenh/implglue.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsaenh/implglue.…
============================================================================== --- trunk/reactos/dll/win32/rsaenh/implglue.h (original) +++ trunk/reactos/dll/win32/rsaenh/implglue.h Thu Nov 29 14:13:58 2007 @@ -63,6 +63,7 @@ rc2_key rc2; des_key des; des3_key des3; + aes_key aes; prng_state rc4; rsa_key rsa; } KEY_CONTEXT; Modified: trunk/reactos/dll/win32/rsaenh/rsaenh.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsaenh/rsaenh.c?…
============================================================================== --- trunk/reactos/dll/win32/rsaenh/rsaenh.c (original) +++ trunk/reactos/dll/win32/rsaenh/rsaenh.c Thu Nov 29 14:13:58 2007 @@ -5,6 +5,7 @@ * Copyright 2002 TransGaming Technologies (David Hammerton) * Copyright 2004 Mike McCormack for CodeWeavers * Copyright 2004, 2005 Michael Jung + * Copyright 2007 Vijay Kiran Kamuju * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -111,6 +112,7 @@ #define RSAENH_PERSONALITY_STRONG 1u #define RSAENH_PERSONALITY_ENHANCED 2u #define RSAENH_PERSONALITY_SCHANNEL 3u +#define RSAENH_PERSONALITY_AES 4u #define RSAENH_MAGIC_CONTAINER 0x26384993u typedef struct tagKEYCONTAINER @@ -153,9 +155,9 @@ /****************************************************************************** * aProvEnumAlgsEx - Defines the capabilities of the CSP personalities. */ -#define RSAENH_MAX_ENUMALGS 20 +#define RSAENH_MAX_ENUMALGS 24 #define RSAENH_PCT1_SSL2_SSL3_TLS1 (CRYPT_FLAG_PCT1|CRYPT_FLAG_SSL2|CRYPT_FLAG_SSL3|CRYPT_FLAG_TLS1) -static const PROV_ENUMALGS_EX aProvEnumAlgsEx[4][RSAENH_MAX_ENUMALGS+1] = +static const PROV_ENUMALGS_EX aProvEnumAlgsEx[5][RSAENH_MAX_ENUMALGS+1] = { { {CALG_RC2, 40, 40, 56,0, 4,"RC2", 24,"RSA Data Security's RC2"}, @@ -228,6 +230,27 @@ {CALG_SCHANNEL_ENC_KEY,0,0,-1,0, 12,"SCH ENC KEY",24,"SChannel Encryption Key"}, {CALG_TLS1PRF, 0, 0, -1,0, 9,"TLS1 PRF", 28,"TLS1 Pseudo Random Function"}, {0, 0, 0, 0,0, 1,"", 1,""} + }, + { + {CALG_RC2, 128, 40, 128,0, 4,"RC2", 24,"RSA Data Security's RC2"}, + {CALG_RC4, 128, 40, 128,0, 4,"RC4", 24,"RSA Data Security's RC4"}, + {CALG_DES, 56, 56, 56,0, 4,"DES", 31,"Data Encryption Standard (DES)"}, + {CALG_3DES_112, 112,112, 112,0, 13,"3DES TWO KEY",19,"Two Key Triple DES"}, + {CALG_3DES, 168,168, 168,0, 5,"3DES", 21,"Three Key Triple DES"}, + {CALG_AES, 128,128, 128,0, 4,"AES", 35,"Advanced Encryption Standard (AES)"}, + {CALG_AES_128, 128,128, 128,0, 8,"AES-128", 39,"Advanced Encryption Standard (AES-128)"}, + {CALG_AES_192, 192,192, 192,0, 8,"AES-192", 39,"Advanced Encryption Standard (AES-192)"}, + {CALG_AES_256, 256,256, 256,0, 8,"AES-256", 39,"Advanced Encryption Standard (AES-256)"}, + {CALG_SHA, 160,160, 160,CRYPT_FLAG_SIGNING, 6,"SHA-1", 30,"Secure Hash Algorithm (SHA-1)"}, + {CALG_MD2, 128,128, 128,CRYPT_FLAG_SIGNING, 4,"MD2", 23,"Message Digest 2 (MD2)"}, + {CALG_MD4, 128,128, 128,CRYPT_FLAG_SIGNING, 4,"MD4", 23,"Message Digest 4 (MD4)"}, + {CALG_MD5, 128,128, 128,CRYPT_FLAG_SIGNING, 4,"MD5", 23,"Message Digest 5 (MD5)"}, + {CALG_SSL3_SHAMD5,288,288,288,0, 12,"SSL3 SHAMD5",12,"SSL3 SHAMD5"}, + {CALG_MAC, 0, 0, 0,0, 4,"MAC", 28,"Message Authentication Code"}, + {CALG_RSA_SIGN,1024,384,16384,CRYPT_FLAG_SIGNING|CRYPT_FLAG_IPSEC,9,"RSA_SIGN",14,"RSA Signature"}, + {CALG_RSA_KEYX,1024,384,16384,CRYPT_FLAG_SIGNING|CRYPT_FLAG_IPSEC,9,"RSA_KEYX",17,"RSA Key Exchange"}, + {CALG_HMAC, 0, 0, 0,0, 5,"HMAC", 18,"Hugo's MAC (HMAC)"}, + {0, 0, 0, 0,0, 1,"", 1,""} } }; @@ -844,6 +867,14 @@ pCryptKey->dwMode = CRYPT_MODE_CBC; break; + case CALG_AES: + case CALG_AES_128: + case CALG_AES_192: + case CALG_AES_256: + pCryptKey->dwBlockLen = 16; + pCryptKey->dwMode = CRYPT_MODE_ECB; + break; + case CALG_RSA_KEYX: case CALG_RSA_SIGN: pCryptKey->dwBlockLen = dwKeyLen >> 3; @@ -1081,6 +1112,8 @@ pKeyContainer->dwPersonality = RSAENH_PERSONALITY_ENHANCED; } else if (!strcmp(pVTable->pszProvName, MS_DEF_RSA_SCHANNEL_PROV_A)) { pKeyContainer->dwPersonality = RSAENH_PERSONALITY_SCHANNEL; + } else if (!strcmp(pVTable->pszProvName, MS_ENH_RSA_AES_PROV_A)) { + pKeyContainer->dwPersonality = RSAENH_PERSONALITY_AES; } else { pKeyContainer->dwPersonality = RSAENH_PERSONALITY_STRONG; } @@ -1550,8 +1583,8 @@ case CRYPT_VERIFYCONTEXT|CRYPT_NEWKEYSET: case CRYPT_VERIFYCONTEXT: - if (pszContainer) { - TRACE("pszContainer should be NULL\n"); + if (pszContainer && *pszContainer) { + TRACE("pszContainer should be empty\n"); SetLastError(NTE_BAD_FLAGS); return FALSE; } @@ -2562,6 +2595,10 @@ case CALG_DES: case CALG_3DES_112: case CALG_3DES: + case CALG_AES: + case CALG_AES_128: + case CALG_AES_192: + case CALG_AES_256: case CALG_PCT1_MASTER: case CALG_SSL2_MASTER: case CALG_SSL3_MASTER: @@ -3757,7 +3794,7 @@ return res; } -static const WCHAR szProviderKeys[4][97] = { +static const WCHAR szProviderKeys[5][104] = { { 'S','o','f','t','w','a','r','e','\\', 'M','i','c','r','o','s','o','f','t','\\','C','r','y','p','t','o','g','r', 'a','p','h','y','\\','D','e','f','a','u','l','t','s','\\','P','r','o','v', @@ -3781,9 +3818,14 @@ 'C','r','y','p','t','o','g','r','a','p','h','y','\\','D','e','f','a','u','l','t','s','\\', 'P','r','o','v','i','d','e','r','\\','M','i','c','r','o','s','o','f','t',' ', 'R','S','A',' ','S','C','h','a','n','n','e','l',' ', + 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ','P','r','o','v','i','d','e','r',0 }, + { 'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\', + 'C','r','y','p','t','o','g','r','a','p','h','y','\\','D','e','f','a','u','l','t','s','\\', + 'P','r','o','v','i','d','e','r','\\','M','i','c','r','o','s','o','f','t',' ', + 'E','n','h','a','n','c','e','d',' ','R','S','A',' ','a','n','d',' ','A','E','S',' ', 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ','P','r','o','v','i','d','e','r',0 } }; -static const WCHAR szDefaultKeys[2][65] = { +static const WCHAR szDefaultKeys[3][65] = { { 'S','o','f','t','w','a','r','e','\\', 'M','i','c','r','o','s','o','f','t','\\','C','r','y','p','t','o','g','r', 'a','p','h','y','\\','D','e','f','a','u','l','t','s','\\','P','r','o','v', @@ -3791,7 +3833,11 @@ { 'S','o','f','t','w','a','r','e','\\', 'M','i','c','r','o','s','o','f','t','\\','C','r','y','p','t','o','g','r', 'a','p','h','y','\\','D','e','f','a','u','l','t','s','\\','P','r','o','v', - 'i','d','e','r',' ','T','y','p','e','s','\\','T','y','p','e',' ','0','1','2',0 } + 'i','d','e','r',' ','T','y','p','e','s','\\','T','y','p','e',' ','0','1','2',0 }, + { 'S','o','f','t','w','a','r','e','\\', + 'M','i','c','r','o','s','o','f','t','\\','C','r','y','p','t','o','g','r', + 'a','p','h','y','\\','D','e','f','a','u','l','t','s','\\','P','r','o','v', + 'i','d','e','r',' ','T','y','p','e','s','\\','T','y','p','e',' ','0','2','4',0 } }; @@ -3823,7 +3869,7 @@ long apiRet; int i; - for (i=0; i<4; i++) { + for (i=0; i<5; i++) { apiRet = RegCreateKeyExW(HKEY_LOCAL_MACHINE, szProviderKeys[i], 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key, &dp); @@ -3835,8 +3881,21 @@ static const WCHAR szRSABase[] = { 'r','s','a','e','n','h','.','d','l','l',0 }; static const WCHAR szType[] = { 'T','y','p','e',0 }; static const WCHAR szSignature[] = { 'S','i','g','n','a','t','u','r','e',0 }; - DWORD type = (i == 3) ? PROV_RSA_SCHANNEL : PROV_RSA_FULL; - DWORD sign = 0xdeadbeef; + DWORD type, sign; + + switch(i) + { + case 3: + type=PROV_RSA_SCHANNEL; + break; + case 4: + type=PROV_RSA_AES; + break; + default: + type=PROV_RSA_FULL; + break; + } + sign = 0xdeadbeef; RegSetValueExW(key, szImagePath, 0, REG_SZ, (const BYTE *)szRSABase, (lstrlenW(szRSABase) + 1) * sizeof(WCHAR)); RegSetValueExW(key, szType, 0, REG_DWORD, (LPBYTE)&type, sizeof(type)); @@ -3846,30 +3905,35 @@ } } - for (i=0; i<2; i++) { - apiRet = RegCreateKeyExW(HKEY_LOCAL_MACHINE, szDefaultKeys[i], 0, NULL, + for (i=0; i<3; i++) { + apiRet = RegCreateKeyExW(HKEY_LOCAL_MACHINE, szDefaultKeys[i], 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key, &dp); if (apiRet == ERROR_SUCCESS) { if (dp == REG_CREATED_NEW_KEY) { static const WCHAR szName[] = { 'N','a','m','e',0 }; - static const WCHAR szRSAName[2][46] = { + static const WCHAR szRSAName[3][54] = { { 'M','i','c','r','o','s','o','f','t',' ', 'B','a','s','e',' ', 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ', 'P','r','o','v','i','d','e','r',' ','v','1','.','0',0 }, { 'M','i','c','r','o','s','o','f','t',' ','R','S','A',' ', 'S','C','h','a','n','n','e','l',' ', 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ', + 'P','r','o','v','i','d','e','r',0 }, + { 'M','i','c','r','o','s','o','f','t',' ','E','n','h','a','n','c','e','d',' ', + 'R','S','A',' ','a','n','d',' ','A','E','S',' ', + 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ', 'P','r','o','v','i','d','e','r',0 } }; static const WCHAR szTypeName[] = { 'T','y','p','e','N','a','m','e',0 }; - static const WCHAR szRSATypeName[2][38] = { + static const WCHAR szRSATypeName[3][38] = { { 'R','S','A',' ','F','u','l','l',' ', '(','S','i','g','n','a','t','u','r','e',' ','a','n','d',' ', 'K','e','y',' ','E','x','c','h','a','n','g','e',')',0 }, - { 'R','S','A',' ','S','C','h','a','n','n','e','l',0 } }; - - RegSetValueExW(key, szName, 0, REG_SZ, + { 'R','S','A',' ','S','C','h','a','n','n','e','l',0 }, + { 'R','S','A',' ','F','u','l','l',' ','a','n','d',' ','A','E','S',0 } }; + + RegSetValueExW(key, szName, 0, REG_SZ, (const BYTE *)szRSAName[i], lstrlenW(szRSAName[i])*sizeof(WCHAR)+sizeof(WCHAR)); RegSetValueExW(key, szTypeName, 0, REG_SZ, (const BYTE *)szRSATypeName[i], lstrlenW(szRSATypeName[i])*sizeof(WCHAR)+sizeof(WCHAR)); @@ -3900,7 +3964,9 @@ RegDeleteKeyW(HKEY_LOCAL_MACHINE, szProviderKeys[1]); RegDeleteKeyW(HKEY_LOCAL_MACHINE, szProviderKeys[2]); RegDeleteKeyW(HKEY_LOCAL_MACHINE, szProviderKeys[3]); + RegDeleteKeyW(HKEY_LOCAL_MACHINE, szProviderKeys[4]); RegDeleteKeyW(HKEY_LOCAL_MACHINE, szDefaultKeys[0]); RegDeleteKeyW(HKEY_LOCAL_MACHINE, szDefaultKeys[1]); + RegDeleteKeyW(HKEY_LOCAL_MACHINE, szDefaultKeys[2]); return S_OK; } Modified: trunk/reactos/dll/win32/rsaenh/rsaenh.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsaenh/rsaenh.rb…
============================================================================== --- trunk/reactos/dll/win32/rsaenh/rsaenh.rbuild (original) +++ trunk/reactos/dll/win32/rsaenh/rsaenh.rbuild Thu Nov 29 14:13:58 2007 @@ -6,11 +6,14 @@ <include base="rsaenh">.</include> <include base="ReactOS">include/reactos/wine</include> <define name="__WINESRC__" /> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>crypt32</library> <library>advapi32</library> <library>kernel32</library> <library>ntdll</library> + <file>aes.c</file> <file>des.c</file> <file>handle.c</file> <file>implglue.c</file> Modified: trunk/reactos/dll/win32/rsaenh/rsaenh_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsaenh/rsaenh_ro…
============================================================================== --- trunk/reactos/dll/win32/rsaenh/rsaenh_ros.diff (original) +++ trunk/reactos/dll/win32/rsaenh/rsaenh_ros.diff Thu Nov 29 14:13:58 2007 @@ -17,7 +17,7 @@ =================================================================== --- rsaenh.c (revision 30501) +++ rsaenh.c (working copy) -@@ -33,9 +33,9 @@ +@@ -34,9 +34,9 @@ #include "winbase.h" #include "winreg.h" #include "wincrypt.h" Modified: trunk/reactos/dll/win32/rsaenh/tomcrypt.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsaenh/tomcrypt.…
============================================================================== --- trunk/reactos/dll/win32/rsaenh/tomcrypt.h (original) +++ trunk/reactos/dll/win32/rsaenh/tomcrypt.h Thu Nov 29 14:13:58 2007 @@ -129,6 +129,11 @@ ulong32 ek[3][32], dk[3][32]; } des3_key; +typedef struct tag_aes_key { + ulong32 eK[64], dK[64]; + int Nr; +} aes_key; + int rc2_setup(const unsigned char *key, int keylen, int bits, int num_rounds, rc2_key *skey); void rc2_ecb_encrypt(const unsigned char *pt, unsigned char *ct, rc2_key *key); void rc2_ecb_decrypt(const unsigned char *ct, unsigned char *pt, rc2_key *key); @@ -140,6 +145,10 @@ int des3_setup(const unsigned char *key, int keylen, int num_rounds, des3_key *skey); void des3_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const des3_key *key); void des3_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const des3_key *key); + +int aes_setup(const unsigned char *key, int keylen, int rounds, aes_key *skey); +void aes_ecb_encrypt(const unsigned char *pt, unsigned char *ct, aes_key *skey); +void aes_ecb_decrypt(const unsigned char *ct, unsigned char *pt, aes_key *skey); typedef struct tag_md2_state { unsigned char chksum[16], X[48], buf[16];
17 years
1
0
0
0
[winesync] 30883: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 14:13:29 2007 New Revision: 30883 URL:
http://svn.reactos.org/svn/reactos?rev=30883&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/rsabase/rsabase.rbuild Modified: trunk/reactos/dll/win32/rsabase/rsabase.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rsabase/rsabase.…
============================================================================== --- trunk/reactos/dll/win32/rsabase/rsabase.rbuild (original) +++ trunk/reactos/dll/win32/rsabase/rsabase.rbuild Thu Nov 29 14:13:29 2007 @@ -6,6 +6,8 @@ <include base="rsabase">.</include> <include base="ReactOS">include/reactos/wine</include> <define name="__WINESRC__" /> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>rsaenh</library> <library>kernel32</library>
17 years
1
0
0
0
← Newer
1
2
3
4
5
6
7
...
89
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Results per page:
10
25
50
100
200