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
September 2005
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
22 participants
582 discussions
Start a n
N
ew thread
[gvg] 17661: Alexandre Julliard <julliard@winehq.org>
by gvg@svn.reactos.com
Alexandre Julliard <julliard(a)winehq.org> - Removed the broken mmap64 configure check, and moved the _FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that need the define include it. Modified: trunk/reactos/include/wine/config.h Modified: trunk/reactos/lib/libwine/libwine.xml Added: trunk/reactos/lib/libwine/string.c Modified: trunk/reactos/tools/wrc/parser.y Modified: trunk/reactos/tools/wrc/y.tab.c Modified: trunk/reactos/tools/wrc/y.tab.h _____ Modified: trunk/reactos/include/wine/config.h --- trunk/reactos/include/wine/config.h 2005-09-05 18:06:20 UTC (rev 17660) +++ trunk/reactos/include/wine/config.h 2005-09-05 20:03:06 UTC (rev 17661) @@ -775,7 +775,7 @@ #define HAVE__SPAWNVP 1 /* Define to 1 if you have the `_stricmp' function. */ -#define HAVE__STRICMP 1 +/* #undef HAVE__STRICMP 1 */ /* Define to 1 if you have the `_strnicmp' function. */ #define HAVE__STRNICMP 1 _____ Modified: trunk/reactos/lib/libwine/libwine.xml --- trunk/reactos/lib/libwine/libwine.xml 2005-09-05 18:06:20 UTC (rev 17660) +++ trunk/reactos/lib/libwine/libwine.xml 2005-09-05 20:03:06 UTC (rev 17661) @@ -3,4 +3,5 @@ <define name="__REACTOS__" /> <define name="__USE_W32API" /> <file>debug.c</file> + <file>string.c</file> </module> _____ Added: trunk/reactos/lib/libwine/string.c --- trunk/reactos/lib/libwine/string.c 2005-09-05 18:06:20 UTC (rev 17660) +++ trunk/reactos/lib/libwine/string.c 2005-09-05 20:03:06 UTC (rev 17661) @@ -0,0 +1,19 @@ +#include <ctype.h> +#include "wine/config.h" +#include "wine/port.h" + +#ifndef HAVE_STRCASECMP +# ifndef HAVE__STRICMP +int strcasecmp( const char *str1, const char *str2 ) +{ + const unsigned char *ustr1 = (const unsigned char *)str1; + const unsigned char *ustr2 = (const unsigned char *)str2; + + while (*ustr1 && toupper(*ustr1) == toupper(*ustr2)) { + ustr1++; + ustr2++; + } + return toupper(*ustr1) - toupper(*ustr2); +} +#endif +#endif Property changes on: trunk/reactos/lib/libwine/string.c ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____ Modified: trunk/reactos/tools/wrc/parser.y --- trunk/reactos/tools/wrc/parser.y 2005-09-05 18:06:20 UTC (rev 17660) +++ trunk/reactos/tools/wrc/parser.y 2005-09-05 20:03:06 UTC (rev 17661) @@ -121,6 +121,7 @@ * - Added extra comment about grammar */ #include "config.h" +#include "wine/port.h" #include <stdio.h> #include <stdlib.h> _____ Modified: trunk/reactos/tools/wrc/y.tab.c --- trunk/reactos/tools/wrc/y.tab.c 2005-09-05 18:06:20 UTC (rev 17660) +++ trunk/reactos/tools/wrc/y.tab.c 2005-09-05 20:03:06 UTC (rev 17661) @@ -350,6 +350,7 @@ * - Added extra comment about grammar */ #include "config.h" +#include "wine/port.h" #include <stdio.h> #include <stdlib.h> @@ -481,7 +482,7 @@ #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 240 "./parser.y" +#line 241 "./parser.y" typedef union YYSTYPE { string_t *str; int num; @@ -526,7 +527,7 @@ ani_any_t *ani; } YYSTYPE; /* Line 191 of yacc.c. */ -#line 530 "y.tab.c" +#line 531 "y.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -538,7 +539,7 @@ /* Line 214 of yacc.c. */ -#line 542 "y.tab.c" +#line 543 "y.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -844,32 +845,32 @@ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { - 0, 363, 363, 397, 398, 468, 474, 486, 496, 504, - 504, 548, 554, 561, 571, 572, 581, 582, 583, 607, - 608, 614, 615, 616, 617, 641, 642, 648, 649, 650, - 651, 652, 653, 657, 658, 659, 663, 667, 683, 705, - 715, 723, 731, 735, 739, 743, 754, 759, 768, 792, - 793, 794, 803, 804, 807, 808, 811, 812, 813, 814, - 815, 816, 821, 856, 857, 858, 859, 860, 861, 862, - 863, 864, 865, 868, 869, 870, 871, 872, 873, 874, - 875, 876, 877, 879, 880, 881, 882, 883, 884, 885, - 886, 888, 898, 923, 945, 947, 952, 959, 970, 984, - 999, 1004, 1005, 1006, 1010, 1011, 1012, 1013, 1017, 1022, - 1030, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, - 1083, 1084, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, - 1095, 1096, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, - 1107, 1117, 1142, 1158, 1186, 1209, 1210, 1213, 1214, 1218, - 1225, 1226, 1230, 1253, 1257, 1258, 1267, 1273, 1292, 1293, - 1294, 1295, 1296, 1297, 1298, 1302, 1327, 1331, 1332, 1348, - 1354, 1374, 1375, 1379, 1387, 1398, 1399, 1403, 1409, 1417, - 1437, 1478, 1489, 1490, 1523, 1525, 1530, 1546, 1547, 1557, - 1567, 1574, 1581, 1588, 1595, 1605, 1606, 1615, 1623, 1624, - 1633, 1638, 1644, 1653, 1654, 1658, 1684, 1685, 1690, 1699, - 1700, 1710, 1725, 1726, 1727, 1728, 1731, 1732, 1733, 1737, - 1738, 1746, 1754, 1772, 1779, 1783, 1787, 1802, 1803, 1804, - 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1817, - 1818, 1825, 1826, 1830, 1833, 1834, 1835, 1836, 1837, 1838, - 1839, 1840, 1841, 1842, 1843, 1844, 1848, 1849, 1852, 1853 + 0, 364, 364, 398, 399, 469, 475, 487, 497, 505, + 505, 549, 555, 562, 572, 573, 582, 583, 584, 608, + 609, 615, 616, 617, 618, 642, 643, 649, 650, 651, + 652, 653, 654, 658, 659, 660, 664, 668, 684, 706, + 716, 724, 732, 736, 740, 744, 755, 760, 769, 793, + 794, 795, 804, 805, 808, 809, 812, 813, 814, 815, + 816, 817, 822, 857, 858, 859, 860, 861, 862, 863, + 864, 865, 866, 869, 870, 871, 872, 873, 874, 875, + 876, 877, 878, 880, 881, 882, 883, 884, 885, 886, + 887, 889, 899, 924, 946, 948, 953, 960, 971, 985, + 1000, 1005, 1006, 1007, 1011, 1012, 1013, 1014, 1018, 1023, + 1031, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, + 1084, 1085, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 1096, 1097, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, + 1108, 1118, 1143, 1159, 1187, 1210, 1211, 1214, 1215, 1219, + 1226, 1227, 1231, 1254, 1258, 1259, 1268, 1274, 1293, 1294, + 1295, 1296, 1297, 1298, 1299, 1303, 1328, 1332, 1333, 1349, + 1355, 1375, 1376, 1380, 1388, 1399, 1400, 1404, 1410, 1418, + 1438, 1479, 1490, 1491, 1524, 1526, 1531, 1547, 1548, 1558, + 1568, 1575, 1582, 1589, 1596, 1606, 1607, 1616, 1624, 1625, + 1634, 1639, 1645, 1654, 1655, 1659, 1685, 1686, 1691, 1700, + 1701, 1711, 1726, 1727, 1728, 1729, 1732, 1733, 1734, 1738, + 1739, 1747, 1755, 1773, 1780, 1784, 1788, 1803, 1804, 1805, + 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1818, + 1819, 1826, 1827, 1831, 1834, 1835, 1836, 1837, 1838, 1839, + 1840, 1841, 1842, 1843, 1844, 1845, 1849, 1850, 1853, 1854 }; #endif @@ -1981,7 +1982,7 @@ switch (yyn) { case 2: -#line 363 "./parser.y" +#line 364 "./parser.y" { resource_t *rsc; /* First add stringtables to the resource-list */ @@ -2015,12 +2016,12 @@ break; case 3: -#line 397 "./parser.y" +#line 398 "./parser.y" { yyval.res = NULL; want_id = 1; } break; case 4: -#line 398 "./parser.y" +#line 399 "./parser.y" { if(yyvsp[0].res) { @@ -2069,7 +2070,7 @@ break; case 6: -#line 474 "./parser.y" +#line 475 "./parser.y" { yyval.res = yyvsp[0].res; if(yyval.res) @@ -2085,7 +2086,7 @@ break; case 7: -#line 486 "./parser.y" +#line 487 "./parser.y" { yyval.res = yyvsp[0].res; if(yyval.res) @@ -2099,7 +2100,7 @@ break; case 8: -#line 496 "./parser.y" +#line 497 "./parser.y" { /* Don't do anything, stringtables are converted to * resource_t structures when we are finished parsing and @@ -2111,12 +2112,12 @@ break; case 9: -#line 504 "./parser.y" +#line 505 "./parser.y" {want_nl = 1; } break; case 10: -#line 504 "./parser.y" +#line 505 "./parser.y" { /* We *NEED* the newline to delimit the expression. * Otherwise, we would not be able to set the next @@ -2158,12 +2159,12 @@ break; case 11: -#line 548 "./parser.y" +#line 549 "./parser.y" { yychar = rsrcid_to_token(yychar); } break; case 12: -#line 554 "./parser.y" +#line 555 "./parser.y" { if(yyvsp[0].num > 65535 || yyvsp[0].num < -32768) yyerror("Resource's ID out of range (%d)", yyvsp[0].num); @@ -2174,7 +2175,7 @@ break; case 13: -#line 561 "./parser.y" +#line 562 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; @@ -2183,12 +2184,12 @@ break; case 14: -#line 571 "./parser.y" +#line 572 "./parser.y" { yyval.nid = yyvsp[0].nid; } break; case 15: -#line 572 "./parser.y" +#line 573 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; @@ -2197,17 +2198,17 @@ break; case 16: -#line 581 "./parser.y" +#line 582 "./parser.y" { yyval.res = new_resource(res_acc, yyvsp[0].acc, yyvsp[0].acc->memopt, yyvsp[0].acc->lvc.language); } break; case 17: -#line 582 "./parser.y" +#line 583 "./parser.y" { yyval.res = new_resource(res_bmp, yyvsp[0].bmp, yyvsp[0].bmp->memopt, yyvsp[0].bmp->data->lvc.language); } break; case 18: -#line 583 "./parser.y" +#line 584 "./parser.y" { resource_t *rsc; if(yyvsp[0].ani->type == res_anicur) @@ -2235,12 +2236,12 @@ break; case 19: -#line 607 "./parser.y" +#line 608 "./parser.y" { yyval.res = new_resource(res_dlg, yyvsp[0].dlg, yyvsp[0].dlg->memopt, yyvsp[0].dlg->lvc.language); } break; case 20: -#line 608 "./parser.y" +#line 609 "./parser.y" { if(win32) yyval.res = new_resource(res_dlgex, yyvsp[0].dlgex, yyvsp[0].dlgex->memopt, yyvsp[0].dlgex->lvc.language); @@ -2250,22 +2251,22 @@ break; case 21: -#line 614 "./parser.y" +#line 615 "./parser.y" { yyval.res = new_resource(res_dlginit, yyvsp[0].dginit, yyvsp[0].dginit->memopt, yyvsp[0].dginit->data->lvc.language); } break; case 22: -#line 615 "./parser.y" +#line 616 "./parser.y" { yyval.res = new_resource(res_fnt, yyvsp[0].fnt, yyvsp[0].fnt->memopt, yyvsp[0].fnt->data->lvc.language); } break; case 23: -#line 616 "./parser.y" +#line 617 "./parser.y" { yyval.res = new_resource(res_fntdir, yyvsp[0].fnd, yyvsp[0].fnd->memopt, yyvsp[0].fnd->data->lvc.language); } break; case 24: -#line 617 "./parser.y" +#line 618 "./parser.y" { resource_t *rsc; if(yyvsp[0].ani->type == res_aniico) @@ -2293,12 +2294,12 @@ break; case 25: -#line 641 "./parser.y" +#line 642 "./parser.y" { yyval.res = new_resource(res_men, yyvsp[0].men, yyvsp[0].men->memopt, yyvsp[0].men->lvc.language); } break; case 26: -#line 642 "./parser.y" +#line 643 "./parser.y" { if(win32) yyval.res = new_resource(res_menex, yyvsp[0].menex, yyvsp[0].menex->memopt, yyvsp[0].menex->lvc.language); @@ -2308,57 +2309,57 @@ break; case 27: -#line 648 "./parser.y" +#line 649 "./parser.y" { yyval.res = new_resource(res_msg, yyvsp[0].msg, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, yyvsp[0].msg->data->lvc.language); } break; case 28: -#line 649 "./parser.y" +#line 650 "./parser.y" { yyval.res = new_resource(res_html, yyvsp[0].html, yyvsp[0].html->memopt, yyvsp[0].html->data->lvc.language); } break; case 29: -#line 650 "./parser.y" +#line 651 "./parser.y" { yyval.res = new_resource(res_rdt, yyvsp[0].rdt, yyvsp[0].rdt->memopt, yyvsp[0].rdt->data->lvc.language); } break; case 30: -#line 651 "./parser.y" +#line 652 "./parser.y" { yyval.res = new_resource(res_toolbar, yyvsp[0].tlbar, yyvsp[0].tlbar->memopt, yyvsp[0].tlbar->lvc.language); } break; case 31: -#line 652 "./parser.y" +#line 653 "./parser.y" { yyval.res = new_resource(res_usr, yyvsp[0].usr, yyvsp[0].usr->memopt, yyvsp[0].usr->data->lvc.language); } break; case 32: -#line 653 "./parser.y" +#line 654 "./parser.y" { yyval.res = new_resource(res_ver, yyvsp[0].veri, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, yyvsp[0].veri->lvc.language); } break; case 33: -#line 657 "./parser.y" +#line 658 "./parser.y" { yyval.str = make_filename(yyvsp[0].str); } break; case 34: -#line 658 "./parser.y" +#line 659 "./parser.y" { yyval.str = make_filename(yyvsp[0].str); } break; case 35: -#line 659 "./parser.y" +#line 660 "./parser.y" { yyval.str = make_filename(yyvsp[0].str); } break; case 36: -#line 663 "./parser.y" +#line 664 "./parser.y" { yyval.bmp = new_bitmap(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 37: -#line 667 "./parser.y" +#line 668 "./parser.y" { yyval.ani = new_ani_any(); if(yyvsp[0].raw->size > 4 && !memcmp(yyvsp[0].raw->data, riff, sizeof(riff))) @@ -2375,7 +2376,7 @@ break; case 38: -#line 683 "./parser.y" +#line 684 "./parser.y" { yyval.ani = new_ani_any(); if(yyvsp[0].raw->size > 4 && !memcmp(yyvsp[0].raw->data, riff, sizeof(riff))) @@ -2392,17 +2393,17 @@ break; case 39: -#line 705 "./parser.y" +#line 706 "./parser.y" { yyval.fnt = new_font(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 40: -#line 715 "./parser.y" +#line 716 "./parser.y" { yyval.fnd = new_fontdir(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 41: -#line 723 "./parser.y" +#line 724 "./parser.y" { if(!win32) yywarning("MESSAGETABLE not supported in 16-bit mode"); @@ -2411,22 +2412,22 @@ break; case 42: -#line 731 "./parser.y" +#line 732 "./parser.y" { yyval.html = new_html(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 43: -#line 735 "./parser.y" +#line 736 "./parser.y" { yyval.rdt = new_rcdata(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 44: -#line 739 "./parser.y" +#line 740 "./parser.y" { yyval.dginit = new_dlginit(yyvsp[0].raw, yyvsp[-1].iptr); } break; case 45: -#line 743 "./parser.y" +#line 744 "./parser.y" { #ifdef WORDS_BIGENDIAN if(pedantic && byteorder != WRC_BO_LITTLE) @@ -2439,7 +2440,7 @@ break; case 46: -#line 754 "./parser.y" +#line 755 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_ord; @@ -2448,7 +2449,7 @@ break; case 47: -#line 759 "./parser.y" +#line 760 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; @@ -2457,7 +2458,7 @@ break; case 48: -#line 768 "./parser.y" +#line 769 "./parser.y" { yyval.acc = new_accelerator(); if(yyvsp[-4].iptr) @@ -2483,72 +2484,72 @@ break; case 49: -#line 792 "./parser.y" +#line 793 "./parser.y" { yyval.event=NULL; } break; case 50: -#line 793 "./parser.y" +#line 794 "./parser.y" { yyval.event=add_string_event(yyvsp[-3].str, yyvsp[-1].num, yyvsp[0].num, yyvsp[-4].event); } break; case 51: -#line 794 "./parser.y" +#line 795 "./parser.y" { yyval.event=add_event(yyvsp[-3].num, yyvsp[-1].num, yyvsp[0].num, yyvsp[-4].event); } break; case 52: -#line 803 "./parser.y" +#line 804 "./parser.y" { yyval.num = 0; } break; case 53: -#line 804 "./parser.y" +#line 805 "./parser.y" { yyval.num = yyvsp[0].num; } break; case 54: -#line 807 "./parser.y" +#line 808 "./parser.y" { yyval.num = yyvsp[0].num; } break; case 55: -#line 808 "./parser.y" +#line 809 "./parser.y" { yyval.num = yyvsp[-2].num | yyvsp[0].num; } break; case 56: -#line 811 "./parser.y" +#line 812 "./parser.y" { yyval.num = WRC_AF_NOINVERT; } break; case 57: -#line 812 "./parser.y" +#line 813 "./parser.y" { yyval.num = WRC_AF_SHIFT; } break; case 58: -#line 813 "./parser.y" +#line 814 "./parser.y" { yyval.num = WRC_AF_CONTROL; } break; case 59: -#line 814 "./parser.y" +#line 815 "./parser.y" { yyval.num = WRC_AF_ALT; } break; case 60: -#line 815 "./parser.y" +#line 816 "./parser.y" { yyval.num = WRC_AF_ASCII; } break; case 61: -#line 816 "./parser.y" +#line 817 "./parser.y" { yyval.num = WRC_AF_VIRTKEY; } break; case 62: -#line 822 "./parser.y" +#line 823 "./parser.y" { if(yyvsp[-11].iptr) { @@ -2583,147 +2584,147 @@ break; case 63: -#line 856 "./parser.y" +#line 857 "./parser.y" { yyval.dlg=new_dialog(); } break; case 64: -#line 857 "./parser.y" +#line 858 "./parser.y" { yyval.dlg=dialog_style(yyvsp[0].style,yyvsp[-2].dlg); } break; case 65: -#line 858 "./parser.y" +#line 859 "./parser.y" { yyval.dlg=dialog_exstyle(yyvsp[0].style,yyvsp[-2].dlg); } break; case 66: -#line 859 "./parser.y" +#line 860 "./parser.y" { yyval.dlg=dialog_caption(yyvsp[0].str,yyvsp[-2].dlg); } break; case 67: -#line 860 "./parser.y" +#line 861 "./parser.y" { yyval.dlg=dialog_font(yyvsp[0].fntid,yyvsp[-1].dlg); } break; case 68: -#line 861 "./parser.y" +#line 862 "./parser.y" { yyval.dlg=dialog_class(yyvsp[0].nid,yyvsp[-2].dlg); } break; case 69: -#line 862 "./parser.y" +#line 863 "./parser.y" { yyval.dlg=dialog_menu(yyvsp[0].nid,yyvsp[-2].dlg); } break; case 70: -#line 863 "./parser.y" +#line 864 "./parser.y" { yyval.dlg=dialog_language(yyvsp[0].lan,yyvsp[-1].dlg); } break; case 71: -#line 864 "./parser.y" +#line 865 "./parser.y" { yyval.dlg=dialog_characteristics(yyvsp[0].chars,yyvsp[-1].dlg); } break; case 72: -#line 865 "./parser.y" +#line 866 "./parser.y" { yyval.dlg=dialog_version(yyvsp[0].ver,yyvsp[-1].dlg); } break; case 73: -#line 868 "./parser.y" +#line 869 "./parser.y" { yyval.ctl = NULL; } break; case 74: -#line 869 "./parser.y" +#line 870 "./parser.y" { yyval.ctl=ins_ctrl(-1, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 75: -#line 870 "./parser.y" +#line 871 "./parser.y" { yyval.ctl=ins_ctrl(CT_EDIT, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 76: -#line 871 "./parser.y" +#line 872 "./parser.y" { yyval.ctl=ins_ctrl(CT_LISTBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 77: -#line 872 "./parser.y" +#line 873 "./parser.y" { yyval.ctl=ins_ctrl(CT_COMBOBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 78: -#line 873 "./parser.y" +#line 874 "./parser.y" { yyval.ctl=ins_ctrl(CT_SCROLLBAR, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 79: -#line 874 "./parser.y" +#line 875 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_CHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 80: -#line 875 "./parser.y" +#line 876 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_DEFPUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 81: -#line 876 "./parser.y" +#line 877 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_GROUPBOX, yyvsp[0].ctl, yyvsp[-2].ctl);} break; case 82: -#line 877 "./parser.y" +#line 878 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_PUSHBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 83: -#line 879 "./parser.y" +#line 880 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_RADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 84: -#line 880 "./parser.y" +#line 881 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTO3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 85: -#line 881 "./parser.y" +#line 882 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_3STATE, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 86: -#line 882 "./parser.y" +#line 883 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTOCHECKBOX, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 87: -#line 883 "./parser.y" +#line 884 "./parser.y" { yyval.ctl=ins_ctrl(CT_BUTTON, BS_AUTORADIOBUTTON, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 88: -#line 884 "./parser.y" +#line 885 "./parser.y" { yyval.ctl=ins_ctrl(CT_STATIC, SS_LEFT, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 89: -#line 885 "./parser.y" +#line 886 "./parser.y" { yyval.ctl=ins_ctrl(CT_STATIC, SS_CENTER, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 90: -#line 886 "./parser.y" +#line 887 "./parser.y" { yyval.ctl=ins_ctrl(CT_STATIC, SS_RIGHT, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 91: -#line 888 "./parser.y" +#line 889 "./parser.y" { yyvsp[0].ctl->title = yyvsp[-7].nid; yyvsp[0].ctl->id = yyvsp[-5].num; @@ -2734,7 +2735,7 @@ break; case 92: -#line 898 "./parser.y" +#line 899 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = new_name_id(); @@ -2760,7 +2761,7 @@ break; case 93: -#line 923 "./parser.y" +#line 924 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->id = yyvsp[-9].num; @@ -2783,12 +2784,12 @@ break; case 94: -#line 945 "./parser.y" +#line 946 "./parser.y" { yyval.ctl = new_control(); } break; case 95: -#line 947 "./parser.y" +#line 948 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->width = yyvsp[-2].num; @@ -2797,7 +2798,7 @@ break; case 96: -#line 952 "./parser.y" +#line 953 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->width = yyvsp[-4].num; @@ -2808,7 +2809,7 @@ break; case 97: -#line 959 "./parser.y" +#line 960 "./parser.y" { yyval.ctl = new_control(); yyval.ctl->width = yyvsp[-6].num; @@ -2821,7 +2822,7 @@ break; case 98: -#line 970 "./parser.y" +#line 971 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = yyvsp[-16].nid; @@ -2839,7 +2840,7 @@ break; case 99: -#line 984 "./parser.y" +#line 985 "./parser.y" { yyval.ctl=new_control(); yyval.ctl->title = yyvsp[-14].nid; @@ -2855,47 +2856,47 @@ break; case 100: -#line 999 "./parser.y" +#line 1000 "./parser.y" { yyval.fntid = new_font_id(yyvsp[-2].num, yyvsp[0].str, 0, 0); } break; case 101: -#line 1004 "./parser.y" +#line 1005 "./parser.y" { yyval.styles = NULL; } break; case 102: -#line 1005 "./parser.y" +#line 1006 "./parser.y" { yyval.styles = new_style_pair(yyvsp[0].style, 0); } break; case 103: -#line 1006 "./parser.y" +#line 1007 "./parser.y" { yyval.styles = new_style_pair(yyvsp[-2].style, yyvsp[0].style); } break; case 104: -#line 1010 "./parser.y" +#line 1011 "./parser.y" { yyval.style = new_style(yyvsp[-2].style->or_mask | yyvsp[0].style->or_mask, yyvsp[-2].style->and_mask | yyvsp[0].style->and_mask); free(yyvsp[-2].style); free(yyvsp[0].style);} break; case 105: -#line 1011 "./parser.y" +#line 1012 "./parser.y" { yyval.style = yyvsp[-1].style; } break; case 106: -#line 1012 "./parser.y" +#line 1013 "./parser.y" { yyval.style = new_style(yyvsp[0].num, 0); } break; case 107: -#line 1013 "./parser.y" +#line 1014 "./parser.y" { yyval.style = new_style(0, yyvsp[0].num); } break; case 108: -#line 1017 "./parser.y" +#line 1018 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_ord; @@ -2904,7 +2905,7 @@ break; case 109: -#line 1022 "./parser.y" +#line 1023 "./parser.y" { yyval.nid = new_name_id(); yyval.nid->type = name_str; @@ -2913,7 +2914,7 @@ break; case 110: -#line 1031 "./parser.y" +#line 1032 "./parser.y" { if(!win32) yywarning("DIALOGEX not supported in 16-bit mode"); @@ -2957,152 +2958,152 @@ break; case 111: -#line 1074 "./parser.y" +#line 1075 "./parser.y" { yyval.dlgex=new_dialogex(); } break; case 112: -#line 1075 "./parser.y" +#line 1076 "./parser.y" { yyval.dlgex=dialogex_style(yyvsp[0].style,yyvsp[-2].dlgex); } break; case 113: -#line 1076 "./parser.y" +#line 1077 "./parser.y" { yyval.dlgex=dialogex_exstyle(yyvsp[0].style,yyvsp[-2].dlgex); } break; case 114: -#line 1077 "./parser.y" +#line 1078 "./parser.y" { yyval.dlgex=dialogex_caption(yyvsp[0].str,yyvsp[-2].dlgex); } break; case 115: -#line 1078 "./parser.y" +#line 1079 "./parser.y" { yyval.dlgex=dialogex_font(yyvsp[0].fntid,yyvsp[-1].dlgex); } break; case 116: -#line 1079 "./parser.y" +#line 1080 "./parser.y" { yyval.dlgex=dialogex_font(yyvsp[0].fntid,yyvsp[-1].dlgex); } break; case 117: -#line 1080 "./parser.y" +#line 1081 "./parser.y" { yyval.dlgex=dialogex_class(yyvsp[0].nid,yyvsp[-2].dlgex); } break; case 118: -#line 1081 "./parser.y" +#line 1082 "./parser.y" { yyval.dlgex=dialogex_menu(yyvsp[0].nid,yyvsp[-2].dlgex); } break; case 119: -#line 1082 "./parser.y" +#line 1083 "./parser.y" { yyval.dlgex=dialogex_language(yyvsp[0].lan,yyvsp[-1].dlgex); } break; case 120: -#line 1083 "./parser.y" +#line 1084 "./parser.y" { yyval.dlgex=dialogex_characteristics(yyvsp[0].chars,yyvsp[-1].dlgex); } break; case 121: -#line 1084 "./parser.y" +#line 1085 "./parser.y" { yyval.dlgex=dialogex_version(yyvsp[0].ver,yyvsp[-1].dlgex); } break; case 122: -#line 1087 "./parser.y" +#line 1088 "./parser.y" { yyval.ctl = NULL; } break; case 123: -#line 1088 "./parser.y" +#line 1089 "./parser.y" { yyval.ctl=ins_ctrl(-1, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 124: -#line 1089 "./parser.y" +#line 1090 "./parser.y" { yyval.ctl=ins_ctrl(CT_EDIT, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; case 125: -#line 1090 "./parser.y" +#line 1091 "./parser.y" { yyval.ctl=ins_ctrl(CT_LISTBOX, 0, yyvsp[0].ctl, yyvsp[-2].ctl); } break; [truncated at 1000 lines; 964 more skipped]
19 years, 3 months
1
0
0
0
[ion] 17660: - More NDK + MSDDK/IFS Compatibility fixes
by ion@svn.reactos.com
- More NDK + MSDDK/IFS Compatibility fixes - Prototype fixes Modified: trunk/reactos/include/ndk/rtlfuncs.h Modified: trunk/reactos/include/ndk/rtltypes.h Modified: trunk/reactos/include/ndk/umfuncs.h Modified: trunk/reactos/include/ndk/umtypes.h Modified: trunk/reactos/lib/advapi32/sec/ac.c Modified: trunk/reactos/lib/advapi32/sec/sec.c Modified: trunk/reactos/lib/kernel32/file/file.c Modified: trunk/reactos/lib/kernel32/include/kernel32.h Modified: trunk/reactos/lib/rtl/acl.c Modified: trunk/reactos/lib/rtl/nls.c Modified: trunk/reactos/lib/rtl/sd.c Modified: trunk/reactos/lib/rtl/sid.c Modified: trunk/reactos/lib/rtl/unicode.c Modified: trunk/reactos/w32api/include/ddk/ntifs.h Modified: trunk/reactos/w32api/include/ddk/winddk.h Modified: trunk/reactos/w32api/include/ntdef.h _____ Modified: trunk/reactos/include/ndk/rtlfuncs.h --- trunk/reactos/include/ndk/rtlfuncs.h 2005-09-05 17:35:31 UTC (rev 17659) +++ trunk/reactos/include/ndk/rtlfuncs.h 2005-09-05 18:06:20 UTC (rev 17660) @@ -17,15 +17,17 @@ /* * Error and Exception Functions */ +NTSYSAPI PVOID -STDCALL +NTAPI RtlAddVectoredExceptionHandler( IN ULONG FirstHandler, IN PVECTORED_EXCEPTION_HANDLER VectoredHandler ); +NTSYSAPI VOID -STDCALL +NTAPI RtlAssert( PVOID FailedAssertion, PVOID FileName, @@ -33,53 +35,62 @@ PCHAR Message ); +NTSYSAPI PVOID -STDCALL +NTAPI RtlEncodePointer(IN PVOID Pointer); +NTSYSAPI PVOID -STDCALL +NTAPI RtlDecodePointer(IN PVOID Pointer); +NTSYSAPI ULONG -STDCALL +NTAPI RtlNtStatusToDosError(IN NTSTATUS Status); +NTSYSAPI VOID -STDCALL +NTAPI RtlRaiseException(IN PEXCEPTION_RECORD ExceptionRecord); +NTSYSAPI VOID -STDCALL +NTAPI RtlRaiseStatus(NTSTATUS Status); +NTSYSAPI LONG -STDCALL +NTAPI RtlUnhandledExceptionFilter(struct _EXCEPTION_POINTERS* ExceptionInfo); +NTSYSAPI VOID -STDCALL +NTAPI RtlUnwind( PEXCEPTION_REGISTRATION RegistrationFrame, PVOID ReturnAddress, PEXCEPTION_RECORD ExceptionRecord, - DWORD EaxValue + ULONG EaxValue ); /* * Heap Functions */ +NTSYSAPI PVOID -STDCALL +NTAPI RtlAllocateHeap( IN HANDLE HeapHandle, IN ULONG Flags, IN ULONG Size ); +NTSYSAPI PVOID -STDCALL +NTAPI RtlCreateHeap( IN ULONG Flags, IN PVOID BaseAddress OPTIONAL, @@ -89,19 +100,21 @@ IN PRTL_HEAP_PARAMETERS Parameters OPTIONAL ); -DWORD -STDCALL +ULONG +NTAPI RtlCompactHeap( HANDLE heap, ULONG flags ); +NTSYSAPI HANDLE -STDCALL +NTAPI RtlDestroyHeap(HANDLE hheap); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlFreeHeap( IN HANDLE HeapHandle, IN ULONG Flags, @@ -109,14 +122,14 @@ ); ULONG -STDCALL +NTAPI RtlGetProcessHeaps( ULONG HeapCount, HANDLE *HeapArray ); PVOID -STDCALL +NTAPI RtlReAllocateHeap( HANDLE Heap, ULONG Flags, @@ -125,15 +138,15 @@ ); BOOLEAN -STDCALL +NTAPI RtlLockHeap(IN HANDLE Heap); BOOLEAN -STDCALL +NTAPI RtlUnlockHeap(IN HANDLE Heap); ULONG -STDCALL +NTAPI RtlSizeHeap( IN PVOID HeapHandle, IN ULONG Flags, @@ -141,7 +154,7 @@ ); BOOLEAN -STDCALL +NTAPI RtlValidateHeap( HANDLE Heap, ULONG Flags, @@ -154,16 +167,18 @@ /* * Security Functions */ +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlAbsoluteToSelfRelativeSD( IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor, - IN OUT PISECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurityDescriptor, + IN OUT PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor, IN PULONG BufferLength ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlAddAccessAllowedAce( PACL Acl, ULONG Revision, @@ -172,17 +187,17 @@ ); NTSTATUS -STDCALL +NTAPI RtlAddAccessAllowedAceEx( IN OUT PACL pAcl, - IN DWORD dwAceRevision, - IN DWORD AceFlags, - IN DWORD AccessMask, + IN ULONG dwAceRevision, + IN ULONG AceFlags, + IN ULONG AccessMask, IN PSID pSid ); NTSTATUS -STDCALL +NTAPI RtlAddAccessDeniedAce( PACL Acl, ULONG Revision, @@ -191,7 +206,7 @@ ); NTSTATUS -STDCALL +NTAPI RtlAddAccessDeniedAceEx( IN OUT PACL Acl, IN ULONG Revision, @@ -201,7 +216,7 @@ ); NTSTATUS -STDCALL +NTAPI RtlAddAuditAccessAceEx( IN OUT PACL Acl, IN ULONG Revision, @@ -212,18 +227,19 @@ IN BOOLEAN Failure ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlAddAce( PACL Acl, - ULONG Revision, - ULONG StartingIndex, - PACE AceList, + ULONG AceRevision, + ULONG StartingAceIndex, + PVOID AceList, ULONG AceListLength ); NTSTATUS -STDCALL +NTAPI RtlAddAuditAccessAce( PACL Acl, ULONG Revision, @@ -234,7 +250,7 @@ ); NTSTATUS -STDCALL +NTAPI RtlAdjustPrivilege( IN ULONG Privilege, IN BOOLEAN NewValue, @@ -242,8 +258,9 @@ OUT PBOOLEAN OldValue ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlAllocateAndInitializeSid( IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, IN UCHAR SubAuthorityCount, @@ -259,28 +276,29 @@ ); BOOLEAN -STDCALL +NTAPI RtlAreAllAccessesGranted( ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess ); BOOLEAN -STDCALL +NTAPI RtlAreAnyAccessesGranted( ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess ); +NTSYSAPI VOID -STDCALL +NTAPI RtlCopyLuid( IN PLUID LuidDest, IN PLUID LuidSrc ); VOID -STDCALL +NTAPI RtlCopyLuidAndAttributesArray( ULONG Count, PLUID_AND_ATTRIBUTES Src, @@ -288,7 +306,7 @@ ); NTSTATUS -STDCALL +NTAPI RtlCopySidAndAttributesArray( ULONG Count, PSID_AND_ATTRIBUTES Src, @@ -300,95 +318,105 @@ ); NTSTATUS -STDCALL +NTAPI RtlConvertSidToUnicodeString( OUT PUNICODE_STRING DestinationString, IN PSID Sid, IN BOOLEAN AllocateDestinationString ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlCopySid( IN ULONG Length, IN PSID Destination, IN PSID Source ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlCreateAcl( PACL Acl, ULONG AclSize, ULONG AclRevision ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlCreateSecurityDescriptor( PSECURITY_DESCRIPTOR SecurityDescriptor, ULONG Revision ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlCreateSecurityDescriptorRelative( PISECURITY_DESCRIPTOR_RELATIVE SecurityDescriptor, ULONG Revision ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlDeleteAce( PACL Acl, ULONG AceIndex ); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlEqualPrefixSid( PSID Sid1, PSID Sid2 ); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlEqualSid ( IN PSID Sid1, IN PSID Sid2 ); BOOLEAN -STDCALL +NTAPI RtlFirstFreeAce( PACL Acl, PACE* Ace ); +NTSYSAPI PVOID -STDCALL +NTAPI RtlFreeSid ( IN PSID Sid ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlGetAce( PACL Acl, ULONG AceIndex, - PACE *Ace + PVOID *Ace ); NTSTATUS -STDCALL +NTAPI RtlGetControlSecurityDescriptor( PSECURITY_DESCRIPTOR SecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL Control, PULONG Revision ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlGetDaclSecurityDescriptor( IN PSECURITY_DESCRIPTOR SecurityDescriptor, OUT PBOOLEAN DaclPresent, @@ -396,8 +424,9 @@ OUT PBOOLEAN DaclDefaulted ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlGetSaclSecurityDescriptor( PSECURITY_DESCRIPTOR SecurityDescriptor, PBOOLEAN SaclPresent, @@ -405,62 +434,72 @@ PBOOLEAN SaclDefaulted ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlGetGroupSecurityDescriptor( IN PSECURITY_DESCRIPTOR SecurityDescriptor, OUT PSID *Group, OUT PBOOLEAN GroupDefaulted ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlGetOwnerSecurityDescriptor( IN PSECURITY_DESCRIPTOR SecurityDescriptor, OUT PSID *Owner, OUT PBOOLEAN OwnerDefaulted ); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlGetSecurityDescriptorRMControl( PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl ); +NTSYSAPI PSID_IDENTIFIER_AUTHORITY -STDCALL +NTAPI RtlIdentifierAuthoritySid(PSID Sid); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlImpersonateSelf(IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlInitializeSid( IN OUT PSID Sid, IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, IN UCHAR SubAuthorityCount ); +NTSYSAPI ULONG -STDCALL -RtlLengthRequiredSid(IN UCHAR SubAuthorityCount); +NTAPI +RtlLengthRequiredSid(IN ULONG SubAuthorityCount); +NTSYSAPI ULONG -STDCALL +NTAPI RtlLengthSid(IN PSID Sid); +NTSYSAPI VOID -STDCALL +NTAPI RtlMapGenericMask( PACCESS_MASK AccessMask, PGENERIC_MAPPING GenericMapping ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlQueryInformationAcl( PACL Acl, PVOID Information, @@ -468,10 +507,11 @@ ACL_INFORMATION_CLASS InformationClass ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSelfRelativeToAbsoluteSD( - IN PISECURITY_DESCRIPTOR_RELATIVE SelfRelativeSD, + IN PSECURITY_DESCRIPTOR SelfRelativeSD, OUT PSECURITY_DESCRIPTOR AbsoluteSD, IN PULONG AbsoluteSDSize, IN PACL Dacl, @@ -484,16 +524,18 @@ IN PULONG PrimaryGroupSize ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSetControlSecurityDescriptor( IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, IN SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSetDaclSecurityDescriptor ( PSECURITY_DESCRIPTOR SecurityDescriptor, BOOLEAN DaclPresent, @@ -501,16 +543,18 @@ BOOLEAN DaclDefaulted ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSetGroupSecurityDescriptor( IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN PSID Group, IN BOOLEAN GroupDefaulted ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSetInformationAcl( PACL Acl, PVOID Information, @@ -518,16 +562,18 @@ ACL_INFORMATION_CLASS InformationClass ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSetOwnerSecurityDescriptor( IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN PSID Owner, IN BOOLEAN OwnerDefaulted ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSetSaclSecurityDescriptor( IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN SaclPresent, @@ -535,54 +581,63 @@ IN BOOLEAN SaclDefaulted ); +NTSYSAPI VOID -STDCALL +NTAPI RtlSetSecurityDescriptorRMControl( PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl ); +NTSYSAPI PUCHAR -STDCALL +NTAPI RtlSubAuthorityCountSid( IN PSID Sid ); +NTSYSAPI PULONG -STDCALL +NTAPI RtlSubAuthoritySid( IN PSID Sid, IN ULONG SubAuthority ); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlValidRelativeSecurityDescriptor( - IN PISECURITY_DESCRIPTOR_RELATIVE SecurityDescriptorInput, + IN PSECURITY_DESCRIPTOR SecurityDescriptorInput, IN ULONG SecurityDescriptorLength, IN SECURITY_INFORMATION RequiredInformation ); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlValidSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlValidSid(IN PSID Sid); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlValidAcl(PACL Acl); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlDeleteSecurityObject( IN PSECURITY_DESCRIPTOR *ObjectDescriptor ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlNewSecurityObject( IN PSECURITY_DESCRIPTOR ParentDescriptor, IN PSECURITY_DESCRIPTOR CreatorDescriptor, @@ -592,8 +647,9 @@ IN PGENERIC_MAPPING GenericMapping ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlQuerySecurityObject( IN PSECURITY_DESCRIPTOR ObjectDescriptor, IN SECURITY_INFORMATION SecurityInformation, @@ -602,8 +658,9 @@ OUT PULONG ReturnLength ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlSetSecurityObject( IN SECURITY_INFORMATION SecurityInformation, IN PSECURITY_DESCRIPTOR ModificationDescriptor, @@ -615,8 +672,9 @@ /* * Single-Character Functions */ +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlLargeIntegerToChar( IN PLARGE_INTEGER Value, IN ULONG Base, @@ -624,20 +682,24 @@ IN OUT PCHAR String ); +NTSYSAPI CHAR -STDCALL +NTAPI RtlUpperChar(CHAR Source); +NTSYSAPI WCHAR -STDCALL +NTAPI RtlUpcaseUnicodeChar(WCHAR Source); +NTSYSAPI WCHAR -STDCALL +NTAPI RtlDowncaseUnicodeChar(IN WCHAR Source); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlIntegerToChar( IN ULONG Value, IN ULONG Base, @@ -645,8 +707,9 @@ IN OUT PCHAR String ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlIntegerToUnicode( IN ULONG Value, IN ULONG Base OPTIONAL, @@ -654,70 +717,102 @@ IN OUT LPWSTR String ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlIntegerToUnicodeString( IN ULONG Value, IN ULONG Base, IN OUT PUNICODE_STRING String ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlCharToInteger( PCSZ String, ULONG Base, PULONG Value ); +#if (defined(_M_IX86) && (_MSC_FULL_VER > 13009037)) || ((defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_FULL_VER > 13009175)) +unsigned short __cdecl _byteswap_ushort(unsigned short); +unsigned long __cdecl _byteswap_ulong (unsigned long); +unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64); +#pragma intrinsic(_byteswap_ushort) +#pragma intrinsic(_byteswap_ulong) +#pragma intrinsic(_byteswap_uint64) +#define RtlUshortByteSwap(_x) _byteswap_ushort((USHORT)(_x)) +#define RtlUlongByteSwap(_x) _byteswap_ulong((_x)) +#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x)) +#else + USHORT FASTCALL RtlUshortByteSwap(IN USHORT Source); +ULONG +FASTCALL +RtlUlongByteSwap(IN ULONG Source); + +ULONGLONG +FASTCALL +RtlUlonglongByteSwap(IN ULONGLONG Source); + +#endif + /* * Unicode->Ansi String Functions */ +/* FIXME: Use macro */ +#undef RtlUnicodeStringToAnsiSize +NTSYSAPI ULONG -STDCALL +NTAPI RtlUnicodeStringToAnsiSize(IN PUNICODE_STRING UnicodeString); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUnicodeStringToAnsiString( PANSI_STRING DestinationString, - PUNICODE_STRING SourceString, + PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString ); /* * Unicode->OEM String Functions */ +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUpcaseUnicodeStringToOemString( POEM_STRING DestinationString, - PUNICODE_STRING SourceString, + PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUpcaseUnicodeStringToCountedOemString( IN OUT POEM_STRING DestinationString, - IN PUNICODE_STRING SourceString, + IN PCUNICODE_STRING SourceString, IN BOOLEAN AllocateDestinationString ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUnicodeStringToOemString( POEM_STRING DestinationString, - PUNICODE_STRING SourceString, + PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUpcaseUnicodeToOemN( PCHAR OemString, ULONG OemSize, @@ -726,12 +821,16 @@ ULONG UnicodeSize ); +/* FIXME: Use macro */ +#undef RtlUnicodeStringToOemSize +NTSYSAPI ULONG -STDCALL +NTAPI RtlUnicodeStringToOemSize(IN PUNICODE_STRING UnicodeString); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUnicodeToOemN( PCHAR OemString, ULONG OemSize, @@ -743,8 +842,9 @@ /* * Unicode->MultiByte String Functions */ +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUnicodeToMultiByteN( PCHAR MbString, ULONG MbSize, @@ -753,8 +853,9 @@ ULONG UnicodeSize ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUpcaseUnicodeToMultiByteN( PCHAR MbString, ULONG MbSize, @@ -763,8 +864,9 @@ ULONG UnicodeSize ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlUnicodeToMultiByteSize( PULONG MbSize, PWCHAR UnicodeString, @@ -774,20 +876,25 @@ /* * OEM to Unicode Functions */ +/* FIXME: Use macro */ +#undef RtlOemStringToUnicodeSize +NTSYSAPI ULONG -STDCALL +NTAPI RtlOemStringToUnicodeSize(POEM_STRING AnsiString); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlOemStringToUnicodeString( PUNICODE_STRING DestinationString, - POEM_STRING SourceString, + PCOEM_STRING SourceString, BOOLEAN AllocateDestinationString ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlOemToUnicodeN( PWSTR UnicodeString, ULONG MaxBytesInUnicodeString, @@ -800,21 +907,25 @@ * Ansi->Unicode String Functions */ NTSTATUS -STDCALL +NTAPI RtlAnsiStringToUnicodeString( PUNICODE_STRING DestinationString, - PANSI_STRING SourceString, + PCANSI_STRING SourceString, BOOLEAN AllocateDestinationString ); +/* FIXME: Use macro */ +#undef RtlAnsiStringToUnicodeSize +NTSYSAPI ULONG -STDCALL +NTAPI RtlAnsiStringToUnicodeSize( PANSI_STRING AnsiString ); +NTSYSAPI BOOLEAN -STDCALL +NTAPI RtlCreateUnicodeStringFromAsciiz( OUT PUNICODE_STRING Destination, IN PCSZ Source @@ -823,72 +934,82 @@ /* * Unicode String Functions */ +NTSYSAPI NTSTATUS -STDCALL +NTAPI RtlAppendUnicodeToString( PUNICODE_STRING Destination, PCWSTR Source ); +NTSYSAPI NTSTATUS [truncated at 1000 lines; 1887 more skipped]
19 years, 3 months
1
0
0
0
[gvg] 17659: Sync to Wine-20050830:
by gvg@svn.reactos.com
Sync to Wine-20050830: Alexandre Julliard <julliard(a)winehq.org> - Beginnings of a crt0 library. - Added a warning for DllGetVersion and DllInstall not being declared private. Also warn when one of the Dll* functions is using a different internal name. - Added a --undefined option to allow forcing some symbols to be resolved by the linker. - Byteswap the resources if we detect that the header is in the wrong endianness. - Moved more of the spec initialization code to the winecrt0 library, and get rid of implicit kernel32 imports. - Use __wine_unimplemented_stub from crt0 for 16-bit spec files too. - Moved the delay loading support code to the winecrt0 library. - Avoid using common symbols, they are broken on Mac OS. - Moved the implementation of spec file stubs to the winecrt0 library. - The exported name strings should be inside the export directory (found by Vitaliy Margolen). - Added some general purpose routines for managing list of symbol names. - Print a warning when a generated import library doesn't export anything useful. - Implemented DelayLoadFailureHook and use it in the winebuild-generated delay load code. - Compute the ordinal base and limit in assign_ordinals instead of doing it while parsing. - Get rid of the unused owner_name field. Ge van Geldorp <gvg(a)reactos.org> - Adapt changes to ReactOS Modified: trunk/reactos/tools/winebuild/build.h Modified: trunk/reactos/tools/winebuild/import.c Modified: trunk/reactos/tools/winebuild/main.c Modified: trunk/reactos/tools/winebuild/parser.c Modified: trunk/reactos/tools/winebuild/res32.c Modified: trunk/reactos/tools/winebuild/spec16.c Modified: trunk/reactos/tools/winebuild/spec32.c Modified: trunk/reactos/tools/winebuild/utils.c Modified: trunk/reactos/tools/winebuild/winebuild.man.in _____ Modified: trunk/reactos/tools/winebuild/build.h --- trunk/reactos/tools/winebuild/build.h 2005-09-05 10:18:07 UTC (rev 17658) +++ trunk/reactos/tools/winebuild/build.h 2005-09-05 17:35:31 UTC (rev 17659) @@ -88,7 +88,6 @@ { char *file_name; /* file name of the dll */ char *dll_name; /* internal name of the dll */ - char *owner_name; /* name of the 32-bit dll owning this one */ char *init_func; /* initialization routine */ SPEC_TYPE type; /* type of dll (Win16/Win32) */ int base; /* ordinal base */ @@ -190,7 +189,8 @@ extern void add_import_dll( const char *name, const char *filename ); extern void add_delayed_import( const char *name ); extern void add_ignore_symbol( const char *name ); -extern void read_undef_symbols( char **argv ); +extern void add_extra_ld_symbol( const char *name ); +extern void read_undef_symbols( DLLSPEC *spec, char **argv ); extern int resolve_imports( DLLSPEC *spec ); extern int output_imports( FILE *outfile, DLLSPEC *spec, int *nb_delayed ); extern void output_import_thunks( FILE *outfile, DLLSPEC *spec ); _____ Modified: trunk/reactos/tools/winebuild/import.c --- trunk/reactos/tools/winebuild/import.c 2005-09-05 10:18:07 UTC (rev 17658) +++ trunk/reactos/tools/winebuild/import.c 2005-09-05 17:35:31 UTC (rev 17659) @@ -21,6 +21,7 @@ #include "config.h" +#include <assert.h> #include <ctype.h> #include <fcntl.h> #include <stdio.h> @@ -34,7 +35,6 @@ #endif #include "winglue.h" -//#include "wine/exception.h" #include "build.h" #ifndef EXCEPTION_NONCONTINUABLE @@ -56,13 +56,16 @@ int nb_imports; /* number of imported functions */ }; -static char **undef_symbols; /* list of undefined symbols */ -static int nb_undef_symbols = -1; -static int undef_size; +struct name_table +{ + char **names; + unsigned int count, size; +}; -static char **ignore_symbols; /* list of symbols to ignore */ -static int nb_ignore_symbols; -static int ignore_size; +static struct name_table undef_symbols; /* list of undefined symbols */ +static struct name_table ignore_symbols; /* list of symbols to ignore */ +static struct name_table extra_ld_symbols; /* list of extra symbols that ld should resolve */ +static struct name_table delayed_imports; /* list of delayed import dlls */ static char *ld_tmp_file; /* ld temp file name */ @@ -71,8 +74,6 @@ static int nb_delayed = 0; /* number of delayed dlls */ static int total_imports = 0; /* total number of imported functions */ static int total_delayed = 0; /* total number of imported functions in delayed DLLs */ -static char **delayed_imports; /* names of delayed import dlls */ -static int nb_delayed_imports; /* size of the delayed_imports array */ /* list of symbols that are ignored by default */ static const char * const default_ignored_symbols[] = @@ -151,18 +152,52 @@ odp2->name ? odp2->name : odp2->export_name ); } -/* locate a symbol in a (sorted) list */ -inline static const char *find_symbol( const char *name, char **table, int size ) +/* add a name to a name table */ +inline static void add_name( struct name_table *table, const char *name ) { - char **res = NULL; - - if (table) { - res = bsearch( &name, table, size, sizeof(*table), name_cmp ); + if (table->count == table->size) + { + table->size += (table->size / 2); + if (table->size < 32) table->size = 32; + table->names = xrealloc( table->names, table->size * sizeof(*table->names) ); } + table->names[table->count++] = xstrdup( name ); +} +/* remove a name from a name table */ +inline static void remove_name( struct name_table *table, unsigned int idx ) +{ + assert( idx < table->count ); + free( table->names[idx] ); + memmove( table->names + idx, table->names + idx + 1, + (table->count - idx - 1) * sizeof(*table->names) ); + table->count--; +} + +/* make a name table empty */ +inline static void empty_name_table( struct name_table *table ) +{ + unsigned int i; + + for (i = 0; i < table->count; i++) free( table->names[i] ); + table->count = 0; +} + +/* locate a name in a (sorted) list */ +inline static const char *find_name( const char *name, const struct name_table *table ) +{ + char **res = NULL; + + if (table->count) res = bsearch( &name, table->names, table->count, sizeof(*table->names), name_cmp ); return res ? *res : NULL; } +/* sort a name table */ +inline static void sort_names( struct name_table *table ) +{ + if (table->count) qsort( table->names, table->count, sizeof(*table->names), name_cmp ); +} + /* locate an export in a (sorted) export list */ inline static ORDDEF *find_export( const char *name, ORDDEF **table, int size ) { @@ -175,13 +210,6 @@ return res ? *res : NULL; } -/* sort a symbol table */ -inline static void sort_symbols( char **table, int size ) -{ - if (table ) - qsort( table, size, sizeof(*table), name_cmp ); -} - inline static void output_function_size( FILE *outfile, const char *name ) { const char *size = func_size( name ); @@ -209,9 +237,9 @@ { int i; - for (i = 0; i < nb_delayed_imports; i++) + for (i = 0; i < delayed_imports.count; i++) { - if (!strcmp( delayed_imports[i], name )) return 1; + if (!strcmp( delayed_imports.names[i], name )) return 1; } return 0; } @@ -367,13 +395,13 @@ struct import *imp; char *fullname = get_dll_name( name, NULL ); - delayed_imports = xrealloc( delayed_imports, (nb_delayed_imports+1) * sizeof(*delayed_imports) ); - delayed_imports[nb_delayed_imports++] = fullname; + add_name( &delayed_imports, fullname ); if ((imp = is_already_imported( fullname )) && !imp->delay) { imp->delay = 1; nb_delayed++; } + free( fullname ); } /* remove an imported dll, based on its index in the dll_imports array */ @@ -390,54 +418,37 @@ /* initialize the list of ignored symbols */ static void init_ignored_symbols(void) { - int i; + unsigned int i; - nb_ignore_symbols = sizeof(default_ignored_symbols)/sizeof(default_ignored_symbols[0]); - ignore_size = nb_ignore_symbols + 32; - ignore_symbols = xmalloc( ignore_size * sizeof(*ignore_symbols) ); - for (i = 0; i < nb_ignore_symbols; i++) - ignore_symbols[i] = xstrdup( default_ignored_symbols[i] ); + for (i = 0; i < sizeof(default_ignored_symbols)/sizeof(default_ignored_symbols[0]); i++) + add_name( &ignore_symbols, default_ignored_symbols[i] ); } /* add a symbol to the ignored symbol list */ /* if the name starts with '-' the symbol is removed instead */ void add_ignore_symbol( const char *name ) { - int i; + unsigned int i; - if (!ignore_symbols) init_ignored_symbols(); /* first time around, fill list with defaults */ + if (!ignore_symbols.size) init_ignored_symbols(); /* first time around, fill list with defaults */ if (name[0] == '-') /* remove it */ { - if (!name[1]) /* remove everything */ + if (!name[1]) empty_name_table( &ignore_symbols ); /* remove everything */ + else for (i = 0; i < ignore_symbols.count; i++) { - for (i = 0; i < nb_ignore_symbols; i++) free( ignore_symbols[i] ); - nb_ignore_symbols = 0; + if (!strcmp( ignore_symbols.names[i], name+1 )) remove_name( &ignore_symbols, i-- ); } - else - { - for (i = 0; i < nb_ignore_symbols; i++) - { - if (!strcmp( ignore_symbols[i], name+1 )) - { - free( ignore_symbols[i] ); - memmove( &ignore_symbols[i], &ignore_symbols[i+1], nb_ignore_symbols - i - 1 ); - nb_ignore_symbols--; - } - } - } } - else - { - if (nb_ignore_symbols == ignore_size) - { - ignore_size += 32; - ignore_symbols = xrealloc( ignore_symbols, ignore_size * sizeof(*ignore_symbols) ); - } - ignore_symbols[nb_ignore_symbols++] = xstrdup( name ); - } + else add_name( &ignore_symbols, name ); } +/* add a symbol to the list of extra symbols that ld must resolve */ +void add_extra_ld_symbol( const char *name ) +{ + add_name( &extra_ld_symbols, name ); +} + /* add a function to the list of imports from a given dll */ static void add_import_func( struct import *imp, ORDDEF *func ) { @@ -447,103 +458,33 @@ if (imp->delay) total_delayed++; } -/* add a symbol to the undef list */ -inline static void add_undef_symbol( const char *name ) +/* check if the spec file exports any stubs */ +static int has_stubs( const DLLSPEC *spec ) { - if (nb_undef_symbols == undef_size) + int i; + for (i = 0; i < spec->nb_entry_points; i++) { - undef_size += 128; - undef_symbols = xrealloc( undef_symbols, undef_size * sizeof(*undef_symbols) ); + ORDDEF *odp = &spec->entry_points[i]; + if (odp->type == TYPE_STUB) return 1; } - undef_symbols[nb_undef_symbols++] = xstrdup( name ); + return 0; } -/* remove all the holes in the undefined symbol list; return the number of removed symbols */ -static int remove_symbol_holes(void) +/* get the default entry point for a given spec file */ +static const char *get_default_entry_point( const DLLSPEC *spec ) { - int i, off; - for (i = off = 0; i < nb_undef_symbols; i++) - { - if (!undef_symbols[i]) off++; - else undef_symbols[i - off] = undef_symbols[i]; - } - nb_undef_symbols -= off; - return off; + if (spec->characteristics & IMAGE_FILE_DLL) return "__wine_spec_dll_entry"; + if (spec->subsystem == IMAGE_SUBSYSTEM_NATIVE) return "DriverEntry"; + return "__wine_spec_exe_entry"; } -/* add a symbol to the extra list, but only if needed */ -static int add_extra_symbol( const char **extras, int *count, const char *name, const DLLSPEC *spec ) -{ - int i; - - if (!find_symbol( name, undef_symbols, nb_undef_symbols )) - { - /* check if the symbol is being exported by this dll */ - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type == TYPE_STDCALL || - odp->type == TYPE_CDECL || - odp->type == TYPE_VARARGS || - odp->type == TYPE_EXTERN) - { - if (odp->name && !strcmp( odp->name, name )) return 0; - } - } - extras[*count] = name; - (*count)++; - } - return 1; -} - /* add the extra undefined symbols that will be contained in the generated spec file itself */ -static void add_extra_undef_symbols( const DLLSPEC *spec ) +static void add_extra_undef_symbols( DLLSPEC *spec ) { - const char *extras[10]; - int i, count = 0, nb_stubs = 0; - int kernel_imports = 0, ntdll_imports = 0; - - sort_symbols( undef_symbols, nb_undef_symbols ); - - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type == TYPE_STUB) nb_stubs++; - } - - /* add symbols that will be contained in the spec file itself */ - if (!(spec->characteristics & IMAGE_FILE_DLL)) - { - switch (spec->subsystem) - { - case IMAGE_SUBSYSTEM_WINDOWS_GUI: - case IMAGE_SUBSYSTEM_WINDOWS_CUI: - kernel_imports += add_extra_symbol( extras, &count, "GetCommandLineA", spec ); - kernel_imports += add_extra_symbol( extras, &count, "GetStartupInfoA", spec ); - kernel_imports += add_extra_symbol( extras, &count, "GetModuleHandleA", spec ); - kernel_imports += add_extra_symbol( extras, &count, "ExitProcess", spec ); - break; - } - } - if (nb_delayed) - { - kernel_imports += add_extra_symbol( extras, &count, "LoadLibraryA", spec ); - kernel_imports += add_extra_symbol( extras, &count, "FreeLibrary", spec ); - kernel_imports += add_extra_symbol( extras, &count, "GetProcAddress", spec ); - kernel_imports += add_extra_symbol( extras, &count, "RaiseException", spec ); - } - if (nb_stubs) - ntdll_imports += add_extra_symbol( extras, &count, "RtlRaiseException", spec ); - - /* make sure we import the dlls that contain these functions */ - if (kernel_imports) add_import_dll( "kernel32", NULL ); - if (ntdll_imports) add_import_dll( "ntdll", NULL ); - - if (count) - { - for (i = 0; i < count; i++) add_undef_symbol( extras[i] ); - sort_symbols( undef_symbols, nb_undef_symbols ); - } + if (!spec->init_func) spec->init_func = xstrdup( get_default_entry_point(spec) ); + add_extra_ld_symbol( spec->init_func ); + if (has_stubs( spec )) add_extra_ld_symbol( "__wine_spec_unimplemented_stub" ); + if (nb_delayed) add_extra_ld_symbol( "__wine_spec_delay_load" ); } /* check if a given imported dll is not needed, taking forwards into account */ @@ -570,8 +511,8 @@ /* returns the name of the combined file */ static const char *ldcombine_files( char **argv ) { - int i, len = 0; - char *cmd; + unsigned int i, len = 0; + char *cmd, *p; int fd, err; if (output_file_name && output_file_name[0]) @@ -587,10 +528,14 @@ atexit( remove_ld_tmp_file ); if (!ld_command) ld_command = xstrdup("ld"); + for (i = 0; i < extra_ld_symbols.count; i++) len += strlen(extra_ld_symbols.names[i]) + 5; for (i = 0; argv[i]; i++) len += strlen(argv[i]) + 1; - cmd = xmalloc( len + strlen(ld_tmp_file) + 8 + strlen(ld_command) ); - sprintf( cmd, "%s -r -o %s", ld_command, ld_tmp_file ); - for (i = 0; argv[i]; i++) sprintf( cmd + strlen(cmd), " %s", argv[i] ); + cmd = p = xmalloc( len + strlen(ld_tmp_file) + 8 + strlen(ld_command) ); + p += sprintf( cmd, "%s -r -o %s", ld_command, ld_tmp_file ); + for (i = 0; i < extra_ld_symbols.count; i++) + p += sprintf( p, " -u %s", asm_name(extra_ld_symbols.names[i]) ); + for (i = 0; argv[i]; i++) + p += sprintf( p, " %s", argv[i] ); err = system( cmd ); if (err) fatal_error( "%s -r failed with status %d\n", ld_command, err ); free( cmd ); @@ -598,7 +543,7 @@ } /* read in the list of undefined symbols */ -void read_undef_symbols( char **argv ) +void read_undef_symbols( DLLSPEC *spec, char **argv ) { size_t prefix_len; FILE *f; @@ -608,15 +553,13 @@ if (!argv[0]) return; + add_extra_undef_symbols( spec ); + strcpy( name_prefix, asm_name("") ); prefix_len = strlen( name_prefix ); - undef_size = nb_undef_symbols = 0; + name = ldcombine_files( argv ); - /* if we have multiple object files, link them together */ - if (argv[1]) name = ldcombine_files( argv ); - else name = argv[0]; - if (!nm_command) nm_command = xstrdup("nm"); cmd = xmalloc( strlen(nm_command) + strlen(name) + 5 ); sprintf( cmd, "%s -u %s", nm_command, name ); @@ -632,7 +575,7 @@ while (*p == ' ') p++; if (p[0] == 'U' && p[1] == ' ' && p[2]) p += 2; if (prefix_len && !strncmp( p, name_prefix, prefix_len )) p += prefix_len; - add_undef_symbol( p ); + add_name( &undef_symbols, p ); } if ((err = pclose( f ))) warning( "%s failed with status %d\n", cmd, err ); free( cmd ); @@ -640,47 +583,39 @@ static void remove_ignored_symbols(void) { - int i; + unsigned int i; - if (!ignore_symbols) init_ignored_symbols(); - sort_symbols( ignore_symbols, nb_ignore_symbols ); - for (i = 0; i < nb_undef_symbols; i++) + if (!ignore_symbols.size) init_ignored_symbols(); + sort_names( &ignore_symbols ); + for (i = 0; i < undef_symbols.count; i++) { - if (find_symbol( undef_symbols[i], ignore_symbols, nb_ignore_symbols )) - { - free( undef_symbols[i] ); - undef_symbols[i] = NULL; - } + if (find_name( undef_symbols.names[i], &ignore_symbols )) + remove_name( &undef_symbols, i-- ); } - remove_symbol_holes(); } /* resolve the imports for a Win32 module */ int resolve_imports( DLLSPEC *spec ) { - int i, j; + unsigned int i, j, removed; - if (nb_undef_symbols == -1) return 0; /* no symbol file specified */ - - add_extra_undef_symbols( spec ); remove_ignored_symbols(); for (i = 0; i < nb_imports; i++) { struct import *imp = dll_imports[i]; - for (j = 0; j < nb_undef_symbols; j++) + for (j = removed = 0; j < undef_symbols.count; j++) { - ORDDEF *odp = find_export( undef_symbols[j], imp->exports, imp->nb_exports ); + ORDDEF *odp = find_export( undef_symbols.names[j], imp->exports, imp->nb_exports ); if (odp) { add_import_func( imp, odp ); - free( undef_symbols[j] ); - undef_symbols[j] = NULL; + remove_name( &undef_symbols, j-- ); + removed++; } } - /* remove all the holes in the undef symbols list */ - if (!remove_symbol_holes() && check_unused( imp, spec )) + if (!removed && check_unused( imp, spec )) { /* the dll is not used, get rid of it */ warning( "%s imported but no symbols used\n", imp->spec->file_name ); @@ -919,7 +854,7 @@ } } fprintf( outfile, "\n" ); - fprintf( outfile, "static struct {\n" ); + fprintf( outfile, "struct {\n" ); fprintf( outfile, " struct ImgDelayDescr {\n" ); fprintf( outfile, " unsigned int grAttrs;\n" ); fprintf( outfile, " const char *szName;\n" ); @@ -929,15 +864,15 @@ fprintf( outfile, " void* pBoundIAT;\n" ); fprintf( outfile, " void* pUnloadIAT;\n" ); fprintf( outfile, " unsigned long dwTimeStamp;\n" ); - fprintf( outfile, " } imp[%d];\n", nb_delayed ); + fprintf( outfile, " } imp[%d];\n", nb_delayed + 1 ); fprintf( outfile, " void *IAT[%d];\n", total_delayed ); fprintf( outfile, " const char *INT[%d];\n", total_delayed ); - fprintf( outfile, "} delay_imports = {\n" ); + fprintf( outfile, "} __wine_spec_delay_imports = {\n" ); fprintf( outfile, " {\n" ); for (i = j = 0; i < nb_imports; i++) { if (!dll_imports[i]->delay) continue; - fprintf( outfile, " { 0, \"%s\", &__wine_delay_imp_hmod[%d], &delay_imports.IAT[%d], &delay_imports.INT[%d], 0, 0, 0 },\n", + fprintf( outfile, " { 0, \"%s\", &__wine_delay_imp_hmod[%d], &__wine_spec_delay_imports.IAT[%d], &__wine_spec_delay_imports.INT[%d], 0, 0, 0 },\n", dll_imports[i]->spec->file_name, i, j, j ); j += dll_imports[i]->nb_imports; } @@ -969,32 +904,6 @@ } fprintf( outfile, " }\n};\n\n" ); - fprintf( outfile, "extern void __stdcall RaiseException(unsigned int, unsigned int, unsigned int, const void *args[]);\n" ); - fprintf( outfile, "extern void * __stdcall LoadLibraryA(const char*);\n"); - fprintf( outfile, "extern void * __stdcall GetProcAddress(void *, const char*);\n"); - fprintf( outfile, "\n" ); - - fprintf( outfile, "void *__stdcall __wine_delay_load( int idx_nr )\n" ); - fprintf( outfile, "{\n" ); - fprintf( outfile, " int idx = idx_nr >> 16, nr = idx_nr & 0xffff;\n" ); - fprintf( outfile, " struct ImgDelayDescr *imd = delay_imports.imp + idx;\n" ); - fprintf( outfile, " void **pIAT = imd->pIAT + nr;\n" ); - fprintf( outfile, " const char** pINT = imd->pINT + nr;\n" ); - fprintf( outfile, " void *fn;\n\n" ); - - fprintf( outfile, " if (!*imd->phmod) *imd->phmod = LoadLibraryA(imd->szName);\n" ); - fprintf( outfile, " if (*imd->phmod && (fn = GetProcAddress(*imd->phmod, *pINT)))\n"); - fprintf( outfile, " /* patch IAT with final value */\n" ); - fprintf( outfile, " return *pIAT = fn;\n" ); - fprintf( outfile, " else {\n"); - fprintf( outfile, " const void *args[2];\n" ); - fprintf( outfile, " args[0] = imd->szName;\n" ); - fprintf( outfile, " args[1] = *pINT;\n" ); - fprintf( outfile, " RaiseException( 0x%08x, %d, 2, args );\n", - EXCEPTION_WINE_STUB, EXCEPTION_NONCONTINUABLE ); - fprintf( outfile, " return 0;\n" ); - fprintf( outfile, " }\n}\n" ); - return nb_delayed; } @@ -1017,17 +926,17 @@ { case CPU_x86: fprintf( outfile, " \"\\tpushl %%ecx\\n\\tpushl %%edx\\n\\tpushl %%eax\\n\"\n" ); - fprintf( outfile, " \"\\tcall %s\\n\"\n", asm_name("__wine_delay_load") ); + fprintf( outfile, " \"\\tcall %s\\n\"\n", asm_name("__wine_spec_delay_load") ); fprintf( outfile, " \"\\tpopl %%edx\\n\\tpopl %%ecx\\n\\tjmp *%%eax\\n\"\n" ); break; case CPU_SPARC: fprintf( outfile, " \"\\tsave %%sp, -96, %%sp\\n\"\n" ); - fprintf( outfile, " \"\\tcall %s\\n\"\n", asm_name("__wine_delay_load") ); + fprintf( outfile, " \"\\tcall %s\\n\"\n", asm_name("__wine_spec_delay_load") ); fprintf( outfile, " \"\\tmov %%g1, %%o0\\n\"\n" ); fprintf( outfile, " \"\\tjmp %%o0\\n\\trestore\\n\"\n" ); break; case CPU_ALPHA: - fprintf( outfile, " \"\\tjsr $26,%s\\n\"\n", asm_name("__wine_delay_load") ); + fprintf( outfile, " \"\\tjsr $26,%s\\n\"\n", asm_name("__wine_spec_delay_load") ); fprintf( outfile, " \"\\tjmp $31,($0)\\n\"\n" ); break; case CPU_POWERPC: @@ -1054,7 +963,7 @@ fprintf( outfile, " \"\\tstw %s, %d(%s)\\n\"\n", ppc_reg(0), 44+extra_stack_storage, ppc_reg(1)); /* Call the __wine_delay_load function, arg1 is arg1. */ - fprintf( outfile, " \"\\tbl %s\\n\"\n", asm_name("__wine_delay_load") ); + fprintf( outfile, " \"\\tbl %s\\n\"\n", asm_name("__wine_spec_delay_load") ); /* Load return value from call into ctr register */ fprintf( outfile, " \"\\tmtctr %s\\n\"\n", ppc_reg(3)); @@ -1145,7 +1054,7 @@ fprintf( outfile, "\n \".align %d\\n\"\n", get_alignment(8) ); fprintf( outfile, " \"%s:\\n\"\n", asm_name(delayed_import_thunks)); - pos = nb_delayed * 32; + pos = (nb_delayed + 1) * 32; for (i = 0; i < nb_imports; i++) { if (!dll_imports[i]->delay) continue; @@ -1153,7 +1062,7 @@ { ORDDEF *odp = dll_imports[i]->imports[j]; output_import_thunk( outfile, odp->name ? odp->name : odp->export_name, - "delay_imports", pos ); + "__wine_spec_delay_imports", pos ); } } output_function_size( outfile, delayed_import_thunks ); _____ Modified: trunk/reactos/tools/winebuild/main.c --- trunk/reactos/tools/winebuild/main.c 2005-09-05 10:18:07 UTC (rev 17658) +++ trunk/reactos/tools/winebuild/main.c 2005-09-05 17:35:31 UTC (rev 17659) @@ -233,31 +233,32 @@ static const char usage_str[] = "Usage: winebuild [OPTIONS] [FILES]\n\n" "Options:\n" -" -C --source-dir=DIR Look for source files in DIR\n" -" -d --delay-lib=LIB Import the specified library in delayed mode\n" -" -D SYM Ignored for C flags compatibility\n" -" -E --export=FILE Export the symbols defined in the .spec or .def file\n" -" -e --entry=FUNC Set the DLL entry point function (default: DllMain)\n" -" -f FLAGS Compiler flags (only -fPIC is supported)\n" -" -F --filename=DLLFILE Set the DLL filename (default: from input file name)\n" -" -h --help Display this help message\n" -" -H --heap=SIZE Set the heap size for a Win16 dll\n" -" -i --ignore=SYM[,SYM] Ignore specified symbols when resolving imports\n" -" -I DIR Ignored for C flags compatibility\n" -" -k --kill-at Kill stdcall decorations in generated .def files\n" -" -K FLAGS Compiler flags (only -KPIC is supported)\n" +" -C, --source-dir=DIR Look for source files in DIR\n" +" -d, --delay-lib=LIB Import the specified library in delayed mode\n" +" -D SYM Ignored for C flags compatibility\n" +" -E, --export=FILE Export the symbols defined in the .spec or .def file\n" +" -e, --entry=FUNC Set the DLL entry point function (default: DllMain)\n" +" -f FLAGS Compiler flags (only -fPIC is supported)\n" +" -F, --filename=DLLFILE Set the DLL filename (default: from input file name)\n" +" -h, --help Display this help message\n" +" -H, --heap=SIZE Set the heap size for a Win16 dll\n" +" -i, --ignore=SYM[,SYM] Ignore specified symbols when resolving imports\n" +" -I DIR Ignored for C flags compatibility\n" +" -k, --kill-at Kill stdcall decorations in generated .def files\n" +" -K, FLAGS Compiler flags (only -KPIC is supported)\n" " --ld-cmd=LD Command to use for linking (default: ld)\n" -" -l --library=LIB Import the specified library\n" -" -L --library-path=DIR Look for imports libraries in DIR\n" -" -M --main-module=MODULE Set the name of the main module for a Win16 dll\n" +" -l, --library=LIB Import the specified library\n" +" -L, --library-path=DIR Look for imports libraries in DIR\n" +" -M, --main-module=MODULE Set the name of the main module for a Win16 dll\n" " --nm-cmd=NM Command to use to get undefined symbols (default: nm)\n" -" -N --dll-name=DLLNAME Set the DLL name (default: from input file name)\n" -" -o --output=NAME Set the output file name (default: stdout)\n" -" -r --res=RSRC.RES Load resources from RSRC.RES\n" +" -N, --dll-name=DLLNAME Set the DLL name (default: from input file name)\n" +" -o, --output=NAME Set the output file name (default: stdout)\n" +" -r, --res=RSRC.RES Load resources from RSRC.RES\n" " --subsystem=SUBSYS Set the subsystem (one of native, windows, console)\n" " --target=TARGET Specify target CPU and platform for cross-compiling\n" +" -u, --undefined=SYMBOL Add an undefined reference to SYMBOL when linking\n" " --version Print the version and exit\n" -" -w --warnings Turn on warnings\n" +" -w, --warnings Turn on warnings\n" "\nMode options:\n" " --dll Build a .c file from a .spec or .def file\n" " --def Build a .def file from a .spec file\n" @@ -284,7 +285,7 @@ LONG_OPT_PEDLL }; -static const char short_options[] = "C:D:E:F:H:I:K:L:M:N:d:e:f:hi:kl:m:o:r:w"; +static const char short_options[] = "C:D:E:F:H:I:K:L:M:N:d:e:f:hi:kl:m:o:r:u:w"; static const struct option long_options[] = { @@ -316,6 +317,7 @@ { "dll-name", 1, 0, 'N' }, { "output", 1, 0, 'o' }, { "res", 1, 0, 'r' }, + { "undefined", 1, 0, 'u' }, { "warnings", 0, 0, 'w' }, { NULL, 0, 0, 0 } }; @@ -373,7 +375,6 @@ lib_path[nb_lib_paths++] = xstrdup( optarg ); break; case 'M': - spec->owner_name = xstrdup( optarg ); spec->type = SPEC_WIN16; break; case 'N': @@ -423,6 +424,9 @@ res_files = xrealloc( res_files, (nb_res_files+1) * sizeof(*res_files) ); res_files[nb_res_files++] = xstrdup( optarg ); break; + case 'u': + add_extra_ld_symbol( optarg ); + break; case 'w': display_warnings = 1; break; @@ -568,7 +572,7 @@ fatal_error( "Win16 specs are not supported in ReactOS version of winebuild\n" ); break; case SPEC_WIN32: - read_undef_symbols( argv ); + read_undef_symbols( spec, argv ); BuildSpec32File( output_file, spec ); break; default: assert(0); @@ -580,7 +584,7 @@ load_resources( argv, spec ); load_import_libs( argv ); if (spec_file_name && !parse_input_file( spec )) break; - read_undef_symbols( argv ); + read_undef_symbols( spec, argv ); BuildSpec32File( output_file, spec ); break; case MODE_DEF: _____ Modified: trunk/reactos/tools/winebuild/parser.c --- trunk/reactos/tools/winebuild/parser.c 2005-09-05 10:18:07 UTC (rev 17658) +++ trunk/reactos/tools/winebuild/parser.c 2005-09-05 17:35:31 UTC (rev 17659) @@ -520,9 +520,14 @@ if (!strcmp( odp->name, "DllRegisterServer" ) || !strcmp( odp->name, "DllUnregisterServer" ) || !strcmp( odp->name, "DllGetClassObject" ) || + !strcmp( odp->name, "DllGetVersion" ) || + !strcmp( odp->name, "DllInstall" ) || !strcmp( odp->name, "DllCanUnloadNow" )) { warning( "Function %s should be marked private\n", odp->name ); + if (strcmp( odp->name, odp->link_name )) + warning( "Function %s should not use a different internal name (%s)\n", + odp->name, odp->link_name ); } } @@ -602,6 +607,16 @@ int i, count, ordinal; /* start assigning from base, or from 1 if no ordinal defined yet */ + + spec->base = MAX_ORDINALS; + spec->limit = 0; + for (i = 0; i < spec->nb_entry_points; i++) + { + ordinal = spec->entry_points[i].ordinal; + if (ordinal == -1) continue; + if (ordinal > spec->limit) spec->limit = ordinal; + if (ordinal < spec->base) spec->base = ordinal; + } if (spec->base == MAX_ORDINALS) spec->base = 1; if (spec->limit < spec->base) spec->limit = spec->base; @@ -819,8 +834,6 @@ error( "Ordinal number %d too large\n", ordinal ); goto error; } - if (ordinal > spec->limit) spec->limit = ordinal; - if (ordinal < spec->base) spec->base = ordinal; odp->ordinal = ordinal; token = GetToken(1); } _____ Modified: trunk/reactos/tools/winebuild/res32.c --- trunk/reactos/tools/winebuild/res32.c 2005-09-05 10:18:07 UTC (rev 17658) +++ trunk/reactos/tools/winebuild/res32.c 2005-09-05 17:35:31 UTC (rev 17659) @@ -82,6 +82,7 @@ unsigned int nb_types; /* total number of types */ }; +static int byte_swapped; /* whether the current resource file is byte-swapped */ static const unsigned char *file_pos; /* current position in resource file */ static const unsigned char *file_end; /* end of resource file */ static const char *file_name; /* current resource file name */ @@ -137,6 +138,7 @@ static WORD get_word(void) { WORD ret = *(const WORD *)file_pos; + if (byte_swapped) ret = (ret << 8) | (ret >> 8); file_pos += sizeof(WORD); if (file_pos > file_end) fatal_error( "%s is a truncated file\n", file_name ); return ret; @@ -146,6 +148,8 @@ static DWORD get_dword(void) { DWORD ret = *(const DWORD *)file_pos; + if (byte_swapped) + ret = ((ret << 24) | ((ret << 8) & 0x00ff0000) | ((ret >> 8) & 0x0000ff00) | (ret >> 24)); file_pos += sizeof(DWORD); if (file_pos > file_end) fatal_error( "%s is a truncated file\n", file_name ); return ret; @@ -173,8 +177,12 @@ /* all values must be zero except header size */ static int check_header(void) { + DWORD size; + if (get_dword()) return 0; /* data size */ - if (get_dword() != 32) return 0; /* header size */ + size = get_dword(); /* header size */ + if (size == 0x20000000) byte_swapped = 1; + else if (size != 0x20) return 0; if (get_word() != 0xffff || get_word()) return 0; /* type, must be id 0 */ if (get_word() != 0xffff || get_word()) return 0; /* name, must be id 0 */ if (get_dword()) return 0; /* data version */ @@ -228,6 +236,7 @@ fatal_error( "Cannot read %s\n", name ); } + byte_swapped = 0; file_name = name; file_pos = base; file_end = file_pos + st.st_size; _____ Modified: trunk/reactos/tools/winebuild/spec16.c --- trunk/reactos/tools/winebuild/spec16.c 2005-09-05 10:18:07 UTC (rev 17658) +++ trunk/reactos/tools/winebuild/spec16.c 2005-09-05 17:35:31 UTC (rev 17659) @@ -362,15 +362,10 @@ ORDDEF *odp = spec->ordinals[i]; if (!odp || odp->type != TYPE_STUB) continue; fprintf( outfile, "#ifdef __GNUC__\n" ); - fprintf( outfile, "static void __wine_unimplemented( const char *func ) __attribute__((noreturn));\n" ); - fprintf( outfile, "#endif\n" ); - fprintf( outfile, "static void __wine_unimplemented( const char *func )\n{\n" ); - fprintf( outfile, " extern void __stdcall RaiseException( unsigned int, unsigned int, unsigned int, const void ** );\n" ); - fprintf( outfile, " const void *args[2];\n" ); - fprintf( outfile, " args[0] = \"%s\";\n", spec->file_name ); - fprintf( outfile, " args[1] = func;\n" ); - fprintf( outfile, " for (;;) RaiseException( 0x%08x, %d, 2, args );\n}\n\n", - EXCEPTION_WINE_STUB, EH_NONCONTINUABLE ); + fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func ) __attribute__((noreturn));\n" ); + fprintf( outfile, "#else\n" ); + fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func );\n" ); + fprintf( outfile, "#endif\n\n" ); break; } for (i = 0; i <= spec->limit; i++) @@ -381,7 +376,7 @@ strcpy( odp->link_name, "__wine_stub_" ); strcat( odp->link_name, odp->name ); for (p = odp->link_name; *p; p++) if (!isalnum(*p)) *p = '_'; - fprintf( outfile, "static void %s(void) { __wine_unimplemented(\"%s\"); }\n", + fprintf( outfile, "static void %s(void) { __wine_spec_unimplemented_stub(__wine_spec16_file_name, \"%s\"); }\n", odp->link_name, odp->name ); } } @@ -413,6 +408,7 @@ /* File header */ output_file_header( outfile ); + fprintf( outfile, "static const char __wine_spec16_file_name[] = \"%s\";\n", spec->file_name ); fprintf( outfile, "extern unsigned short __wine_call_from_16_word();\n" ); fprintf( outfile, "extern unsigned int __wine_call_from_16_long();\n" ); fprintf( outfile, "extern void __wine_call_from_16_regs();\n" ); _____ Modified: trunk/reactos/tools/winebuild/spec32.c --- trunk/reactos/tools/winebuild/spec32.c 2005-09-05 10:18:07 UTC (rev 17658) +++ trunk/reactos/tools/winebuild/spec32.c 2005-09-05 17:35:31 UTC (rev 17659) @@ -66,31 +66,7 @@ return buffer; } -/******************************************************************* - * declare_weak_function - * - * Output a prototype for a weak function. - */ -static void declare_weak_function( FILE *outfile, const char *ret_type, const char *name, const char *params) -{ - fprintf( outfile, "#ifdef __GNUC__\n" ); - if (target_platform == PLATFORM_APPLE) - { - fprintf( outfile, "extern %s %s(%s) __attribute__((weak_import));\n", ret_type, name, params ); - fprintf( outfile, "static %s (*__wine_spec_weak_%s)(%s) = %s;\n", ret_type, name, params, name ); - fprintf( outfile, "#define %s __wine_spec_weak_%s\n", name, name ); - fprintf( outfile, "asm(\".weak_reference %s\");\n", asm_name(name) ); - } - else fprintf( outfile, "extern %s %s(%s) __attribute__((weak));\n", ret_type, name, params ); - fprintf( outfile, "#else\n" ); - fprintf( outfile, "extern %s %s(%s);\n", ret_type, name, params ); - fprintf( outfile, "static void __asm__dummy_%s(void)", name ); - fprintf( outfile, " { asm(\".weak %s\"); }\n", asm_name(name) ); - fprintf( outfile, "#endif\n\n" ); -} - - /******************************************************************* * output_debug * @@ -128,7 +104,7 @@ static int get_exports_size( DLLSPEC *spec ) { int nr_exports = spec->base <= spec->limit ? spec->limit - spec->base + 1 : 0; - int i, fwd_size = 0, total_size; + int i, strings_size, total_size; if (!nr_exports) return 0; @@ -145,38 +121,24 @@ total_size += spec->nb_names * sizeof(short); if (spec->nb_names % 2) total_size += sizeof(short); + /* export name strings */ + strings_size = strlen(spec->file_name) + 1; + for (i = 0; i < spec->nb_names; i++) + strings_size += strlen(spec->names[i]->name) + 1; + /* forward strings */ for (i = spec->base; i <= spec->limit; i++) { ORDDEF *odp = spec->ordinals[i]; - if (odp && odp->flags & FLAG_FORWARD) fwd_size += strlen(odp->link_name) + 1; + if (odp && odp->flags & FLAG_FORWARD) strings_size += strlen(odp->link_name) + 1; } - total_size += (fwd_size + 3) & ~3; + total_size += (strings_size + 3) & ~3; return total_size; } /******************************************************************* - * output_export_names - * - * Output all the exported names for a Win32 module. - */ -static void output_export_names( FILE *outfile, DLLSPEC *spec ) -{ - int i, nr_exports = spec->base <= spec->limit ? spec->limit - spec->base + 1 : 0; - - if (!nr_exports) return; - - fprintf( outfile, "\nconst char __wine_spec_exp_names[] =" ); - fprintf( outfile, "\n \"%s\\0\"", spec->file_name ); - for (i = 0; i < spec->nb_names; i++) - fprintf( outfile, "\n \"%s\\0\"", spec->names[i]->name ); - fprintf( outfile, ";\n" ); -} - - -/******************************************************************* * output_exports * * Output the export table for a Win32 module. @@ -198,7 +160,7 @@ fprintf( outfile, " \"\\t.long 0\\n\"\n" ); /* Characteristics */ fprintf( outfile, " \"\\t.long 0\\n\"\n" ); /* TimeDateStamp */ fprintf( outfile, " \"\\t.long 0\\n\"\n" ); /* MajorVersion/MinorVersion */ - fprintf( outfile, " \"\\t.long %s\\n\"\n", asm_name("__wine_spec_exp_names") ); /* Name */ + fprintf( outfile, " \"\\t.long __wine_spec_exp_names\\n\"\n" ); /* Name */ fprintf( outfile, " \"\\t.long %d\\n\"\n", spec->base ); /* Base */ fprintf( outfile, " \"\\t.long %d\\n\"\n", nr_exports ); /* NumberOfFunctions */ fprintf( outfile, " \"\\t.long %d\\n\"\n", spec->nb_names ); /* NumberOfNames */ @@ -255,13 +217,10 @@ fprintf( outfile, " \"__wine_spec_exp_name_ptrs:\\n\"\n" ); for (i = 0; i < spec->nb_names; i++) { - fprintf( outfile, " \"\\t.long %s+%d\\n\"\n", asm_name("__wine_spec_exp_names"), namepos ); + fprintf( outfile, " \"\\t.long __wine_spec_exp_names+%d\\n\"\n", namepos ); namepos += strlen(spec->names[i]->name) + 1; } - } - if (spec->nb_names) - { /* output the function ordinals */ fprintf( outfile, " \"__wine_spec_exp_ordinals:\\n\"\n" ); @@ -276,6 +235,14 @@ } } + /* output the export name strings */ + + fprintf( outfile, " \"__wine_spec_exp_names:\\n\"\n" ); + fprintf( outfile, " \"\\t%s \\\"%s\\\"\\n\"\n", get_asm_string_keyword(), spec->file_name ); + for (i = 0; i < spec->nb_names; i++) + fprintf( outfile, " \"\\t%s \\\"%s\\\"\\n\"\n", + get_asm_string_keyword(), spec->names[i]->name ); + /* output forward strings */ if (fwd_size) @@ -287,8 +254,8 @@ if (odp && (odp->flags & FLAG_FORWARD)) fprintf( outfile, " \"\\t%s \\\"%s\\\"\\n\"\n", get_asm_string_keyword(), odp->link_name ); } - fprintf( outfile, " \"\\t.align %d\\n\"\n", get_alignment(4) ); } + fprintf( outfile, " \"\\t.align %d\\n\"\n", get_alignment(4) ); /* output relays */ @@ -356,29 +323,10 @@ ORDDEF *odp = &spec->entry_points[i]; if (odp->type != TYPE_STUB) continue; fprintf( outfile, "#ifdef __GNUC__\n" ); - fprintf( outfile, "static void __wine_unimplemented( const char *func ) __attribute__((noreturn));\n" ); - fprintf( outfile, "#endif\n\n" ); - fprintf( outfile, "struct exc_record {\n" ); - fprintf( outfile, " unsigned int code, flags;\n" ); - fprintf( outfile, " void *rec, *addr;\n" ); - fprintf( outfile, " unsigned int params;\n" ); - fprintf( outfile, " const void *info[15];\n" ); - fprintf( outfile, "};\n\n" ); [truncated at 1000 lines; 337 more skipped]
19 years, 3 months
1
0
0
0
[gvg] 17658: Sync to Wine-20050830:
by gvg@svn.reactos.com
Sync to Wine-20050830: Mike McCormack <mike(a)codeweavers.com> - Fix a gcc 4.0 -Wpointer-sign warning. - gcc 4.0 warning fix. Modified: trunk/reactos/tools/unicode/mbtowc.c Modified: trunk/reactos/tools/unicode/wctomb.c _____ Modified: trunk/reactos/tools/unicode/mbtowc.c --- trunk/reactos/tools/unicode/mbtowc.c 2005-09-05 09:26:02 UTC (rev 17657) +++ trunk/reactos/tools/unicode/mbtowc.c 2005-09-05 10:18:07 UTC (rev 17658) @@ -251,9 +251,11 @@ /* return -1 on dst buffer overflow, -2 on invalid input char */ int wine_cp_mbstowcs( const union cptable *table, int flags, - const char *src, int srclen, + const char *s, int srclen, WCHAR *dst, int dstlen ) { + const unsigned char *src = (const unsigned char*) s; + if (table->info.char_size == 1) { if (flags & MB_ERR_INVALID_CHARS) _____ Modified: trunk/reactos/tools/unicode/wctomb.c --- trunk/reactos/tools/unicode/wctomb.c 2005-09-05 09:26:02 UTC (rev 17657) +++ trunk/reactos/tools/unicode/wctomb.c 2005-09-05 10:18:07 UTC (rev 17658) @@ -198,12 +198,16 @@ { const unsigned char * const uni2cp_low = table->uni2cp_low; const unsigned short * const uni2cp_high = table->uni2cp_high; - const unsigned char table_default = table->info.def_char & 0xff; + unsigned char def; unsigned int len; int tmp; WCHAR composed; - if (!defchar) defchar = (const char*)&table_default; + if (!defchar) + def = table->info.def_char & 0xff; + else + def = *defchar; + if (!used) used = &tmp; /* avoid checking on every char */ *used = 0; @@ -225,7 +229,7 @@ /* no mapping for the composed char, check the other flags */ if (flags & WC_DEFAULTCHAR) /* use the default char instead */ { - *dst = *defchar; + *dst = def; *used = 1; src++; /* skip the non-spacing char */ srclen--; @@ -242,7 +246,7 @@ *dst = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)]; if (!is_valid_sbcs_mapping( table, flags, wch, *dst )) { - *dst = *defchar; + *dst = def; *used = 1; } }
19 years, 3 months
1
0
0
0
[gvg] 17657: Fix compilation when ENABLE_VALIDATE_POOL is defined
by gvg@svn.reactos.com
Fix compilation when ENABLE_VALIDATE_POOL is defined Modified: trunk/reactos/ntoskrnl/mm/npool.c _____ Modified: trunk/reactos/ntoskrnl/mm/npool.c --- trunk/reactos/ntoskrnl/mm/npool.c 2005-09-05 09:25:06 UTC (rev 17656) +++ trunk/reactos/ntoskrnl/mm/npool.c 2005-09-05 09:26:02 UTC (rev 17657) @@ -1049,8 +1049,8 @@ DbgPrint("intersecting blocks on list\n"); KEBUGCHECK(/*KBUG_POOL_FREE_LIST_CORRUPT*/0); } - if ( (ULONG_PTR)current < base && - ((ULONG_PTR)current + current->hdr.Size) > base ) + if ( (ULONG_PTR)used < base && + ((ULONG_PTR)used + used->hdr.Size) > base ) { DbgPrint("intersecting blocks on list\n"); KEBUGCHECK(/*KBUG_POOL_FREE_LIST_CORRUPT*/0); @@ -1077,7 +1077,7 @@ p = avl_get_first(FreeBlockListRoot); while (p) { - freet = CONTAINING_RECORD(p, HDR_FREE, Node); + free = CONTAINING_RECORD(p, HDR_FREE, Node); check_duplicates(&free->hdr); p = avl_get_next(FreeBlockListRoot, p); }
19 years, 3 months
1
0
0
0
[gvg] 17656: The kernel extension is really a EXTENDED_DEVOBJ_EXTENSION now
by gvg@svn.reactos.com
The kernel extension is really a EXTENDED_DEVOBJ_EXTENSION now Modified: trunk/reactos/ntoskrnl/io/device.c _____ Modified: trunk/reactos/ntoskrnl/io/device.c --- trunk/reactos/ntoskrnl/io/device.c 2005-09-05 08:17:08 UTC (rev 17655) +++ trunk/reactos/ntoskrnl/io/device.c 2005-09-05 09:25:06 UTC (rev 17656) @@ -455,7 +455,7 @@ /* Total Size */ TotalSize = AlignedDeviceExtensionSize + - sizeof(DEVICE_OBJECT) + sizeof(DEVOBJ_EXTENSION); + sizeof(DEVICE_OBJECT) + sizeof(EXTENDED_DEVOBJ_EXTENSION); DPRINT("TotalSize %x\n", TotalSize); /* Create the Device Object */
19 years, 3 months
1
0
0
0
[gvg] 17655: Wine-20050830 vendor drop
by gvg@svn.reactos.com
Wine-20050830 vendor drop Modified: vendor/wine/dlls/cabinet/current/cabinet.h Modified: vendor/wine/dlls/cabinet/current/cabinet.spec Modified: vendor/wine/dlls/cabinet/current/cabinet_main.c Modified: vendor/wine/dlls/comctl32/current/Makefile.in Modified: vendor/wine/dlls/comctl32/current/animate.c Modified: vendor/wine/dlls/comctl32/current/comboex.c Modified: vendor/wine/dlls/comctl32/current/comctl32.h Modified: vendor/wine/dlls/comctl32/current/comctl32.spec Modified: vendor/wine/dlls/comctl32/current/comctl32undoc.c Modified: vendor/wine/dlls/comctl32/current/commctrl.c Modified: vendor/wine/dlls/comctl32/current/datetime.c Modified: vendor/wine/dlls/comctl32/current/dpa.c Modified: vendor/wine/dlls/comctl32/current/header.c Modified: vendor/wine/dlls/comctl32/current/imagelist.c Modified: vendor/wine/dlls/comctl32/current/ipaddress.c Modified: vendor/wine/dlls/comctl32/current/listview.c Modified: vendor/wine/dlls/comctl32/current/monthcal.c Modified: vendor/wine/dlls/comctl32/current/progress.c Modified: vendor/wine/dlls/comctl32/current/propsheet.c Modified: vendor/wine/dlls/comctl32/current/rebar.c Modified: vendor/wine/dlls/comctl32/current/status.c Modified: vendor/wine/dlls/comctl32/current/tab.c Modified: vendor/wine/dlls/comctl32/current/toolbar.c Modified: vendor/wine/dlls/comctl32/current/tooltips.c Modified: vendor/wine/dlls/comctl32/current/trackbar.c Modified: vendor/wine/dlls/comctl32/current/treeview.c Modified: vendor/wine/dlls/commdlg/current/cdlg32.c Modified: vendor/wine/dlls/commdlg/current/filedlg.c Modified: vendor/wine/dlls/commdlg/current/filedlgbrowser.c Modified: vendor/wine/dlls/commdlg/current/filedlgbrowser.h Modified: vendor/wine/dlls/commdlg/current/printdlg.c Modified: vendor/wine/dlls/dinput8/current/Makefile.in Modified: vendor/wine/dlls/dinput8/current/dinput8.spec Modified: vendor/wine/dlls/dinput8/current/dinput8_main.c Modified: vendor/wine/dlls/dsound/current/capture.c Modified: vendor/wine/dlls/dsound/current/dsound_main.c Modified: vendor/wine/dlls/dsound/current/mixer.c Modified: vendor/wine/dlls/dsound/current/primary.c Modified: vendor/wine/dlls/icmp/current/icmp_main.c Modified: vendor/wine/dlls/midimap/current/midimap.spec Modified: vendor/wine/dlls/mpr/current/mpr.spec Modified: vendor/wine/dlls/mpr/current/mpr_main.c Modified: vendor/wine/dlls/msi/current/action.c Modified: vendor/wine/dlls/msi/current/action.h Modified: vendor/wine/dlls/msi/current/classes.c Modified: vendor/wine/dlls/msi/current/create.c Modified: vendor/wine/dlls/msi/current/custom.c Modified: vendor/wine/dlls/msi/current/delete.c Modified: vendor/wine/dlls/msi/current/events.c Modified: vendor/wine/dlls/msi/current/files.c Modified: vendor/wine/dlls/msi/current/format.c Modified: vendor/wine/dlls/msi/current/helpers.c Modified: vendor/wine/dlls/msi/current/insert.c Modified: vendor/wine/dlls/msi/current/install.c Modified: vendor/wine/dlls/msi/current/msi.c Modified: vendor/wine/dlls/msi/current/msi.spec Modified: vendor/wine/dlls/msi/current/msipriv.h Modified: vendor/wine/dlls/msi/current/msiquery.c Modified: vendor/wine/dlls/msi/current/package.c Modified: vendor/wine/dlls/msi/current/regsvr.c Modified: vendor/wine/dlls/msi/current/select.c Modified: vendor/wine/dlls/msi/current/table.c Modified: vendor/wine/dlls/msimg32/current/msimg32.spec Modified: vendor/wine/dlls/ole32/current/antimoniker.c Modified: vendor/wine/dlls/ole32/current/compobj.c Modified: vendor/wine/dlls/ole32/current/compobj.spec Modified: vendor/wine/dlls/ole32/current/compobj_private.h Modified: vendor/wine/dlls/ole32/current/compositemoniker.c Modified: vendor/wine/dlls/ole32/current/datacache.c Modified: vendor/wine/dlls/ole32/current/defaulthandler.c Modified: vendor/wine/dlls/ole32/current/errorinfo.c Modified: vendor/wine/dlls/ole32/current/filemoniker.c Modified: vendor/wine/dlls/ole32/current/ftmarshal.c Modified: vendor/wine/dlls/ole32/current/ifs.h Modified: vendor/wine/dlls/ole32/current/itemmoniker.c Modified: vendor/wine/dlls/ole32/current/marshal.c Modified: vendor/wine/dlls/ole32/current/moniker.c Modified: vendor/wine/dlls/ole32/current/moniker.h Modified: vendor/wine/dlls/ole32/current/ole16.c Modified: vendor/wine/dlls/ole32/current/ole2.c Modified: vendor/wine/dlls/ole32/current/ole2.spec Modified: vendor/wine/dlls/ole32/current/ole2_16.c Modified: vendor/wine/dlls/ole32/current/ole32.spec Modified: vendor/wine/dlls/ole32/current/oleproxy.c Modified: vendor/wine/dlls/ole32/current/stg_prop.c Modified: vendor/wine/dlls/ole32/current/storage.c Modified: vendor/wine/dlls/ole32/current/storage.spec Modified: vendor/wine/dlls/ole32/current/storage32.c Modified: vendor/wine/dlls/oleaut32/current/oleaut.c Modified: vendor/wine/dlls/oleaut32/current/oleaut32.spec Modified: vendor/wine/dlls/oleaut32/current/olefont.c Modified: vendor/wine/dlls/oleaut32/current/olepicture.c Modified: vendor/wine/dlls/oleaut32/current/regsvr.c Modified: vendor/wine/dlls/oleaut32/current/safearray.c Modified: vendor/wine/dlls/oleaut32/current/tmarshal.c Modified: vendor/wine/dlls/oleaut32/current/typelib.c Modified: vendor/wine/dlls/oleaut32/current/typelib.h Modified: vendor/wine/dlls/oleaut32/current/typelib2.c Modified: vendor/wine/dlls/oleaut32/current/varformat.c Modified: vendor/wine/dlls/oleaut32/current/variant.c [truncated at 100 lines; 82 more skipped] _____ Modified: vendor/wine/dlls/cabinet/current/cabinet.h --- vendor/wine/dlls/cabinet/current/cabinet.h 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/cabinet/current/cabinet.h 2005-09-05 08:17:08 UTC (rev 17655) @@ -324,15 +324,15 @@ cab_ULONG cDataBlocks; cab_ULONG cbFileRemainer; /* uncompressed, yet to be written data */ /* of spanned file of a spanning folder of a spanning cabinet */ - cab_UBYTE szFileNameCFDATA1[CB_MAX_FILENAME]; + char szFileNameCFDATA1[CB_MAX_FILENAME]; int handleCFDATA1; - cab_UBYTE szFileNameCFFILE1[CB_MAX_FILENAME]; + char szFileNameCFFILE1[CB_MAX_FILENAME]; int handleCFFILE1; - cab_UBYTE szFileNameCFDATA2[CB_MAX_FILENAME]; + char szFileNameCFDATA2[CB_MAX_FILENAME]; int handleCFDATA2; - cab_UBYTE szFileNameCFFILE2[CB_MAX_FILENAME]; + char szFileNameCFFILE2[CB_MAX_FILENAME]; int handleCFFILE2; - cab_UBYTE szFileNameCFFOLDER[CB_MAX_FILENAME]; + char szFileNameCFFOLDER[CB_MAX_FILENAME]; int handleCFFOLDER; cab_ULONG sizeFileCFDATA1; cab_ULONG sizeFileCFFILE1; _____ Modified: vendor/wine/dlls/cabinet/current/cabinet.spec --- vendor/wine/dlls/cabinet/current/cabinet.spec 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/cabinet/current/cabinet.spec 2005-09-05 08:17:08 UTC (rev 17655) @@ -1,5 +1,5 @@ 1 stub GetDllVersion -2 stdcall DllGetVersion (ptr) CABINET_DllGetVersion +2 stdcall -private DllGetVersion (ptr) 3 stdcall Extract(ptr str) 4 stub DeleteExtractedFiles 10 cdecl FCICreate(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) _____ Modified: vendor/wine/dlls/cabinet/current/cabinet_main.c --- vendor/wine/dlls/cabinet/current/cabinet_main.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/cabinet/current/cabinet_main.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -52,7 +52,7 @@ * NOTES * Supposedly returns version from IE6SP1RP1 */ -HRESULT WINAPI CABINET_DllGetVersion (DLLVERSIONINFO *pdvi) +HRESULT WINAPI DllGetVersion (DLLVERSIONINFO *pdvi) { WARN("hmmm... not right version number \"5.1.1106.1\"?\n"); _____ Modified: vendor/wine/dlls/comctl32/current/Makefile.in --- vendor/wine/dlls/comctl32/current/Makefile.in 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/Makefile.in 2005-09-05 08:17:08 UTC (rev 17655) @@ -31,10 +31,15 @@ propsheet.c \ rebar.c \ smoothscroll.c \ + status.c \ string.c \ - status.c \ syslink.c \ tab.c \ + theme_combo.c \ + theme_dialog.c \ + theme_edit.c \ + theme_listbox.c \ + theming.c \ toolbar.c \ tooltips.c \ trackbar.c \ _____ Modified: vendor/wine/dlls/comctl32/current/animate.c --- vendor/wine/dlls/comctl32/current/animate.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/animate.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -53,7 +53,7 @@ HMODULE hModule; HIC (WINAPI *fnICOpen)(DWORD, DWORD, UINT); LRESULT (WINAPI *fnICClose)(HIC); - LRESULT (WINAPI *fnICSendMessage)(HIC, UINT, DWORD, DWORD); + LRESULT (WINAPI *fnICSendMessage)(HIC, UINT, DWORD_PTR, DWORD_PTR); DWORD (WINAPIV *fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER, LPVOID); } fnIC; @@ -139,7 +139,8 @@ { infoPtr->hMMio = mmioOpenW(lpName, 0, MMIO_ALLOCBUF | MMIO_READ | MMIO_DENYWRITE); - return (BOOL)infoPtr->hMMio; + if(!infoPtr->hMMio) return FALSE; + return TRUE; } @@ -655,14 +656,14 @@ } outSize = fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT, - (DWORD)infoPtr->inbih, 0L); + (DWORD_PTR)infoPtr->inbih, 0L); infoPtr->outbih = Alloc(outSize); if (!infoPtr->outbih) return FALSE; if (fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT, - (DWORD)infoPtr->inbih, (DWORD)infoPtr->outbih) != outSize) + (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != outSize) { WARN("Can't get output BIH\n"); return FALSE; @@ -673,7 +674,7 @@ return FALSE; if (fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_BEGIN, - (DWORD)infoPtr->inbih, (DWORD)infoPtr->outbih) != ICERR_OK) { + (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != ICERR_OK) { WARN("Can't begin decompression\n"); return FALSE; } @@ -696,10 +697,10 @@ if (!hInstance) hInstance = (HINSTANCE)GetWindowLongPtrW(infoPtr->hwndSelf, GWLP_HINSTANCE); - if (HIWORD(lpszName)) - { - TRACE("(\"%s\");\n", debugstr_w(lpszName)); + TRACE("(%s)\n", debugstr_w(lpszName)); + if (HIWORD(lpszName)) + { if (!ANIMATE_LoadResW(infoPtr, hInstance, lpszName)) { TRACE("No AVI resource found!\n"); @@ -712,9 +713,7 @@ } else { - TRACE("(%u);\n", (WORD)(DWORD)lpszName); - - if (!ANIMATE_LoadResW(infoPtr, hInstance, MAKEINTRESOURCEW((INT)lpszName))) + if (!ANIMATE_LoadResW(infoPtr, hInstance, lpszName)) { WARN("No AVI resource found!\n"); return FALSE; _____ Modified: vendor/wine/dlls/comctl32/current/comboex.c --- vendor/wine/dlls/comctl32/current/comboex.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comboex.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -839,10 +839,10 @@ } -static DWORD COMBOEX_GetItemData (COMBOEX_INFO *infoPtr, INT index) +static DWORD_PTR COMBOEX_GetItemData (COMBOEX_INFO *infoPtr, INT index) { CBE_ITEMDATA *item1, *item2; - DWORD ret = 0; + DWORD_PTR ret = 0; item1 = get_item_data(infoPtr, index); if ((item1 != NULL) && ((LRESULT)item1 != CB_ERR)) { @@ -854,7 +854,7 @@ if (item1->mask & CBEIF_LPARAM) ret = item1->lParam; TRACE("returning 0x%08lx\n", ret); } else { - ret = (DWORD)item1; + ret = (DWORD_PTR)item1; TRACE("non-valid result from combo, returning 0x%08lx\n", ret); } return ret; @@ -878,7 +878,7 @@ } -static DWORD COMBOEX_SetItemData (COMBOEX_INFO *infoPtr, INT index, DWORD data) +static DWORD_PTR COMBOEX_SetItemData (COMBOEX_INFO *infoPtr, INT index, DWORD_PTR data) { CBE_ITEMDATA *item1, *item2; @@ -894,8 +894,8 @@ TRACE("setting lparam to 0x%08lx\n", data); return 0; } - TRACE("non-valid result from combo 0x%08lx\n", (DWORD)item1); - return (LRESULT)item1; + TRACE("non-valid result from combo %p\n", item1); + return (DWORD_PTR)item1; } @@ -1136,10 +1136,10 @@ n = SendMessageW (infoPtr->hwndCombo, CB_GETCOUNT, 0, 0); for (cursel = 0; cursel < n; cursel++){ item = get_item_data(infoPtr, cursel); - if ((INT)item == CB_ERR) break; + if ((INT_PTR)item == CB_ERR) break; if (!cmptext(COMBOEX_GetText(infoPtr, item), wintext)) break; } - if ((cursel == n) || ((INT)item == CB_ERR)) { + if ((cursel == n) || ((INT_PTR)item == CB_ERR)) { TRACE("failed to find match??? item=%p cursel=%d\n", item, cursel); if (infoPtr->hwndEdit) @@ -1149,7 +1149,7 @@ } else { item = get_item_data(infoPtr, cursel); - if ((INT)item == CB_ERR) { + if ((INT_PTR)item == CB_ERR) { TRACE("failed to find match??? item=%p cursel=%d\n", item, cursel); if (infoPtr->hwndEdit) @@ -2223,7 +2223,7 @@ return COMBOEX_SetCursel (infoPtr, (INT)wParam); case CB_SETITEMDATA: - return COMBOEX_SetItemData (infoPtr, (INT)wParam, (DWORD)lParam); + return COMBOEX_SetItemData (infoPtr, (INT)wParam, (DWORD_PTR)lParam); case CB_SETITEMHEIGHT: return COMBOEX_SetItemHeight (infoPtr, (INT)wParam, (UINT)lParam); _____ Modified: vendor/wine/dlls/comctl32/current/comctl32.h --- vendor/wine/dlls/comctl32/current/comctl32.h 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comctl32.h 2005-09-05 08:17:08 UTC (rev 17655) @@ -249,4 +249,8 @@ to->wMilliseconds = from->wMilliseconds; } +extern void THEMING_Initialize(void); +extern LRESULT THEMING_CallOriginalClass(HWND, UINT, WPARAM, LPARAM); +extern void THEMING_SetSubclassData(HWND, ULONG_PTR); + #endif /* __WINE_COMCTL32_H */ _____ Modified: vendor/wine/dlls/comctl32/current/comctl32.spec --- vendor/wine/dlls/comctl32/current/comctl32.spec 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comctl32.spec 2005-09-05 08:17:08 UTC (rev 17655) @@ -123,8 +123,8 @@ @ stdcall CreateStatusWindowW(long wstr long long) @ stdcall CreateToolbarEx(long long long long long long ptr long long long long long long) @ stdcall DestroyPropertySheetPage(long) -@ stdcall DllGetVersion(ptr) COMCTL32_DllGetVersion -@ stdcall DllInstall(long ptr) COMCTL32_DllInstall +@ stdcall -private DllGetVersion(ptr) +@ stdcall -private DllInstall(long wstr) @ stdcall DrawStatusText(long ptr ptr long) DrawStatusTextA @ stdcall DrawStatusTextW(long ptr wstr long) @ stdcall FlatSB_EnableScrollBar (long long long) _____ Modified: vendor/wine/dlls/comctl32/current/comctl32undoc.c --- vendor/wine/dlls/comctl32/current/comctl32undoc.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comctl32undoc.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -274,7 +274,6 @@ HKEY newkey; WCHAR realname[2]; LPWINEMRUITEM witem; - static const WCHAR emptyW[] = {'\0'}; /* or should we do the following instead of RegOpenKeyEx: */ @@ -287,7 +286,7 @@ err); if ((err = RegCreateKeyExW( mp->extview.hKey, mp->extview.lpszSubKey, 0, - emptyW, + NULL, REG_OPTION_NON_VOLATILE, KEY_READ | KEY_WRITE, 0, @@ -653,7 +652,6 @@ WCHAR realname[2]; LPWINEMRUITEM witem; DWORD type; - static const WCHAR emptyW[] = {'\0'}; /* get space to save indices that will turn into names * but in order of most to least recently used @@ -668,16 +666,16 @@ /* open the sub key */ if ((err = RegCreateKeyExW( mp->extview.hKey, mp->extview.lpszSubKey, 0, - emptyW, + NULL, REG_OPTION_NON_VOLATILE, KEY_READ | KEY_WRITE, 0, &newkey, &dwdisp))) { /* error - what to do ??? */ - ERR("(%lu %lu %lx %lx \"%s\" %p): Could not open key, error=%d\n", + ERR("(%lu %lu %lx %p %s %p): Could not open key, error=%d\n", mp->extview.cbSize, mp->extview.nMaxItems, mp->extview.dwFlags, - (DWORD)mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), + mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), mp->extview.lpfnCompare, err); return 0; } @@ -718,9 +716,9 @@ else mp->cursize = 0; - TRACE("(%lu %lu %lx %lx \"%s\" %p): Current Size = %ld\n", + TRACE("(%lu %lu %lx %p %s %p): Current Size = %ld\n", mp->extview.cbSize, mp->extview.nMaxItems, mp->extview.dwFlags, - (DWORD)mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), + mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), mp->extview.lpfnCompare, mp->cursize); return (HANDLE)mp; } _____ Modified: vendor/wine/dlls/comctl32/current/commctrl.c --- vendor/wine/dlls/comctl32/current/commctrl.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/commctrl.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -119,7 +119,7 @@ COMCTL32_hModule = (HMODULE)hinstDLL; /* add global subclassing atom (used by 'tooltip' and 'updown') */ - COMCTL32_wSubclass = (LPWSTR)(DWORD)GlobalAddAtomW (strCC32SubclassInfo); + COMCTL32_wSubclass = (LPWSTR)(DWORD_PTR)GlobalAddAtomW (strCC32SubclassInfo); TRACE("Subclassing atom added: %p\n", COMCTL32_wSubclass); /* create local pattern brush */ @@ -144,6 +144,9 @@ TRACKBAR_Register (); TREEVIEW_Register (); UPDOWN_Register (); + + /* subclass user32 controls */ + THEMING_Initialize (); break; case DLL_PROCESS_DETACH: @@ -305,7 +308,7 @@ */ BOOL WINAPI -ShowHideMenuCtl (HWND hwnd, UINT uFlags, LPINT lpInfo) +ShowHideMenuCtl (HWND hwnd, UINT_PTR uFlags, LPINT lpInfo) { LPINT lpMenuId; @@ -322,9 +325,9 @@ while (*lpMenuId != uFlags) lpMenuId += 2; - if (GetMenuState ((HMENU)lpInfo[1], uFlags, MF_BYCOMMAND) & MFS_CHECKED) { + if (GetMenuState ((HMENU)(DWORD_PTR)lpInfo[1], uFlags, MF_BYCOMMAND) & MFS_CHECKED) { /* uncheck menu item */ - CheckMenuItem ((HMENU)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_UNCHECKED); + CheckMenuItem ((HMENU)(DWORD_PTR)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_UNCHECKED); /* hide control */ lpMenuId++; @@ -333,7 +336,7 @@ } else { /* check menu item */ - CheckMenuItem ((HMENU)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_CHECKED); + CheckMenuItem ((HMENU)(DWORD_PTR)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_CHECKED); /* show control */ lpMenuId++; @@ -373,8 +376,8 @@ INT *lpRun; HWND hwndCtrl; - TRACE("(0x%08lx 0x%08lx 0x%08lx)\n", - (DWORD)hwnd, (DWORD)lpRect, (DWORD)lpInfo); + TRACE("(%p %p %p)\n", + hwnd, lpRect, lpInfo); GetClientRect (hwnd, lpRect); lpRun = lpInfo; @@ -503,7 +506,7 @@ return CreateWindowA(STATUSCLASSNAMEA, text, style, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, - parent, (HMENU)wid, 0, 0); + parent, (HMENU)(DWORD_PTR)wid, 0, 0); } @@ -529,7 +532,7 @@ return CreateWindowW(STATUSCLASSNAMEW, text, style, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, - parent, (HMENU)wid, 0, 0); + parent, (HMENU)(DWORD_PTR)wid, 0, 0); } @@ -564,7 +567,7 @@ { HWND hUD = CreateWindowW (UPDOWN_CLASSW, 0, style, x, y, cx, cy, - parent, (HMENU)id, inst, 0); + parent, (HMENU)(DWORD_PTR)id, inst, 0); if (hUD) { SendMessageW (hUD, UDM_SETBUDDY, (WPARAM)buddy, 0); SendMessageW (hUD, UDM_SETRANGE, 0, MAKELONG(maxVal, minVal)); @@ -725,7 +728,7 @@ hwndTB = CreateWindowExW(0, TOOLBARCLASSNAMEW, NULL, style|WS_CHILD, 0,0,100,30, - hwnd, (HMENU)wID, COMCTL32_hModule, NULL); + hwnd, (HMENU)(DWORD_PTR)wID, COMCTL32_hModule, NULL); if(hwndTB) { TBADDBITMAP tbab; @@ -784,7 +787,7 @@ */ HBITMAP WINAPI -CreateMappedBitmap (HINSTANCE hInstance, INT idBitmap, UINT wFlags, +CreateMappedBitmap (HINSTANCE hInstance, INT_PTR idBitmap, UINT wFlags, LPCOLORMAP lpColorMap, INT iNumMaps) { HGLOBAL hglb; @@ -931,8 +934,7 @@ * Returns version of a comctl32.dll from IE4.01 SP1. */ -HRESULT WINAPI -COMCTL32_DllGetVersion (DLLVERSIONINFO *pdvi) +HRESULT WINAPI DllGetVersion (DLLVERSIONINFO *pdvi) { if (pdvi->cbSize != sizeof(DLLVERSIONINFO)) { WARN("wrong DLLVERSIONINFO size from app\n"); @@ -960,7 +962,7 @@ * Success: S_OK * Failure: A HRESULT error */ -HRESULT WINAPI COMCTL32_DllInstall(BOOL bInstall, LPCWSTR cmdline) +HRESULT WINAPI DllInstall(BOOL bInstall, LPCWSTR cmdline) { FIXME("(%s, %s): stub\n", bInstall?"TRUE":"FALSE", debugstr_w(cmdline)); _____ Modified: vendor/wine/dlls/comctl32/current/datetime.c --- vendor/wine/dlls/comctl32/current/datetime.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/datetime.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -1164,6 +1164,15 @@ static LRESULT +DATETIME_SetFont (DATETIME_INFO *infoPtr, HFONT font, BOOL repaint) +{ + infoPtr->hFont = font; + if (repaint) InvalidateRect(infoPtr->hwndSelf, NULL, TRUE); + return 0; +} + + +static LRESULT DATETIME_Create (HWND hwnd, LPCREATESTRUCTW lpcs) { static const WCHAR SysMonthCal32W[] = { 'S', 'y', 's', 'M', 'o', 'n', 't', 'h', 'C', 'a', 'l', '3', '2', 0 }; @@ -1314,6 +1323,12 @@ case WM_STYLECHANGED: return DATETIME_StyleChanged(infoPtr, wParam, (LPSTYLESTRUCT)lParam); + case WM_SETFONT: + return DATETIME_SetFont(infoPtr, (HFONT)wParam, (BOOL)lParam); + + case WM_GETFONT: + return (LRESULT) infoPtr->hFont; + default: if ((uMsg >= WM_USER) && (uMsg < WM_APP)) ERR("unknown msg %04x wp=%08x lp=%08lx\n", _____ Modified: vendor/wine/dlls/comctl32/current/dpa.c --- vendor/wine/dlls/comctl32/current/dpa.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/dpa.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -787,11 +787,6 @@ * RETURNS * Success: index of the pointer in the array. * Failure: -1 - * - * NOTES - * Binary search taken from R.Sedgewick "Algorithms in C"! - * Function is NOT tested! - * If something goes wrong, blame HIM not ME! (Eric Kohl) */ INT WINAPI DPA_Search (const HDPA hdpa, LPVOID pFind, INT nStart, PFNDPACOMPARE pfnCompare, LPARAM lParam, UINT uOptions) @@ -807,47 +802,34 @@ INT l, r, x, n; LPVOID *lpPtr; - TRACE("binary search\n"); - l = (nStart == -1) ? 0 : nStart; r = hdpa->nItemCount - 1; lpPtr = hdpa->ptrs; while (r >= l) { x = (l + r) / 2; n = (pfnCompare)(pFind, lpPtr[x], lParam); - if (n < 0) + if (n == 0) + return x; + else if (n < 0) r = x - 1; - else + else /* (n > 0) */ l = x + 1; - if (n == 0) { - TRACE("-- ret=%d\n", n); - return n; - } } - - if (uOptions & (DPAS_INSERTBEFORE | DPAS_INSERTAFTER)) { - TRACE("-- ret=%d\n", l); - return l; - } + if (uOptions & (DPAS_INSERTBEFORE|DPAS_INSERTAFTER)) return l; } else { /* array is not sorted --> use linear search */ LPVOID *lpPtr; INT nIndex; - TRACE("linear search\n"); - nIndex = (nStart == -1)? 0 : nStart; lpPtr = hdpa->ptrs; for (; nIndex < hdpa->nItemCount; nIndex++) { - if ((pfnCompare)(pFind, lpPtr[nIndex], lParam) == 0) { - TRACE("-- ret=%d\n", nIndex); + if ((pfnCompare)(pFind, lpPtr[nIndex], lParam) == 0) return nIndex; - } } } - TRACE("-- not found: ret=-1\n"); return -1; } _____ Modified: vendor/wine/dlls/comctl32/current/header.c --- vendor/wine/dlls/comctl32/current/header.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/header.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -87,6 +87,7 @@ HIMAGELIST himl; /* handle to an image list (may be 0) */ HEADER_ITEM *items; /* pointer to array of HEADER_ITEM's */ + INT *order; /* array of item IDs indexed by order */ BOOL bRectsValid; /* validity flag for bounding rectangles */ } HEADER_INFO; @@ -113,14 +114,10 @@ { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); INT iorder = (INT)wParam; - UINT i; - if ((iorder <0) || iorder >infoPtr->uNumItem) + if ((iorder <0) || iorder >= infoPtr->uNumItem) return iorder; - for (i=0; i<infoPtr->uNumItem; i++) - if (HEADER_IndexToOrder(hwnd,i) == iorder) - return i; - return iorder; + return infoPtr->order[iorder]; } static void @@ -339,7 +336,7 @@ } DeleteObject(hClipRgn); - DeleteDC(hClipDC); + ReleaseDC(hwnd, hClipDC); } if (((phdi->fmt & HDF_STRING) @@ -385,7 +382,7 @@ } x = rect.left; - for (i = 0; i < infoPtr->uNumItem; i++) { + for (i = 0; x <= rect.right && i < infoPtr->uNumItem; i++) { x = HEADER_DrawItem (hwnd, hdc, HEADER_OrderToIndex(hwnd,i), infoPtr->iHotItem == i); } @@ -416,7 +413,7 @@ hFont = infoPtr->hFont ? infoPtr->hFont : GetStockObject (SYSTEM_FONT); hOldFont = SelectObject (hdc, hFont); - HEADER_DrawItem (hwnd, hdc, iItem, FALSE); + HEADER_DrawItem (hwnd, hdc, iItem, infoPtr->iHotItem == iItem); SelectObject (hdc, hOldFont); } @@ -647,16 +644,19 @@ if (infoPtr->items[0].pszText) Free (infoPtr->items[0].pszText); Free (infoPtr->items); + Free(infoPtr->order); infoPtr->items = 0; + infoPtr->order = 0; infoPtr->uNumItem = 0; } else { HEADER_ITEM *oldItems = infoPtr->items; - HEADER_ITEM *pItem; INT i; INT iOrder; TRACE("Complex delete! [iItem=%d]\n", iItem); + for (i = 0; i < infoPtr->uNumItem; i++) + TRACE("%d: order=%d, iOrder=%d, ->iOrder=%d\n", i, infoPtr->order[i], infoPtr->items[i].iOrder, infoPtr->items[infoPtr->order[i]].iOrder); if (infoPtr->items[iItem].pszText) Free (infoPtr->items[iItem].pszText); iOrder = infoPtr->items[iItem].iOrder; @@ -676,11 +676,21 @@ } /* Correct the orders */ - for (i=infoPtr->uNumItem, pItem = infoPtr->items; i; i--, pItem++) + if (iOrder < infoPtr->uNumItem) { - if (pItem->iOrder > iOrder) - pItem->iOrder--; + memmove(&infoPtr->order[iOrder], &infoPtr->order[iOrder + 1], + (infoPtr->uNumItem - iOrder) * sizeof(INT)); + for (i = 0; i < infoPtr->uNumItem; i++) + { + if (infoPtr->order[i] > iItem) + infoPtr->order[i]--; + if (i >= iOrder) + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; + } } + + for (i = 0; i < infoPtr->uNumItem; i++) + TRACE("%d: order=%d, iOrder=%d, ->iOrder=%d\n", i, infoPtr->order[i], infoPtr->items[i].iOrder, infoPtr->items[infoPtr->order[i]].iOrder); Free (oldItems); } @@ -850,14 +860,13 @@ static LRESULT HEADER_GetOrderArray(HWND hwnd, WPARAM wParam, LPARAM lParam) { - int i; LPINT order = (LPINT) lParam; HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); if ((unsigned int)wParam <infoPtr->uNumItem) return FALSE; - for (i=0; i<(int)wParam; i++) - *order++=HEADER_OrderToIndex(hwnd,i); + + memcpy(order, infoPtr->order, infoPtr->uNumItem * sizeof(INT)); return TRUE; } @@ -871,6 +880,7 @@ if ((unsigned int)wParam <infoPtr->uNumItem) return FALSE; + memcpy(infoPtr->order, order, infoPtr->uNumItem * sizeof(INT)); for (i=0; i<(int)wParam; i++) { lpItem = &infoPtr->items[*order++]; @@ -923,10 +933,12 @@ if (infoPtr->uNumItem == 0) { infoPtr->items = Alloc (sizeof (HEADER_ITEM)); + infoPtr->order = Alloc(sizeof(INT)); infoPtr->uNumItem++; } else { HEADER_ITEM *oldItems = infoPtr->items; + INT *oldOrder = infoPtr->order; infoPtr->uNumItem++; infoPtr->items = Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem); @@ -949,13 +961,21 @@ } } + infoPtr->order = Alloc(sizeof(INT) * infoPtr->uNumItem); + memcpy(infoPtr->order, oldOrder, iOrder * sizeof(INT)); + infoPtr->order[iOrder] = nItem; + memcpy(&infoPtr->order[iOrder + 1], &oldOrder[iOrder], + (infoPtr->uNumItem - iOrder - 1) * sizeof(INT)); + Free (oldItems); + Free(oldOrder); } - for (i=0; i < infoPtr->uNumItem; i++) + for (i = 0; i < infoPtr->uNumItem; i++) { - if (infoPtr->items[i].iOrder >= iOrder) - infoPtr->items[i].iOrder++; + if (i != iOrder && infoPtr->order[i] >= nItem) + infoPtr->order[i]++; + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; } lpItem = &infoPtr->items[nItem]; @@ -1025,10 +1045,12 @@ if (infoPtr->uNumItem == 0) { infoPtr->items = Alloc (sizeof (HEADER_ITEM)); + infoPtr->order = Alloc(sizeof(INT)); infoPtr->uNumItem++; } else { HEADER_ITEM *oldItems = infoPtr->items; + INT *oldOrder = infoPtr->order; infoPtr->uNumItem++; infoPtr->items = Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem); @@ -1051,13 +1073,21 @@ } } + infoPtr->order = Alloc(infoPtr->uNumItem * sizeof(INT)); + memcpy(infoPtr->order, oldOrder, iOrder * sizeof(INT)); + infoPtr->order[iOrder] = nItem; + memcpy(&infoPtr->order[iOrder + 1], &oldOrder[iOrder], + (infoPtr->uNumItem - iOrder - 1) * sizeof(INT)); + Free (oldItems); + Free(oldOrder); } - for (i=0; i < infoPtr->uNumItem; i++) + for (i = 0; i < infoPtr->uNumItem; i++) { - if (infoPtr->items[i].iOrder >= iOrder) - infoPtr->items[i].iOrder++; + if (i != iOrder && infoPtr->order[i] >= nItem) + infoPtr->order[i]++; + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; } lpItem = &infoPtr->items[nItem]; @@ -1143,7 +1173,7 @@ HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); HIMAGELIST himlOld; - TRACE("(himl 0x%x)\n", (int)himl); + TRACE("(himl %p)\n", himl); himlOld = infoPtr->himl; infoPtr->himl = himl; @@ -1224,7 +1254,27 @@ if (phdi->mask & HDI_ORDER) { - lpItem->iOrder = phdi->iOrder; + INT i, nMin, nMax; + + if (lpItem->iOrder < phdi->iOrder) + { + memmove(&infoPtr->order[lpItem->iOrder], + &infoPtr->order[lpItem->iOrder + 1], + (phdi->iOrder - lpItem->iOrder) * sizeof(INT)); + } + if (phdi->iOrder < lpItem->iOrder) + { + memmove(&infoPtr->order[phdi->iOrder + 1], + &infoPtr->order[phdi->iOrder], + (lpItem->iOrder - phdi->iOrder) * sizeof(INT)); + } + infoPtr->order[phdi->iOrder] = nItem; + nMin = min(lpItem->iOrder, phdi->iOrder); + nMax = max(lpItem->iOrder, phdi->iOrder); + for (i = nMin; i <= nMax; i++) + { + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; + } } HEADER_SendHeaderNotify (hwnd, HDN_ITEMCHANGEDA, nItem, phdi->mask); @@ -1289,7 +1339,27 @@ if (phdi->mask & HDI_ORDER) { - lpItem->iOrder = phdi->iOrder; + INT i, nMin, nMax; + + if (lpItem->iOrder < phdi->iOrder) + { + memmove(&infoPtr->order[lpItem->iOrder], + &infoPtr->order[lpItem->iOrder + 1], + (phdi->iOrder - lpItem->iOrder) * sizeof(INT)); + } + if (phdi->iOrder < lpItem->iOrder) + { + memmove(&infoPtr->order[phdi->iOrder + 1], + &infoPtr->order[phdi->iOrder], + (lpItem->iOrder - phdi->iOrder) * sizeof(INT)); + } + infoPtr->order[phdi->iOrder] = nItem; + nMin = min(lpItem->iOrder, phdi->iOrder); + nMax = max(lpItem->iOrder, phdi->iOrder); + for (i = nMin; i <= nMax; i++) + { + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; + } } HEADER_SendHeaderNotify(hwnd, HDN_ITEMCHANGEDW, nItem, phdi->mask); @@ -1320,7 +1390,6 @@ TEXTMETRICW tm; HFONT hOldFont; HDC hdc; - BOOL themingActive = IsAppThemed() && IsThemeActive(); infoPtr = (HEADER_INFO *)Alloc (sizeof(HEADER_INFO)); SetWindowLongPtrW (hwnd, 0, (DWORD_PTR)infoPtr); @@ -1329,6 +1398,7 @@ infoPtr->uNumItem = 0; infoPtr->hFont = 0; infoPtr->items = 0; + infoPtr->order = 0; infoPtr->bRectsValid = FALSE; infoPtr->hcurArrow = LoadCursorW (0, (LPWSTR)IDC_ARROW); infoPtr->hcurDivider = LoadCursorW (COMCTL32_hModule, MAKEINTRESOURCEW(IDC_DIVIDER)); @@ -1350,7 +1420,7 @@ SelectObject (hdc, hOldFont); ReleaseDC (0, hdc); - if (themingActive) OpenThemeData(hwnd, themeClass); + OpenThemeData(hwnd, themeClass); return 0; } @@ -1373,6 +1443,9 @@ Free (infoPtr->items); } + if (infoPtr->order) + Free(infoPtr->order); + if (infoPtr->himl) ImageList_Destroy (infoPtr->himl); @@ -1506,6 +1579,9 @@ lpItem= &infoPtr->items[infoPtr->iMoveItem]; lpItem->iOrder = newindex; + infoPtr->order[oldindex] = nItem; + infoPtr->order[newindex] = infoPtr->iMoveItem; + infoPtr->bRectsValid = FALSE; InvalidateRect(hwnd, NULL, FALSE); /* FIXME: Should some WM_NOTIFY be sent */ @@ -1581,6 +1657,22 @@ static LRESULT +HEADER_MouseLeave (HWND hwnd, WPARAM wParam, LPARAM lParam) +{ + HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); + /* Reset hot-tracked item when mouse leaves control. */ + INT oldHotItem = infoPtr->iHotItem; + HDC hdc = GetDC (hwnd); + + infoPtr->iHotItem = -1; + if (oldHotItem != -1) HEADER_RefreshItem (hwnd, hdc, oldHotItem); + ReleaseDC (hwnd, hdc); + + return 0; +} + + +static LRESULT HEADER_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); @@ -1589,28 +1681,35 @@ UINT flags; INT nItem, nWidth; HDC hdc; + /* With theming, hottracking is always enabled */ + BOOL hotTrackEnabled = + ((dwStyle & HDS_BUTTONS) && (dwStyle & HDS_HOTTRACK)) + || (GetWindowTheme (hwnd) != NULL); + INT oldHotItem = infoPtr->iHotItem; pt.x = (INT)(SHORT)LOWORD(lParam); pt.y = (INT)(SHORT)HIWORD(lParam); HEADER_InternalHitTest (hwnd, &pt, &flags, &nItem); - if ((dwStyle & HDS_BUTTONS) && (dwStyle & HDS_HOTTRACK)) { + if (hotTrackEnabled) { if (flags & (HHT_ONHEADER | HHT_ONDIVIDER | HHT_ONDIVOPEN)) infoPtr->iHotItem = nItem; else infoPtr->iHotItem = -1; - InvalidateRect(hwnd, NULL, FALSE); } if (infoPtr->bCaptured) { if (infoPtr->bPressed) { + BOOL oldState = infoPtr->items[infoPtr->iMoveItem].bDown; if ((nItem == infoPtr->iMoveItem) && (flags == HHT_ONHEADER)) infoPtr->items[infoPtr->iMoveItem].bDown = TRUE; else infoPtr->items[infoPtr->iMoveItem].bDown = FALSE; - hdc = GetDC (hwnd); - HEADER_RefreshItem (hwnd, hdc, infoPtr->iMoveItem); - ReleaseDC (hwnd, hdc); + if (oldState != infoPtr->items[infoPtr->iMoveItem].bDown) { + hdc = GetDC (hwnd); + HEADER_RefreshItem (hwnd, hdc, infoPtr->iMoveItem); + ReleaseDC (hwnd, hdc); + } TRACE("Moving pressed item %d!\n", infoPtr->iMoveItem); } @@ -1643,8 +1742,18 @@ } } - if ((dwStyle & HDS_BUTTONS) && (dwStyle & HDS_HOTTRACK)) { - FIXME("hot track support!\n"); + if (hotTrackEnabled) { + TRACKMOUSEEVENT tme; + if (oldHotItem != infoPtr->iHotItem) { + hdc = GetDC (hwnd); + if (oldHotItem != -1) HEADER_RefreshItem (hwnd, hdc, oldHotItem); + if (infoPtr->iHotItem != -1) HEADER_RefreshItem (hwnd, hdc, infoPtr->iHotItem); + ReleaseDC (hwnd, hdc); + } + tme.cbSize = sizeof( tme ); + tme.dwFlags = TME_LEAVE; + tme.hwndTrack = hwnd; + TrackMouseEvent( &tme ); } return 0; @@ -1854,6 +1963,9 @@ case WM_LBUTTONUP: return HEADER_LButtonUp (hwnd, wParam, lParam); + case WM_MOUSELEAVE: + return HEADER_MouseLeave (hwnd, wParam, lParam); + case WM_MOUSEMOVE: return HEADER_MouseMove (hwnd, wParam, lParam); _____ Modified: vendor/wine/dlls/comctl32/current/imagelist.c --- vendor/wine/dlls/comctl32/current/imagelist.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/imagelist.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -1084,8 +1084,8 @@ bMask = (himl->flags & ILC_MASK) && (fStyle & ILD_MASK) ; bBlend = (fStyle & (ILD_BLEND25 | ILD_BLEND50) ) && !bMask; - TRACE("himl(0x%lx) hbmMask(%p) iImage(%d) x(%d) y(%d) cx(%d) cy(%d)\n", - (DWORD)himl, himl->hbmMask, pimldp->i, pimldp->x, pimldp->y, cx, cy); + TRACE("himl(%p) hbmMask(%p) iImage(%d) x(%d) y(%d) cx(%d) cy(%d)\n", + himl, himl->hbmMask, pimldp->i, pimldp->x, pimldp->y, cx, cy); /* we will use these DCs to access the images and masks in the ImageList */ hImageListDC = himl->hdcImage; _____ Modified: vendor/wine/dlls/comctl32/current/ipaddress.c --- vendor/wine/dlls/comctl32/current/ipaddress.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/ipaddress.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -143,7 +143,7 @@ fgCol = COLOR_GRAYTEXT; } - FillRect (hdc, &rect, (HBRUSH) (bgCol+1)); + FillRect (hdc, &rect, (HBRUSH)(DWORD_PTR)(bgCol+1)); DrawEdge (hdc, &rect, EDGE_SUNKEN, BF_RECT | BF_ADJUST); SetBkColor (hdc, GetSysColor(bgCol)); _____ Modified: vendor/wine/dlls/comctl32/current/listview.c --- vendor/wine/dlls/comctl32/current/listview.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/listview.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -379,6 +379,9 @@ #define LV_FL_DT_FLAGS (DT_TOP | DT_NOPREFIX | DT_EDITCONTROL | DT_CENTER | DT_WORDBREAK | DT_NOCLIP) #define LV_SL_DT_FLAGS (DT_VCENTER | DT_NOPREFIX | DT_EDITCONTROL | DT_SINGLELINE | DT_WORD_ELLIPSIS | DT_END_ELLIPSIS) +/* Image index from state */ +#define STATEIMAGEINDEX(x) (((x) & LVIS_STATEIMAGEMASK) >> 12) + /* The time in milliseconds to reset the search in the list */ #define KEY_DELAY 450 @@ -1243,8 +1246,8 @@ TRACE("building icon ranges:\n"); for (nItem = 0; nItem < infoPtr->nItemCount; nItem++) { - rcItem.left = (LONG)DPA_GetPtr(infoPtr->hdpaPosX, nItem); - rcItem.top = (LONG)DPA_GetPtr(infoPtr->hdpaPosY, nItem); + rcItem.left = (LONG_PTR)DPA_GetPtr(infoPtr->hdpaPosX, nItem); [truncated at 1000 lines; 24299 more skipped]
19 years, 3 months
1
0
0
0
[gvg] 17654: svn maintenance: ignore generated GNUmakefile
by gvg@svn.reactos.com
svn maintenance: ignore generated GNUmakefile Property changes on: trunk/reactos/apps/utils/net/arp ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/finger ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/ftp ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/ipconfig ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/netstat ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/ping ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/route ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/telnet ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/tracert ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/net/whois ___________________________________________________________________ Name: svn:ignore - *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map makefile + *.sys *.exe *.dll *.cpl *.a *.o *.d *.coff *.dsp *.dsw *.aps *.ncb *.opt *.sym *.plg *.bak *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/ps ___________________________________________________________________ Name: svn:ignore - *.o *.a *.d *.exe *.coff *.sym *.map makefile + *.o *.a *.d *.exe *.coff *.sym *.map GNUmakefile Property changes on: trunk/reactos/apps/utils/rosperf ___________________________________________________________________ Name: svn:ignore - *.o *.a *.d *.exe *.coff *.sym *.map makefile + *.o *.a *.d *.exe *.coff *.sym *.map GNUmakefile Property changes on: trunk/reactos/boot/freeldr/bootsect ___________________________________________________________________ Name: svn:ignore - *.exe makefile + *.exe GNUmakefile Property changes on: trunk/reactos/boot/freeldr/freeldr ___________________________________________________________________ Name: svn:ignore - *.d *.map *.exe *.sys makefile + *.d *.map *.exe *.sys GNUmakefile Property changes on: trunk/reactos/boot/freeldr/install ___________________________________________________________________ Name: svn:ignore - *.exe makefile + *.exe GNUmakefile Property changes on: trunk/reactos/bootdata/bootcd ___________________________________________________________________ Name: svn:ignore - makefile + GNUmakefile Property changes on: trunk/reactos/bootdata/livecd ___________________________________________________________________ Name: svn:ignore - makefile + GNUmakefile Property changes on: trunk/reactos/drivers/bus/acpi ___________________________________________________________________ Name: svn:ignore - *.a *.d *.o *.sym *.sys *.map *.tmp acpi.coff objects makefile + *.a *.d *.o *.sym *.sys *.map *.tmp acpi.coff objects GNUmakefile Property changes on: trunk/reactos/drivers/bus/isapnp ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp isapnp.coff isapnp.sys.unstripped *.d *.o *.a *.sym *.sys *.map makefile + base.tmp junk.tmp temp.exp isapnp.coff isapnp.sys.unstripped *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/bus/pci ___________________________________________________________________ Name: svn:ignore - *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/bus/serenum ___________________________________________________________________ Name: svn:ignore - *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/beep ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/blue ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/bootvid ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/debugout ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/mpu401 ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/null ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/parallel ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/ramdrv ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/serial ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/sndblst ___________________________________________________________________ Name: svn:ignore - *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map makefile + *.tmp *.exp *.coff *.d *.o *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/dd/sound ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp *.coff *.sys *.sym *.map makefile + base.tmp junk.tmp temp.exp *.coff *.sys *.sym *.map GNUmakefile Property changes on: trunk/reactos/drivers/fs/cdfs ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp cdfs.coff *.d *.sys *.o *.a *.sym *.map makefile + base.tmp junk.tmp temp.exp cdfs.coff *.d *.sys *.o *.a *.sym *.map GNUmakefile Property changes on: trunk/reactos/drivers/fs/fs_rec ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp fs_rec.coff *.d *.o *.a *.sym *.sys *.map makefile + base.tmp junk.tmp temp.exp fs_rec.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/fs/ms ___________________________________________________________________ Name: svn:ignore - msfs.coff *.o *.a *.sym *.sys *.map makefile + msfs.coff *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/fs/mup ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp mup.coff *.o *.a *.sys *.sym *.map makefile + base.tmp junk.tmp temp.exp mup.coff *.o *.a *.sys *.sym *.map GNUmakefile Property changes on: trunk/reactos/drivers/fs/np ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp npfs.coff *.d *.o *.a *.sym *.sys *.map makefile + base.tmp junk.tmp temp.exp npfs.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/fs/ntfs ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp ntfs.coff *.d *.o *.a *.sym *.sys *.map makefile + base.tmp junk.tmp temp.exp ntfs.coff *.d *.o *.a *.sym *.sys *.map GNUmakefile Property changes on: trunk/reactos/drivers/fs/vfat ___________________________________________________________________ Name: svn:ignore - base.tmp junk.tmp temp.exp vfatfs.coff *.d *.o *.a *.sys *.sym *.map makefile + base.tmp junk.tmp temp.exp vfatfs.coff *.d *.o *.a *.sys *.sym *.map GNUmakefile Property changes on: trunk/reactos/drivers/input/i8042prt ___________________________________________________________________ Name: svn:ignore - *.coff *.o *.a *.sys *.sym *.map makefile + *.coff *.o *.a *.sys *.sym *.map GNUmakefile Property changes on: trunk/reactos/drivers/input/kbdclass ___________________________________________________________________ Name: svn:ignore - *.coff *.o *.a *.sys *.sym *.map makefile + *.coff *.o *.a *.sys *.sym *.map GNUmakefile Property changes on: trunk/reactos/drivers/input/mouclass ___________________________________________________________________ Name: svn:ignore - mouclass.coff *.o *.a *.sym [truncated at 1000 lines; 4733 more skipped]
19 years, 3 months
1
0
0
0
[hpoussin] 17653: Fix the build. TIB field in KIPCR structure is named NtTib, not Tib
by hpoussin@svn.reactos.com
Fix the build. TIB field in KIPCR structure is named NtTib, not Tib Modified: trunk/reactos/ntoskrnl/kdbg/kdb_cli.c _____ Modified: trunk/reactos/ntoskrnl/kdbg/kdb_cli.c --- trunk/reactos/ntoskrnl/kdbg/kdb_cli.c 2005-09-05 07:51:15 UTC (rev 17652) +++ trunk/reactos/ntoskrnl/kdbg/kdb_cli.c 2005-09-05 07:59:29 UTC (rev 17653) @@ -1450,9 +1450,9 @@ " VdmAlert: 0x%08x\n" " L2CacheSize: 0x%08x\n" " InterruptMode: 0x%08x\n", - Pcr->Tib.ExceptionList, Pcr->Tib.StackBase, Pcr->Tib.StackLimit, - Pcr->Tib.SubSystemTib, Pcr->Tib.FiberData, Pcr->Tib.ArbitraryUserPointer, - Pcr->Tib.Self, Pcr->Self, Pcr->Prcb, Pcr->Irql, Pcr->IRR, Pcr->IrrActive, + Pcr->NtTib.ExceptionList, Pcr->NtTib.StackBase, Pcr->NtTib.StackLimit, + Pcr->NtTib.SubSystemTib, Pcr->NtTib.FiberData, Pcr->NtTib.ArbitraryUserPointer, + Pcr->NtTib.Self, Pcr->Self, Pcr->Prcb, Pcr->Irql, Pcr->IRR, Pcr->IrrActive, Pcr->IDR, Pcr->KdVersionBlock, Pcr->IDT, Pcr->GDT, Pcr->TSS, Pcr->MajorVersion, Pcr->MinorVersion, Pcr->SetMember, Pcr->StallScaleFactor, Pcr->Number, Pcr->L2CacheAssociativity,
19 years, 3 months
1
0
0
0
[ion] 17652: - More NDK/MSDDK compatibility fixes.
by ion@svn.reactos.com
- More NDK/MSDDK compatibility fixes. Modified: trunk/reactos/include/ndk/ifssupp.h Modified: trunk/reactos/include/ndk/ldrfuncs.h Modified: trunk/reactos/include/ndk/pstypes.h Modified: trunk/reactos/include/ndk/rtlfuncs.h Modified: trunk/reactos/include/ndk/rtltypes.h Modified: trunk/reactos/include/ndk/sefuncs.h Modified: trunk/reactos/include/ndk/umtypes.h Modified: trunk/reactos/include/ndk/zwfuncs.h Modified: trunk/reactos/include/ndk/zwtypes.h Modified: trunk/reactos/lib/kernel32/file/lock.c Modified: trunk/reactos/lib/ntdll/inc/ntdll.h Modified: trunk/reactos/lib/rtl/rtl.h Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c Modified: trunk/reactos/ntoskrnl/io/file.c Modified: trunk/reactos/ntoskrnl/lpc/query.c Modified: trunk/reactos/ntoskrnl/mm/virtual.c Modified: trunk/reactos/ntoskrnl/se/audit.c Modified: trunk/reactos/w32api/include/ddk/ntddk.h Modified: trunk/reactos/w32api/include/ddk/ntifs.h Modified: trunk/reactos/w32api/include/ddk/winddk.h Modified: trunk/reactos/w32api/include/winnt.h _____ Modified: trunk/reactos/include/ndk/ifssupp.h --- trunk/reactos/include/ndk/ifssupp.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/ifssupp.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -112,5 +112,12 @@ TOKEN_CONTROL ClientTokenControl; } SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT; +typedef enum _RTL_GENERIC_COMPARE_RESULTS +{ + GenericLessThan, + GenericGreaterThan, + GenericEqual +} RTL_GENERIC_COMPARE_RESULTS; + #endif _____ Modified: trunk/reactos/include/ndk/ldrfuncs.h --- trunk/reactos/include/ndk/ldrfuncs.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/ldrfuncs.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -11,6 +11,8 @@ /* DEPENDENCIES **************************************************************/ #include "ldrtypes.h" +/* FIXME: this needs be implemented in the w32api ddk */ +//#include "ntimage.h" /* FUNCTION TYPES ************************************************************/ _____ Modified: trunk/reactos/include/ndk/pstypes.h --- trunk/reactos/include/ndk/pstypes.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/pstypes.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -123,6 +123,14 @@ ProcessDebugObjectHandle, ProcessDebugFlags, ProcessHandleTracing, + ProcessIoPriority, + ProcessExecuteFlags, + ProcessTlsInformation, + ProcessCookie, + ProcessImageInformation, + ProcessCycleTime, + ProcessPagePriority, + ProcessInstrumentationCallback, MaxProcessInfoClass } PROCESSINFOCLASS; @@ -147,10 +155,34 @@ ThreadIsIoPending, ThreadHideFromDebugger, ThreadBreakOnTermination, + ThreadSwitchLegacyState, + ThreadIsTerminated, + ThreadLastSystemCall, + ThreadIoPriority, + ThreadCycleTime, + ThreadPagePriority, + ThreadActualBasePriority, MaxThreadInfoClass } THREADINFOCLASS; #endif +#ifndef NTOS_MODE_USER +typedef enum _JOBOBJECTINFOCLASS +{ + JobObjectBasicAccountingInformation = 1, + JobObjectBasicLimitInformation, + JobObjectBasicProcessIdList, + JobObjectBasicUIRestrictions, + JobObjectSecurityLimitInformation, + JobObjectEndOfJobTimeInformation, + JobObjectAssociateCompletionPortInformation, + JobObjectBasicAndIoAccountingInformation, + JobObjectExtendedLimitInformation, + JobObjectJobSetInformation, + MaxJobObjectInfoClass +} JOBOBJECTINFOCLASS; +#endif + /* FUNCTION TYPES ************************************************************/ typedef VOID (NTAPI *PPEBLOCKROUTINE)(PVOID); @@ -360,6 +392,53 @@ UCHAR BooleanSpare[3]; /* FB9h */ } TEB, *PTEB; +#ifdef NTOS_MODE_USER +typedef struct _PROCESS_BASIC_INFORMATION +{ + NTSTATUS ExitStatus; + PPEB PebBaseAddress; + ULONG_PTR AffinityMask; + KPRIORITY BasePriority; + ULONG_PTR UniqueProcessId; + ULONG_PTR InheritedFromUniqueProcessId; +} PROCESS_BASIC_INFORMATION,*PPROCESS_BASIC_INFORMATION; + +typedef struct _PROCESS_ACCESS_TOKEN +{ + HANDLE Token; + HANDLE Thread; +} PROCESS_ACCESS_TOKEN, *PPROCESS_ACCESS_TOKEN; + +typedef struct _PROCESS_DEVICEMAP_INFORMATION +{ + union + { + struct + { + HANDLE DirectoryHandle; + } Set; + struct + { + ULONG DriveMap; + UCHAR DriveType[32]; + } Query; + }; +} PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION; + +typedef struct _KERNEL_USER_TIMES +{ + LARGE_INTEGER CreateTime; + LARGE_INTEGER ExitTime; + LARGE_INTEGER KernelTime; + LARGE_INTEGER UserTime; +} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES; + +typedef struct _PROCESS_SESSION_INFORMATION +{ + ULONG SessionId; +} PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION; +#endif + #ifndef NTOS_MODE_USER /* FIXME: see note in mmtypes.h */ #ifdef _NTOSKRNL_ _____ Modified: trunk/reactos/include/ndk/rtlfuncs.h --- trunk/reactos/include/ndk/rtlfuncs.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/rtlfuncs.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -93,7 +93,7 @@ STDCALL RtlCompactHeap( HANDLE heap, - DWORD flags + ULONG flags ); HANDLE _____ Modified: trunk/reactos/include/ndk/rtltypes.h --- trunk/reactos/include/ndk/rtltypes.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/rtltypes.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -91,12 +91,15 @@ #define VER_CONDITION_MASK 7 #define VER_NUM_BITS_PER_CONDITION_MASK 3 +#define RTL_CRITSECT_TYPE 0 +#define RTL_RESOURCE_TYPE 1 + +#ifdef NTOS_MODE_USER /* RTL String Hash Algorithms */ #define HASH_STRING_ALGORITHM_DEFAULT 0 #define HASH_STRING_ALGORITHM_X65599 1 #define HASH_STRING_ALGORITHM_INVALID 0xffffffff -#ifdef NTOS_MODE_USER /* List Macros */ static __inline VOID @@ -231,6 +234,7 @@ /* ENUMERATIONS **************************************************************/ +#ifdef NTOS_MODE_USER typedef enum _TABLE_SEARCH_RESULT { TableEmptyTree, @@ -245,6 +249,7 @@ GenericGreaterThan, GenericEqual } RTL_GENERIC_COMPARE_RESULTS; +#endif typedef enum { @@ -281,8 +286,8 @@ PEXCEPTION_POINTERS ExceptionPointers ); -typedef DWORD (NTAPI *PTHREAD_START_ROUTINE)( - LPVOID Parameter +typedef ULONG (NTAPI *PTHREAD_START_ROUTINE)( + PVOID Parameter ); typedef VOID @@ -315,7 +320,7 @@ typedef PVOID (NTAPI *PRTL_GENERIC_ALLOCATE_ROUTINE) ( struct _RTL_GENERIC_TABLE *Table, - LONG ByteSize + CLONG ByteSize ); typedef VOID @@ -324,10 +329,10 @@ PVOID Buffer ); -typedef VOID +typedef PVOID (NTAPI *PRTL_AVL_ALLOCATE_ROUTINE) ( struct _RTL_AVL_TABLE *Table, - LONG ByteSize + CLONG ByteSize ); typedef VOID @@ -353,11 +358,14 @@ IN OUT PSIZE_T CommitSize ); +#ifdef NTOS_MODE_USER typedef BOOLEAN (NTAPI *PRTL_CONFLICT_RANGE_CALLBACK) ( PVOID Context, struct _RTL_RANGE *Range ); +#endif + /* TYPES *********************************************************************/ #ifdef NTOS_MODE_USER @@ -634,6 +642,30 @@ UNICODE_STRING DosPath; } RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR; +#ifndef NTOS_MODE_USER +typedef struct _RTL_CRITICAL_SECTION_DEBUG +{ + USHORT Type; + USHORT CreatorBackTraceIndex; + struct _RTL_CRITICAL_SECTION *CriticalSection; + LIST_ENTRY ProcessLocksList; + ULONG EntryCount; + ULONG ContentionCount; + ULONG Spare[2]; +} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG; + +typedef struct _RTL_CRITICAL_SECTION +{ + PRTL_CRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + ULONG_PTR SpinCount; +} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION; +#endif + +#ifdef NTOS_MODE_USER typedef struct _RTL_RANGE_LIST { LIST_ENTRY ListHead; @@ -652,6 +684,16 @@ UCHAR Flags; /* RTL_RANGE_... flags */ } RTL_RANGE, *PRTL_RANGE; +typedef struct _RANGE_LIST_ITERATOR +{ + PLIST_ENTRY RangeListHead; + PLIST_ENTRY MergedHead; + PVOID Current; + ULONG Stamp; +} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR; + +#endif + typedef struct _RTL_RESOURCE { RTL_CRITICAL_SECTION Lock; @@ -665,14 +707,6 @@ PVOID DebugInfo; /* ?? */ } RTL_RESOURCE, *PRTL_RESOURCE; -typedef struct _RANGE_LIST_ITERATOR -{ - PLIST_ENTRY RangeListHead; - PLIST_ENTRY MergedHead; - PVOID Current; - ULONG Stamp; -} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR; - typedef struct _RTL_MESSAGE_RESOURCE_ENTRY { USHORT Length; @@ -779,41 +813,41 @@ PRTL_ATOM_TABLE_ENTRY Buckets[1]; } RTL_ATOM_TABLE, *PRTL_ATOM_TABLE; -/* Let Kernel Drivers use this */ -#if !defined(_WINBASE_H) && !defined(_WINBASE_) - typedef struct _SYSTEMTIME - { - WORD wYear; - WORD wMonth; - WORD wDayOfWeek; - WORD wDay; - WORD wHour; - WORD wMinute; - WORD wSecond; - WORD wMilliseconds; - } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; +#ifndef NTOS_MODE_USER + +typedef struct _SYSTEMTIME +{ + USHORT wYear; + USHORT wMonth; + USHORT wDayOfWeek; + USHORT wDay; + USHORT wHour; + USHORT wMinute; + USHORT wSecond; + USHORT wMilliseconds; +} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; - typedef struct _TIME_ZONE_INFORMATION - { - LONG Bias; - WCHAR StandardName[32]; - SYSTEMTIME StandardDate; - LONG StandardBias; - WCHAR DaylightName[32]; - SYSTEMTIME DaylightDate; - LONG DaylightBias; - } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; +typedef struct _TIME_ZONE_INFORMATION +{ + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; - typedef enum _ACL_INFORMATION_CLASS - { - AclRevisionInformation = 1, - AclSizeInformation - } ACL_INFORMATION_CLASS; +typedef enum _ACL_INFORMATION_CLASS +{ + AclRevisionInformation = 1, + AclSizeInformation +} ACL_INFORMATION_CLASS; - #define TIME_ZONE_ID_UNKNOWN 0 - #define TIME_ZONE_ID_STANDARD 1 - #define TIME_ZONE_ID_DAYLIGHT 2 - #define TIME_ZONE_ID_INVALID 0xFFFFFFFF +#define TIME_ZONE_ID_UNKNOWN 0 +#define TIME_ZONE_ID_STANDARD 1 +#define TIME_ZONE_ID_DAYLIGHT 2 +#define TIME_ZONE_ID_INVALID 0xFFFFFFFF #endif #endif _____ Modified: trunk/reactos/include/ndk/sefuncs.h --- trunk/reactos/include/ndk/sefuncs.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/sefuncs.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -46,13 +46,6 @@ IN BOOLEAN CaptureIfKernelMode ); -VOID -NTAPI -SeSetAccessStateGenericMapping( - IN PACCESS_STATE AccessState, - IN PGENERIC_MAPPING GenericMapping -); - SECURITY_IMPERSONATION_LEVEL NTAPI SeTokenImpersonationLevel( _____ Modified: trunk/reactos/include/ndk/umtypes.h --- trunk/reactos/include/ndk/umtypes.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/umtypes.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -61,15 +61,24 @@ #undef STATUS_SXS_INVALID_DEACTIVATION #include <ntstatus.h> -#define STATIC static /* CONSTANTS *****************************************************************/ /* NTAPI/NTOSAPI Define */ +#define DECLSPEC_ADDRSAFE #define NTAPI __stdcall -#define NTOSAPI #define FASTCALL __fastcall -#define STDCALL __stdcall +#if !defined(_NTSYSTEM_) +#define NTSYSAPI DECLSPEC_IMPORT +#define NTSYSCALLAPI DECLSPEC_IMPORT +#else +#define NTSYSAPI +#if defined(_NTDLLBUILD_) +#define NTSYSCALLAPI +#else +#define NTSYSCALLAPI DECLSPEC_ADDRSAFE +#endif +#endif /* Native API Return Value Macros */ #define NT_SUCCESS(x) ((x)>=0) @@ -81,10 +90,12 @@ /* Basic Types that aren't defined in User-Mode Headers */ typedef CONST int CINT; typedef CONST char *PCSZ; +typedef ULONG CLONG; typedef short CSHORT; typedef CSHORT *PCSHORT; typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS; typedef LONG NTSTATUS, *PNTSTATUS; +#define STATIC static /* Basic NT Types */ #if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H) _____ Modified: trunk/reactos/include/ndk/zwfuncs.h --- trunk/reactos/include/ndk/zwfuncs.h 2005-09-05 04:48:20 UTC (rev 17651) +++ trunk/reactos/include/ndk/zwfuncs.h 2005-09-05 07:51:15 UTC (rev 17652) @@ -18,7 +18,7 @@ /* PROTOTYPES ****************************************************************/ NTSTATUS -STDCALL +NTAPI NtAcceptConnectPort( PHANDLE PortHandle, PVOID PortContext OPTIONAL, @@ -29,7 +29,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwAcceptConnectPort( PHANDLE PortHandle, PVOID PortContext OPTIONAL, @@ -40,7 +40,7 @@ ); NTSTATUS -STDCALL +NTAPI NtAccessCheck( IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN HANDLE ClientToken, @@ -53,7 +53,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwAccessCheck( IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN HANDLE ClientToken, @@ -65,11 +65,12 @@ OUT PNTSTATUS AccessStatus ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtAccessCheckAndAuditAlarm( IN PUNICODE_STRING SubsystemName, - IN PHANDLE ObjectHandle, + IN PVOID HandleId, IN PUNICODE_STRING ObjectTypeName, IN PUNICODE_STRING ObjectName, IN PSECURITY_DESCRIPTOR SecurityDescriptor, @@ -82,7 +83,7 @@ ); NTSTATUS -STDCALL +NTAPI NtAddAtom( IN PWSTR AtomName, IN ULONG AtomNameLength, @@ -90,7 +91,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwAddAtom( IN PWSTR AtomName, IN ULONG AtomNameLength, @@ -98,21 +99,22 @@ ); NTSTATUS -STDCALL +NTAPI NtAddBootEntry( IN PUNICODE_STRING EntryName, IN PUNICODE_STRING EntryValue ); NTSTATUS -STDCALL +NTAPI ZwAddBootEntry( IN PUNICODE_STRING EntryName, IN PUNICODE_STRING EntryValue ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtAdjustGroupsToken( IN HANDLE TokenHandle, IN BOOLEAN ResetToDefault, @@ -123,7 +125,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwAdjustGroupsToken( IN HANDLE TokenHandle, IN BOOLEAN ResetToDefault, @@ -133,8 +135,9 @@ OUT PULONG ReturnLength ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtAdjustPrivilegesToken( IN HANDLE TokenHandle, IN BOOLEAN DisableAllPrivileges, @@ -145,7 +148,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwAdjustPrivilegesToken( IN HANDLE TokenHandle, IN BOOLEAN DisableAllPrivileges, @@ -156,45 +159,45 @@ ); NTSTATUS -STDCALL +NTAPI NtAlertResumeThread( IN HANDLE ThreadHandle, OUT PULONG SuspendCount ); NTSTATUS -STDCALL +NTAPI ZwAlertResumeThread( IN HANDLE ThreadHandle, OUT PULONG SuspendCount ); NTSTATUS -STDCALL +NTAPI NtAlertThread( IN HANDLE ThreadHandle ); NTSTATUS -STDCALL +NTAPI ZwAlertThread( IN HANDLE ThreadHandle ); NTSTATUS -STDCALL +NTAPI NtAllocateLocallyUniqueId( OUT LUID *LocallyUniqueId ); NTSTATUS -STDCALL +NTAPI ZwAllocateLocallyUniqueId( OUT PLUID Luid ); NTSTATUS -STDCALL +NTAPI NtAllocateUuids( PULARGE_INTEGER Time, PULONG Range, @@ -203,7 +206,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwAllocateUuids( PULARGE_INTEGER Time, PULONG Range, @@ -211,8 +214,9 @@ PUCHAR Seed ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtAllocateVirtualMemory( IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, @@ -222,8 +226,9 @@ IN ULONG Protect ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI ZwAllocateVirtualMemory( IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, @@ -234,21 +239,21 @@ ); NTSTATUS -STDCALL +NTAPI NtAssignProcessToJobObject( HANDLE JobHandle, HANDLE ProcessHandle ); NTSTATUS -STDCALL +NTAPI ZwAssignProcessToJobObject( HANDLE JobHandle, HANDLE ProcessHandle ); NTSTATUS -STDCALL +NTAPI NtCallbackReturn( PVOID Result, ULONG ResultLength, @@ -256,7 +261,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwCallbackReturn( PVOID Result, ULONG ResultLength, @@ -264,40 +269,40 @@ ); NTSTATUS -STDCALL +NTAPI NtCancelIoFile( IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock ); NTSTATUS -STDCALL +NTAPI ZwCancelIoFile( IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock ); NTSTATUS -STDCALL +NTAPI NtCancelTimer( IN HANDLE TimerHandle, OUT PBOOLEAN CurrentState OPTIONAL ); NTSTATUS -STDCALL +NTAPI NtClearEvent( IN HANDLE EventHandle ); NTSTATUS -STDCALL +NTAPI ZwClearEvent( IN HANDLE EventHandle ); NTSTATUS -STDCALL +NTAPI NtCreateJobObject( PHANDLE JobHandle, ACCESS_MASK DesiredAccess, @@ -305,27 +310,30 @@ ); NTSTATUS -STDCALL +NTAPI ZwCreateJobObject( PHANDLE JobHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtClose( IN HANDLE Handle ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI ZwClose( IN HANDLE Handle ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtCloseObjectAuditAlarm( IN PUNICODE_STRING SubsystemName, IN PVOID HandleId, @@ -333,7 +341,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwCloseObjectAuditAlarm( IN PUNICODE_STRING SubsystemName, IN PVOID HandleId, @@ -341,19 +349,20 @@ ); NTSTATUS -STDCALL +NTAPI NtCompleteConnectPort( HANDLE PortHandle ); NTSTATUS -STDCALL +NTAPI ZwCompleteConnectPort( HANDLE PortHandle ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtConnectPort( PHANDLE PortHandle, PUNICODE_STRING PortName, @@ -365,8 +374,9 @@ PULONG ConnectionInformationLength OPTIONAL ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI ZwConnectPort( PHANDLE PortHandle, PUNICODE_STRING PortName, @@ -379,29 +389,30 @@ ); NTSTATUS -STDCALL +NTAPI NtContinue( IN PCONTEXT Context, IN BOOLEAN TestAlert ); NTSTATUS -STDCALL +NTAPI ZwContinue( IN PCONTEXT Context, - IN CINT IrqLevel + IN BOOLEAN TestAlert ); NTSTATUS -STDCALL +NTAPI NtCreateDirectoryObject( OUT PHANDLE DirectoryHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI ZwCreateDirectoryObject( OUT PHANDLE DirectoryHandle, IN ACCESS_MASK DesiredAccess, @@ -409,7 +420,7 @@ ); NTSTATUS -STDCALL +NTAPI NtCreateEvent( OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, @@ -418,8 +429,9 @@ IN BOOLEAN InitialState ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI ZwCreateEvent( OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, @@ -429,7 +441,7 @@ ); NTSTATUS -STDCALL +NTAPI NtCreateEventPair( OUT PHANDLE EventPairHandle, IN ACCESS_MASK DesiredAccess, @@ -437,15 +449,16 @@ ); NTSTATUS -STDCALL +NTAPI ZwCreateEventPair( OUT PHANDLE EventPairHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes ); +NTSYSCALLAPI NTSTATUS -STDCALL +NTAPI NtCreateFile( OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, @@ -460,8 +473,9 @@ IN ULONG EaLength ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI ZwCreateFile( OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, @@ -477,7 +491,7 @@ ); NTSTATUS -STDCALL +NTAPI NtCreateIoCompletion( OUT PHANDLE IoCompletionHandle, IN ACCESS_MASK DesiredAccess, @@ -486,7 +500,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwCreateIoCompletion( OUT PHANDLE IoCompletionHandle, IN ACCESS_MASK DesiredAccess, @@ -495,7 +509,7 @@ ); NTSTATUS -STDCALL +NTAPI NtCreateKey( OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, @@ -506,8 +520,9 @@ IN PULONG Disposition OPTIONAL ); +NTSYSAPI NTSTATUS -STDCALL +NTAPI ZwCreateKey( OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, @@ -519,7 +534,7 @@ ); NTSTATUS -STDCALL +NTAPI NtCreateMailslotFile( OUT PHANDLE MailSlotFileHandle, IN ACCESS_MASK DesiredAccess, @@ -532,7 +547,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwCreateMailslotFile( OUT PHANDLE MailSlotFileHandle, IN ACCESS_MASK DesiredAccess, @@ -545,7 +560,7 @@ ); NTSTATUS -STDCALL +NTAPI NtCreateMutant( OUT PHANDLE MutantHandle, IN ACCESS_MASK DesiredAccess, @@ -554,7 +569,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwCreateMutant( OUT PHANDLE MutantHandle, IN ACCESS_MASK DesiredAccess, @@ -563,7 +578,7 @@ ); NTSTATUS -STDCALL +NTAPI NtCreateNamedPipeFile( OUT PHANDLE NamedPipeFileHandle, IN ACCESS_MASK DesiredAccess, @@ -582,7 +597,7 @@ ); NTSTATUS -STDCALL +NTAPI ZwCreateNamedPipeFile( OUT PHANDLE NamedPipeFileHandle, IN ACCESS_MASK DesiredAccess, @@ -601,7 +616,7 @@ ); NTSTATUS -STDCALL [truncated at 1000 lines; 3984 more skipped]
19 years, 3 months
1
0
0
0
← Newer
1
...
50
51
52
53
54
55
56
...
59
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
Results per page:
10
25
50
100
200