Usermode is broken. Some idl problem.
svn path=/branches/ros-amd64-bringup/; revision=39352
<define name="__i386__" />
<define name="TARGET_i386" host="true" />
+ <define name="USE_COMPILER_EXCEPTIONS" />
+
<property name="NTOSKRNL_SHARED" value="-file-alignment=0x1000 -section-alignment=0x1000 -shared"/>
++ <property name="PLATFORM" value="PC"/>
<if property="OPTIMIZE" value="1">
<compilerflag>-Os</compilerflag>
DECLARE_CONV_END
};
- DECLARE_CONV_UNIT(TIME, MILLISECONDS, "$*0.001", "$/0.001")
+ +/*
+ + 1 day ....... = 86400 s
+ + 1 hour ...... = 3600 s
+ + 1 microsecond = 0.000001 s
+ + 1 millisecond = 0.001 s
+ + 1 minute .... = 60 s
+ + 1 week ...... = 669600 s
+ +*/
+ +static const conv_t conv_TIME[] = {
+ + DECLARE_CONV_UNIT(TIME, MINUTES, "$*60", "$/60")
+ + DECLARE_CONV_UNIT(TIME, DAYS, "$*86400", "$/86400")
+ + DECLARE_CONV_UNIT(TIME, HOURS, "$*3600", "$/3600")
+++ DECLARE_CONV_UNIT(TIME, MILISECONDS, "$*0.001", "$/0.001")
+ + DECLARE_CONV_UNIT(TIME, MICROSECONDS, "$*0.000001", "$/0.000001")
+ + DECLARE_CONV_UNIT(TIME, SECONDS, "$", "$")
+ + DECLARE_CONV_UNIT(TIME, WEEKS, "$*604800", "$/604800")
+ + DECLARE_CONV_UNIT(TIME, YEARS, "$*31556952", "$/31556952")
+ + DECLARE_CONV_END
+ +};
+ +
/*
C = K - 273.15
F = K * 9/5 - 459.67
IDS_TEMPERATURE_RANKINE "Ðàíêèí"
END
- IDS_TIME_MILLISECONDS "Ìèëèñåêóíäè"
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "Äíè"
+ + IDS_TIME_HOURS "×àñè"
+ + IDS_TIME_MICROSECONDS "Ìèêðîñåêóíäè"
+++ IDS_TIME_MILISECONDS "Ìèëèñåêóíäè"
+ + IDS_TIME_MINUTES "Ìèíóòè"
+ + IDS_TIME_SECONDS "Ñåêóíäè"
+ + IDS_TIME_WEEKS "Ñåäìèöè"
+ + IDS_TIME_YEARS "Ãîäèíè"
+ +END
+ +
// TYPES OF VELOCITIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_CONV_POWER "Výkon"
END
- IDS_ANGLE_GRADIANS "Grady"
- IDS_ANGLE_RADIANS "Radiány"
- IDS_ANGLE_DEGREES "Stupnì"
+ +// TYPES OF ANGLES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+++ IDS_ANGLE_GRADIANS "Grady"
+++ IDS_ANGLE_RADIANS "Radiány"
+++ IDS_ANGLE_DEGREES "Stupnì"
+ +END
+ +
// TYPES OF AREAS
STRINGTABLE DISCARDABLE
BEGIN
// TYPES OF CURRENCIES
STRINGTABLE DISCARDABLE
BEGIN
+
IDS_CURRENCY_BELGIAN_FRANC "Belgický frank"
+ + IDS_CURRENCY_CZECH_KORUNA "Èeská koruna"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Finská marka"
IDS_CURRENCY_FRENCH_FRANC "Francouzský frank"
IDS_TEMPERATURE_RANKINE "Rankina"
END
- IDS_TIME_MILLISECONDS "Milisekundy"
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "Dny"
+ + IDS_TIME_HOURS "Hodiny"
+ + IDS_TIME_MICROSECONDS "Mikrosekundy"
+++ IDS_TIME_MILISECONDS "Milisekundy"
+ + IDS_TIME_MINUTES "Minuty"
+ + IDS_TIME_SECONDS "Sekundy"
+ + IDS_TIME_YEARS "Roky"
+ + IDS_TIME_WEEKS "Týdny"
+ +END
+ +
// TYPES OF VELOCITIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_QUICKHELP "Quick help"
END
- // Types of conversion
+ // types of conversion
STRINGTABLE DISCARDABLE
BEGIN
+ + IDS_CONV_ANGLE "Angle"
IDS_CONV_AREA "Area"
IDS_CONV_CONSUMPTION "Consumption (engines)"
IDS_CONV_CURRENCY "Currencies"
// TYPES OF LENGTHS
STRINGTABLE DISCARDABLE
BEGIN
- IDS_LENGTH_ANGSTROMS "Ångströms"
+ IDS_LENGTH_ANGSTROMS "Angstroms"
- - IDS_LENGTH_ASTRONOMILA_UNITS "Astronomila units"
+ + IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomical units"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "Centimeters"
IDS_LENGTH_CHAINS_UK "Chains (UK)"
IDS_TEMPERATURE_RANKINE "Rankine"
END
- IDS_TIME_MILLISECONDS "Milliseconds"
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "Days"
+ + IDS_TIME_HOURS "Hours"
+ + IDS_TIME_MICROSECONDS "Microseconds"
+++ IDS_TIME_MILISECONDS "Miliseconds"
+ + IDS_TIME_MINUTES "Minutes"
+ + IDS_TIME_SECONDS "Seconds"
+ + IDS_TIME_WEEKS "Weeks"
+ + IDS_TIME_YEARS "Years"
+ +END
+ +
// TYPES OF VELOCITIES
STRINGTABLE DISCARDABLE
BEGIN
// TYPES OF LENGTHS
STRINGTABLE DISCARDABLE
BEGIN
- IDS_LENGTH_ANGSTROMS "Ångströms"
+ IDS_LENGTH_ANGSTROMS "Angstroms"
- - IDS_LENGTH_ASTRONOMILA_UNITS "Astronomila units"
+ + IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomical units"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "Centímetros"
IDS_LENGTH_CHAINS_UK "Cadenas (UK)"
--- /dev/null
--- /dev/null
- IDS_TIME_MILLISECONDS "Millisecondes"
+ +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
+ +
+ +// Dialog
+ +
+ +IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
+ +STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ +CAPTION "Calculatrice ReactOS"
+ +MENU IDR_MENU_SCIENTIFIC_1
+ +FONT 8, "MS Shell Dlg", 0, 0, 0x1
+ +BEGIN
+ + GROUPBOX "",IDC_STATIC,4,16,132,21
+ + CONTROL "Hex",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,10
+ + CONTROL "Dec",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,10
+ + CONTROL "Oct",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,10
+ + CONTROL "Bin",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,26,10
+ + GROUPBOX "",IDC_STATIC,4,36,76,21
+ + CONTROL "Inv",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
+ + WS_TABSTOP,8,44,26,10
+ + CONTROL "Hyp",IDC_CHECK_HYP,"Button",BS_AUTOCHECKBOX |
+ + WS_TABSTOP,40,44,29,10
+ + CTEXT "",IDC_TEXT_PARENT,84,40,24,17,SS_CENTERIMAGE,
+ + WS_EX_CLIENTEDGE
+ + CTEXT "",IDC_TEXT_MEMORY,112,40,24,17,SS_CENTERIMAGE,
+ + WS_EX_CLIENTEDGE
+ + PUSHBUTTON "Sta",IDC_BUTTON_STA,4,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Ave",IDC_BUTTON_AVE,4,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Sum",IDC_BUTTON_SUM,4,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "s",IDC_BUTTON_S,4,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Dat",IDC_BUTTON_DAT,4,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "F-E",IDC_BUTTON_FE,38,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "dms",IDC_BUTTON_DMS,38,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "sin",IDC_BUTTON_SIN,38,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "cos",IDC_BUTTON_COS,38,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "tan",IDC_BUTTON_TAN,38,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "(",IDC_BUTTON_LEFTPAR,64,64,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Exp",IDC_BUTTON_EXP,64,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "x^y",IDC_BUTTON_XeY,64,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "x^2",IDC_BUTTON_Xe2,64,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "x^3",IDC_BUTTON_Xe3,64,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON ")",IDC_BUTTON_RIGHTPAR,90,64,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "ln",IDC_BUTTON_LN,90,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "log",IDC_BUTTON_LOG,90,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "n!",IDC_BUTTON_NF,90,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "1/x",IDC_BUTTON_RX,90,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "MC",IDC_BUTTON_MC,124,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "MR",IDC_BUTTON_MR,124,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "MS",IDC_BUTTON_MS,124,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "M+",IDC_BUTTON_MP,124,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "pi",IDC_BUTTON_PI,124,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "7",IDC_BUTTON_7,158,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "4",IDC_BUTTON_4,158,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "1",IDC_BUTTON_1,158,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "0",IDC_BUTTON_0,158,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "A",IDC_BUTTON_A,158,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "8",IDC_BUTTON_8,184,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "5",IDC_BUTTON_5,184,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "2",IDC_BUTTON_2,184,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "+/-",IDC_BUTTON_SIGN,184,121,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "B",IDC_BUTTON_B,184,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "9",IDC_BUTTON_9,210,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "6",IDC_BUTTON_6,210,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "3",IDC_BUTTON_3,210,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON ",",IDC_BUTTON_DOT,210,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "C",IDC_BUTTON_C,210,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "/",IDC_BUTTON_DIV,236,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "*",IDC_BUTTON_MULT,236,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "-",IDC_BUTTON_SUB,236,102,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "+",IDC_BUTTON_ADD,236,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "D",IDC_BUTTON_D,236,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Mod",IDC_BUTTON_MOD,262,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Or",IDC_BUTTON_OR,262,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Lsh",IDC_BUTTON_LSH,262,102,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "=",IDC_BUTTON_EQU,262,121,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "E",IDC_BUTTON_E,262,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "And",IDC_BUTTON_AND,288,64,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Xor",IDC_BUTTON_XOR,288,83,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Not",IDC_BUTTON_NOT,288,102,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Int",IDC_BUTTON_INT,288,121,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "F",IDC_BUTTON_F,288,140,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + GROUPBOX "",IDC_STATIC,140,16,172,21
+ + CONTROL "Q-mot",IDC_RADIO_QWORD,"Button",BS_AUTORADIOBUTTON |
+ + NOT WS_VISIBLE,148,24,37,10
+ + CONTROL "D-mot",IDC_RADIO_DWORD,"Button",BS_AUTORADIOBUTTON |
+ + NOT WS_VISIBLE,188,24,37,10
+ + CONTROL "Mot",IDC_RADIO_WORD,"Button",BS_AUTORADIOBUTTON | NOT
+ + WS_VISIBLE,232,24,33,10
+ + CONTROL "Octet",IDC_RADIO_BYTE,"Button",BS_AUTORADIOBUTTON | NOT
+ + WS_VISIBLE,272,24,30,10
+ + CONTROL "Degrés",IDC_RADIO_DEG,"Button",BS_AUTORADIOBUTTON,148,24,
+ + 42,10
+ + CONTROL "Radians",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,192,
+ + 24,42,10
+ + CONTROL "Grades",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
+ + 236,24,44,10
+ + PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Retour arrière",IDC_BUTTON_BACK,184,40,40,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + RTEXT "",IDC_TEXT_OUTPUT,4,4,308,12,SS_CENTERIMAGE,
+ + WS_EX_CLIENTEDGE
+ + DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
+ +END
+ +
+ +IDD_DIALOG_STANDARD DIALOGEX 0, 0, 172, 127
+ +STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ +CAPTION "Calculatrice ReactOS"
+ +MENU IDR_MENU_STANDARD
+ +FONT 8, "MS Shell Dlg", 0, 0, 0x1
+ +BEGIN
+ + PUSHBUTTON "C",IDC_BUTTON_CANC,128,24,40,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "CE",IDC_BUTTON_CE,84,24,40,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Retour arrière",IDC_BUTTON_BACK,40,24,40,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + RTEXT "",IDC_TEXT_OUTPUT,4,4,164,12,SS_CENTERIMAGE,
+ + WS_EX_CLIENTEDGE
+ + PUSHBUTTON "7",IDC_BUTTON_7,40,48,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "4",IDC_BUTTON_4,40,67,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "1",IDC_BUTTON_1,40,86,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "0",IDC_BUTTON_0,40,105,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "8",IDC_BUTTON_8,66,48,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "5",IDC_BUTTON_5,66,67,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "2",IDC_BUTTON_2,66,86,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "+/-",IDC_BUTTON_SIGN,66,105,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "9",IDC_BUTTON_9,92,48,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "6",IDC_BUTTON_6,92,67,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "3",IDC_BUTTON_3,92,86,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON ",",IDC_BUTTON_DOT,92,105,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "/",IDC_BUTTON_DIV,118,48,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "*",IDC_BUTTON_MULT,118,67,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "-",IDC_BUTTON_SUB,118,86,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "+",IDC_BUTTON_ADD,118,105,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "Sqrt",IDC_BUTTON_SQRT,144,48,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "%",IDC_BUTTON_PERCENT,144,67,24,17,BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "1/x",IDC_BUTTON_RX,144,86,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "=",IDC_BUTTON_EQU,144,105,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + CTEXT "",IDC_TEXT_MEMORY,4,24,24,17,SS_CENTERIMAGE,
+ + WS_EX_CLIENTEDGE
+ + PUSHBUTTON "MC",IDC_BUTTON_MC,4,48,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "MR",IDC_BUTTON_MR,4,67,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "MS",IDC_BUTTON_MS,4,86,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + PUSHBUTTON "M+",IDC_BUTTON_MP,4,105,24,17,BS_CENTER | BS_VCENTER |
+ + BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ + DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
+ +END
+ +
+ +IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
+ +STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ +CAPTION "Calculatrice ReactOS"
+ +MENU IDR_MENU_STANDARD
+ +FONT 8, "MS Shell Dlg"
+ +BEGIN
+ + PUSHBUTTON "Convertir",IDC_BUTTON_CONVERT,35,105,76,17
+ + COMBOBOX IDC_COMBO_CATEGORY,4,31,140,168,CBS_DROPDOWNLIST |
+ + WS_VSCROLL | WS_TABSTOP | CBS_SORT
+ + LTEXT "Catégorie :",IDC_STATIC,4,20,56,8
+ + COMBOBOX IDC_COMBO_FROM,4,60,140,168,CBS_DROPDOWNLIST |
+ + WS_VSCROLL | WS_TABSTOP | CBS_SORT
+ + LTEXT "Convertir depuis :",IDC_STATIC,4,49,56,8
+ + COMBOBOX IDC_COMBO_TO,4,87,140,168,CBS_DROPDOWNLIST | WS_VSCROLL |
+ + WS_TABSTOP | CBS_SORT
+ + LTEXT "Convertir en :",IDC_STATIC,4,76,56,8
+ + CONTROL "C",IDC_BUTTON_CANC,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,276,24,40,17
+ + CONTROL "CE",IDC_BUTTON_CE,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,232,24,40,17
+ + CONTROL "Retour arrière",IDC_BUTTON_BACK,"Button",BS_OWNERDRAW |
+ + BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,24,
+ + 40,17
+ + RTEXT "",IDC_TEXT_OUTPUT,4,4,312,12,SS_CENTERIMAGE,
+ + WS_EX_CLIENTEDGE
+ + CONTROL "7",IDC_BUTTON_7,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,48,24,17
+ + CONTROL "4",IDC_BUTTON_4,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,67,24,17
+ + CONTROL "1",IDC_BUTTON_1,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,86,24,17
+ + CONTROL "0",IDC_BUTTON_0,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,105,24,17
+ + CONTROL "8",IDC_BUTTON_8,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,48,24,17
+ + CONTROL "5",IDC_BUTTON_5,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,67,24,17
+ + CONTROL "2",IDC_BUTTON_2,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,86,24,17
+ + CONTROL "+/-",IDC_BUTTON_SIGN,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,105,24,17
+ + CONTROL "9",IDC_BUTTON_9,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,48,24,17
+ + CONTROL "6",IDC_BUTTON_6,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,67,24,17
+ + CONTROL "3",IDC_BUTTON_3,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,86,24,17
+ + CONTROL ",",IDC_BUTTON_DOT,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,105,24,17
+ + CONTROL "/",IDC_BUTTON_DIV,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,48,24,17
+ + CONTROL "*",IDC_BUTTON_MULT,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,67,24,17
+ + CONTROL "-",IDC_BUTTON_SUB,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,86,24,17
+ + CONTROL "+",IDC_BUTTON_ADD,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,105,24,17
+ + CONTROL "Sqrt",IDC_BUTTON_SQRT,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,48,24,17
+ + CONTROL "%",IDC_BUTTON_PERCENT,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,67,24,17
+ + CONTROL "1/x",IDC_BUTTON_RX,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,86,24,17
+ + CONTROL "=",IDC_BUTTON_EQU,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,105,24,17
+ + CTEXT "",IDC_TEXT_MEMORY,152,24,24,17,SS_CENTERIMAGE,
+ + WS_EX_CLIENTEDGE
+ + CONTROL "MC",IDC_BUTTON_MC,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,48,24,17
+ + CONTROL "MR",IDC_BUTTON_MR,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,67,24,17
+ + CONTROL "MS",IDC_BUTTON_MS,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,86,24,17
+ + CONTROL "M+",IDC_BUTTON_MP,"Button",BS_OWNERDRAW | BS_CENTER |
+ + BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,105,24,17
+ + DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5,NOT WS_VISIBLE
+ +END
+ +
+ +IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
+ +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ +CAPTION "À propos de la Calculatrice ReactOS"
+ +FONT 8, "MS Shell Dlg"
+ +BEGIN
+ + DEFPUSHBUTTON "OK",IDOK,105,148,52,16
+ + CONTROL IDB_BITMAP_ROS,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE |
+ + SS_REALSIZEIMAGE | WS_BORDER,4,4,104,48
+ + LTEXT "Calculatrice ReactOS",IDC_STATIC,120,12,132,8,
+ + SS_CENTERIMAGE
+ + LTEXT "Version ",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
+ + LTEXT "par Carlo Bramini",IDC_STATIC,120,32,132,8,
+ + SS_CENTERIMAGE
+ + GROUPBOX "",IDC_STATIC,112,0,148,52
+ + GROUPBOX "",IDC_STATIC,4,56,256,88
+ + EDITTEXT IDC_EDIT_LICENSE,12,68,240,68,ES_MULTILINE | ES_READONLY |
+ + WS_VSCROLL
+ +END
+ +
+ +IDD_DIALOG_STAT DIALOGEX DISCARDABLE 0, 0, 163, 85
+ +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ +CAPTION "Statistiques"
+ +FONT 8, "MS Shell Dlg"
+ +BEGIN
+ + LISTBOX IDC_LIST_STAT,4,4,156,40,LBS_NOINTEGRALHEIGHT |
+ + WS_VSCROLL | WS_TABSTOP
+ + PUSHBUTTON "RET",IDC_BUTTON_RET,4,48,36,16
+ + PUSHBUTTON "LOAD",IDC_BUTTON_LOAD,44,48,36,16
+ + PUSHBUTTON "CD",IDC_BUTTON_CD,84,48,36,16
+ + PUSHBUTTON "CAD",IDC_BUTTON_CAD,124,48,36,16
+ + CTEXT "n=0",IDC_TEXT_NITEMS,4,68,156,12,SS_CENTERIMAGE |
+ + SS_SUNKEN
+ +END
+ +
+ +// Menus
+ +
+ +IDR_MENU_SCIENTIFIC_1 MENU DISCARDABLE
+ +BEGIN
+ + POPUP "Édition"
+ + BEGIN
+ + MENUITEM "Copier\tCTRL-C", IDM_EDIT_COPY
+ + MENUITEM "Coller\tCTRL-V", IDM_EDIT_PASTE
+ + END
+ + POPUP "Affichage"
+ + BEGIN
+ + MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
+ + MENUITEM "Scientifique", IDM_VIEW_SCIENTIFIC, CHECKED
+ + MENUITEM "Conversion", IDM_VIEW_CONVERSION
+ + MENUITEM SEPARATOR
+ + MENUITEM "Hexadécimal\tF5", IDM_VIEW_HEX, CHECKED
+ + MENUITEM "Décimal\tF6", IDM_VIEW_DEC, CHECKED
+ + MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
+ + MENUITEM "Binaire\tF8", IDM_VIEW_BIN, CHECKED
+ + MENUITEM SEPARATOR
+ + MENUITEM "Degrés\tF2", IDM_VIEW_DEG, CHECKED
+ + MENUITEM "Radians\tF3", IDM_VIEW_RAD, CHECKED
+ + MENUITEM "Grades\tF4", IDM_VIEW_GRAD, CHECKED
+ + MENUITEM SEPARATOR
+ + MENUITEM "Grouper les chiffres", IDM_VIEW_GROUP, CHECKED
+ + END
+ + POPUP "Aide"
+ + BEGIN
+ + MENUITEM "Rubriques d'aide", IDM_HELP_HELP
+ + MENUITEM SEPARATOR
+ + MENUITEM "À propos de la Calculatrice ReactOS", IDM_HELP_ABOUT
+ + END
+ +END
+ +
+ +IDR_MENU_SCIENTIFIC_2 MENU DISCARDABLE
+ +BEGIN
+ + POPUP "Édition"
+ + BEGIN
+ + MENUITEM "Copier\tCTRL-C", IDM_EDIT_COPY
+ + MENUITEM "Coller\tCTRL-V", IDM_EDIT_PASTE
+ + END
+ + POPUP "Affichage"
+ + BEGIN
+ + MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
+ + MENUITEM "Scientifique", IDM_VIEW_SCIENTIFIC, CHECKED
+ + MENUITEM "Conversion", IDM_VIEW_CONVERSION
+ + MENUITEM SEPARATOR
+ + MENUITEM "Hexadécimal\tF5", IDM_VIEW_HEX, CHECKED
+ + MENUITEM "Décimal\tF6", IDM_VIEW_DEC, CHECKED
+ + MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
+ + MENUITEM "Binaire\tF8", IDM_VIEW_BIN, CHECKED
+ + MENUITEM SEPARATOR
+ + MENUITEM "Q-mot\tF12", IDM_VIEW_QWORD, CHECKED
+ + MENUITEM "D-mot\tF2", IDM_VIEW_DWORD, CHECKED
+ + MENUITEM "Mot\tF3", IDM_VIEW_WORD, CHECKED
+ + MENUITEM "Octet\tF4", IDM_VIEW_BYTE, CHECKED
+ + MENUITEM SEPARATOR
+ + MENUITEM "Grouper les chiffres", IDM_VIEW_GROUP, CHECKED
+ + END
+ + POPUP "Aide"
+ + BEGIN
+ + MENUITEM "Rubriques d'aide", IDM_HELP_HELP
+ + MENUITEM SEPARATOR
+ + MENUITEM "À propos de la Calculatrice ReactOS", IDM_HELP_ABOUT
+ + END
+ +END
+ +
+ +IDR_MENU_STANDARD MENU DISCARDABLE
+ +BEGIN
+ + POPUP "Édition"
+ + BEGIN
+ + MENUITEM "Copier\tCTRL-C", IDM_EDIT_COPY
+ + MENUITEM "Coller\tCTRL-V", IDM_EDIT_PASTE
+ + END
+ + POPUP "Affichage"
+ + BEGIN
+ + MENUITEM "Standard", IDM_VIEW_STANDARD, CHECKED
+ + MENUITEM "Scientifique", IDM_VIEW_SCIENTIFIC, CHECKED
+ + MENUITEM "Conversion", IDM_VIEW_CONVERSION
+ + MENUITEM SEPARATOR
+ + MENUITEM "Grouper les chiffres", IDM_VIEW_GROUP, CHECKED
+ + END
+ + POPUP "Aide"
+ + BEGIN
+ + MENUITEM "Rubriques d'aide", IDM_HELP_HELP
+ + MENUITEM SEPARATOR
+ + MENUITEM "À propos de la Calculatrice ReactOS", IDM_HELP_ABOUT
+ + END
+ +END
+ +
+ +// String Tables
+ +
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_STRING_LICENSE "Calculatrice ReactOS est un logiciel libre distribué sous licence GNU GPL.\r\n\r\nVous pouvez obtenir une copie de la licence GNU GPL ici:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nVous pouvez aussi obtenir une traduction de la licence GNU GPL ici:\r\nhttp://www.gnu.org/licenses/translations.html"
+ + IDS_MATH_ERROR "Erreur"
+ + IDS_QUICKHELP "Aide rapide"
+ +END
+ +
+ +// types of conversion
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_CONV_ANGLE "Angle"
+ + IDS_CONV_AREA "Superficie"
+ + IDS_CONV_CONSUMPTION "Consommation (moteurs)"
+ + IDS_CONV_CURRENCY "Devises"
+ + IDS_CONV_ENERGY "Énergie"
+ + IDS_CONV_LENGTH "Longueurs"
+ + IDS_CONV_POWER "Puissance"
+ + IDS_CONV_PRESSURE "Pression"
+ + IDS_CONV_TEMPERATURE "Température"
+ + IDS_CONV_TIME "Temps"
+ + IDS_CONV_VELOCITY "Vélocité"
+ + IDS_CONV_VOLUME "Volume"
+ + IDS_CONV_WEIGHT "Poids"
+ +END
+ +
+ +// TYPES OF ANGLES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_ANGLE_DEGREES "Degrés"
+ + IDS_ANGLE_GRADIANS "Grades"
+ + IDS_ANGLE_RADIANS "Radians"
+ +END
+ +
+ +// TYPES OF AREAS
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_AREA_ACRES "Acres"
+ + IDS_AREA_ACRES_BRAZIL "Acres (Brazil)"
+ + IDS_AREA_ACRES_FRANCE "Acres (France)"
+ + IDS_AREA_ACRES_SCOTS "Acres (Scots)"
+ + IDS_AREA_ACRES_US "Acres (US)"
+ + IDS_AREA_ARES "Ares"
+ + IDS_AREA_CHOU "Chou"
+ + IDS_AREA_DANBO "Danbo"
+ + IDS_AREA_HECTARES "Hectares"
+ + IDS_AREA_JEONGBO "Jeongbo"
+ + IDS_AREA_MORGEN_HUNGARY "Morgen (Hongrie)"
+ + IDS_AREA_MU "Mu"
+ + IDS_AREA_PING "Ping"
+ + IDS_AREA_PYEONG "Pyeong"
+ + IDS_AREA_PYEONGBANGJA "Pyeongbangja"
+ + IDS_AREA_RAI "Rai"
+ + IDS_AREA_SE "Se"
+ + IDS_AREA_SQUARE_CENTIMETERS "Centimètres carrés"
+ + IDS_AREA_SQUARE_CHR "Chr carré"
+ + IDS_AREA_SQUARE_FATHOMS "Fathoms carrés"
+ + IDS_AREA_SQUARE_FATHOMS_HUNGARY "Fathoms carrés (Hongrie)"
+ + IDS_AREA_SQUARE_FEET "Pieds carrés"
+ + IDS_AREA_SQUARE_INCHES "Pouces carrés"
+ + IDS_AREA_SQUARE_KILOMETERS "Kilomètres carrés"
+ + IDS_AREA_SQUARE_LAR "Square lar"
+ + IDS_AREA_SQUARE_METER "Mètre carré"
+ + IDS_AREA_SQUARE_MILES "Miles carrés"
+ + IDS_AREA_SQUARE_MILLIMETERS "Millimètres carrés"
+ + IDS_AREA_SQUARE_SHAKU "Shaku carré"
+ + IDS_AREA_SQUARE_TSUEN "Tsuen carré"
+ + IDS_AREA_SQUARE_VA "Va carré"
+ + IDS_AREA_SQUARE_YARD "Yard carré"
+ + IDS_AREA_TAN "Tan"
+ + IDS_AREA_TSUBO "Tsubo"
+ +END
+ +
+ +// TYPES OF COMSUMPTIONS
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_CONSUMPTION_KM_PER_L "Kilomètre/litre"
+ + IDS_CONSUMPTION_L_PER_100_KM "Litres/100 kilomètres"
+ + IDS_CONSUMPTION_MILES_GALLON_UK "Miles/gallon (UK)"
+ + IDS_CONSUMPTION_MILES_GALLON_US "Miles/gallon (US)"
+ +END
+ +
+ +// TYPES OF CURRENCIES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_CURRENCY_AUSTRIAN_SCHILLING "Schilling autrichien"
+ + IDS_CURRENCY_BELGIAN_FRANC "Franc belge"
+ + IDS_CURRENCY_CYPRIOT_POUND "Livre chypriote"
+ + IDS_CURRENCY_CZECH_KORUNA "Couronne tchèque"
+ + IDS_CURRENCY_DEUTSCHE_MARK "Mark allemand"
+ + IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
+ + IDS_CURRENCY_EURO "Euro"
+ + IDS_CURRENCY_FINNISH_MARKKA "Marks finlandais"
+ + IDS_CURRENCY_FRENCH_FRANC "Franc français"
+ + IDS_CURRENCY_GREEK_DRACHMA "Drachmes grecques"
+ + IDS_CURRENCY_IRISH_POUND "Livre irlandaise"
+ + IDS_CURRENCY_ITALIAN_LIRA "Lire italienne"
+ + IDS_CURRENCY_LUXEMBOURG_FRANC "Franc luxembourgeois"
+ + IDS_CURRENCY_MALTESE_LIRA "Lire maltaise"
+ + IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugaise"
+ + IDS_CURRENCY_SLOVAK_KORUNA "Couronne slovaque"
+ + IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar slovène"
+ + IDS_CURRENCY_SPANISH_PESETA "Peseta espagnole"
+ +END
+ +
+ +// TYPES OF ENERGIES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_ENERGY_15_C_CALORIES "15 °C calories"
+ + IDS_ENERGY_BTUS "British Thermal Units"
+ + IDS_ENERGY_ERGS "Ergs"
+ + IDS_ENERGY_EVS "Électron-volts"
+ + IDS_ENERGY_FOOT_POUNDS "Pied-livres"
+ + IDS_ENERGY_IT_CALORIES "International Table calories"
+ + IDS_ENERGY_IT_KILOCALORIES "International Table kilocalories"
+ + IDS_ENERGY_JOULES "Joules"
+ + IDS_ENERGY_KILOJOULES "Kilojoules"
+ + IDS_ENERGY_KILOWATT_HOURS "Kilowattheure"
+ + IDS_ENERGY_NUTRITION_CALORIES "Calories nutritives"
+ + IDS_ENERGY_TH_CALORIES "Calories thermochimiques"
+ +END
+ +
+ +// TYPES OF LENGTHS
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_LENGTH_ANGSTROMS "Angström"
+ + IDS_LENGTH_ASTRONOMICAL_UNITS "Unités astronomiques"
+ + IDS_LENGTH_BARLEYCORNS "Barleycorns"
+ + IDS_LENGTH_CENTIMETERS "Centimètres"
+ + IDS_LENGTH_CHAINS_UK "Chains (UK)"
+ + IDS_LENGTH_CHI "Chi"
+ + IDS_LENGTH_CHOU "Chou"
+ + IDS_LENGTH_CHR "Chr"
+ + IDS_LENGTH_CUN "Cun"
+ + IDS_LENGTH_FATHOMS "Fathoms"
+ + IDS_LENGTH_FATHOMS_HUNGARY "Fathoms (Hungary)"
+ + IDS_LENGTH_FEET "Pieds"
+ + IDS_LENGTH_FURLONGS "Furlongs"
+ + IDS_LENGTH_GAN "Gan"
+ + IDS_LENGTH_HANDS "Hands"
+ + IDS_LENGTH_HUNH "Hunh"
+ + IDS_LENGTH_INCHES "Pouces"
+ + IDS_LENGTH_JA "Ja"
+ + IDS_LENGTH_JEONG "Jeong"
+ + IDS_LENGTH_KABIET "Kabiet"
+ + IDS_LENGTH_KEN "Ken"
+ + IDS_LENGTH_KEUB "Keub"
+ + IDS_LENGTH_KILOMETERS "Kilomètres"
+ + IDS_LENGTH_LAR "Lar"
+ + IDS_LENGTH_LIGHT_YEARS "Années lumières"
+ + IDS_LENGTH_LINKS_UK "Links (UK)"
+ + IDS_LENGTH_METERS "Mètres"
+ + IDS_LENGTH_MICRONS "Micromètres"
+ + IDS_LENGTH_MILES "Miles"
+ + IDS_LENGTH_MILLIMETERS "Millimètres"
+ + IDS_LENGTH_NAUTICAL_MILES "Miles nautiques"
+ + IDS_LENGTH_NIEU "Nieu"
+ + IDS_LENGTH_PARSECS "Parsecs"
+ + IDS_LENGTH_PICAS "Picas"
+ + IDS_LENGTH_RI_JAPAN "Ri (Japan)"
+ + IDS_LENGTH_RI_KOREA "Ri (Korea)"
+ + IDS_LENGTH_RODS "Rods"
+ + IDS_LENGTH_SAWK "Sawk"
+ + IDS_LENGTH_SEN "Sen"
+ + IDS_LENGTH_SHAKU "Shaku"
+ + IDS_LENGTH_SPAN "Span"
+ + IDS_LENGTH_SUN "Sun"
+ + IDS_LENGTH_TSUEN "Tsuen"
+ + IDS_LENGTH_VA "Va"
+ + IDS_LENGTH_YARDS "Yards"
+ + IDS_LENGTH_YOTE "Yote"
+ + IDS_LENGTH_ZHANG "Zhang"
+ +END
+ +
+ +// TYPES OF POWERS
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_POWER_BTUS_PER_MINUTE "British Thermal Units par minute"
+ + IDS_POWER_FPS_PER_MINUTE "Pied-livres par minute"
+ + IDS_POWER_HORSEPOWER "Cheval-vapeur"
+ + IDS_POWER_KILOWATTS "Kilowatts"
+ + IDS_POWER_MEGAWATTS "Megawatts"
+ + IDS_POWER_WATTS "Watts"
+ +END
+ +
+ +// TYPE OF PRESSURES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_PRESSURE_ATMOSPHERES "Atmosphères"
+ + IDS_PRESSURE_BARS "Bars"
+ + IDS_PRESSURE_HECTOPASCALS "Hectopascals"
+ + IDS_PRESSURE_KILOPASCALS "Kilopascals"
+ + IDS_PRESSURE_MM_OF_MERCURY "Millimètres de mercure"
+ + IDS_PRESSURE_PASCALS "Pascals"
+ + IDS_PRESSURE_PSI "Pounds-force per square inch"
+ +END
+ +
+ +// TYPES OF TEMPERATURES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TEMPERATURE_CELSIUS "Celsius"
+ + IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
+ + IDS_TEMPERATURE_KELVIN "Kelvin"
+ + IDS_TEMPERATURE_RANKINE "Rankine"
+ +END
+ +
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "Jours"
+ + IDS_TIME_HOURS "Heures"
+ + IDS_TIME_MICROSECONDS "Microsecondes"
+++ IDS_TIME_MILISECONDS "Millisecondes"
+ + IDS_TIME_MINUTES "Minutes"
+ + IDS_TIME_SECONDS "Secondes"
+ + IDS_TIME_WEEKS "Semaines"
+ + IDS_TIME_YEARS "Années"
+ +END
+ +
+ +// TYPES OF VELOCITIES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_VELOCITY_CMS_SECOND "Centimètres/seconde"
+ + IDS_VELOCITY_FEET_HOUR "Pieds/heure"
+ + IDS_VELOCITY_FEET_SECOND "Pieds/seconde"
+ + IDS_VELOCITY_KILOMETERS_HOUR "Kilomètres/heure"
+ + IDS_VELOCITY_KNOTS "Knots"
+ + IDS_VELOCITY_MACH "Mach"
+ + IDS_VELOCITY_METERS_SECOND "Mètres/second"
+ + IDS_VELOCITY_MILES_HOUR "Miles/heure"
+ +END
+ +
+ +// TYPES OF VOLUMES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_VOLUME_BARRELS_UK "Baril (UK)"
+ + IDS_VOLUME_BARRELS_OIL "Baril de pétrole"
+ + IDS_VOLUME_BUN "Bun"
+ + IDS_VOLUME_BUSHELS_UK "Bushels (UK)"
+ + IDS_VOLUME_BUSHELS_US "Bushels (US)"
+ + IDS_VOLUME_CUBIC_CENTIMETERS "Centimètres cubes"
+ + IDS_VOLUME_CUBIC_FEET "Pieds cubes"
+ + IDS_VOLUME_CUBIC_INCHES "Pouces cubes"
+ + IDS_VOLUME_CUBIC_METERS "Mètres cubes"
+ + IDS_VOLUME_CUBIC_YARDS "Yards cubes"
+ + IDS_VOLUME_DOE "Doe"
+ + IDS_VOLUME_FLUID_OUNCES_UK "Fluid ounces (UK)"
+ + IDS_VOLUME_FLUID_OUNCES_US "Fluid ounces (US)"
+ + IDS_VOLUME_GALLONS_UK "Gallons (UK)"
+ + IDS_VOLUME_GALLONS_DRY_US "Gallons, sec (US)"
+ + IDS_VOLUME_GALLONS_LIQUID_US "Gallons, liqude (US)"
+ + IDS_VOLUME_GOU "Gou"
+ + IDS_VOLUME_HOP "Hop"
+ + IDS_VOLUME_ICCE "Icce"
+ + IDS_VOLUME_KWIAN "Kwian"
+ + IDS_VOLUME_LITERS "Litres"
+ + IDS_VOLUME_MAL "Mal"
+ + IDS_VOLUME_MILLILITERS "Millilitres"
+ + IDS_VOLUME_PINTS_UK "Pints (UK)"
+ + IDS_VOLUME_PINTS_DRY_US "Pints, sec (US)"
+ + IDS_VOLUME_PINTS_LIQUID_US "Pints, liquide (US)"
+ + IDS_VOLUME_QUARTS_UK "Quarts (UK)"
+ + IDS_VOLUME_QUARTS_DRY_US "Quarts, sec (US)"
+ + IDS_VOLUME_QUARTS_LIQUID_US "Quarts, liquide (US)"
+ + IDS_VOLUME_SEKI "Seki"
+ + IDS_VOLUME_SYOU "Syou"
+ + IDS_VOLUME_TANANLOUNG "Tananloung"
+ + IDS_VOLUME_TANG "Tang"
+ + IDS_VOLUME_TO "To"
+ +END
+ +
+ +// TYPES OF WEIGHTS
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_WEIGHT_BAHT "Baht"
+ + IDS_WEIGHT_CARATS "Carats"
+ + IDS_WEIGHT_CHUNG "Chung"
+ + IDS_WEIGHT_DON "Don"
+ + IDS_WEIGHT_GEUN "Geun"
+ + IDS_WEIGHT_GRAMS "Grammes"
+ + IDS_WEIGHT_GWAN "Gwan"
+ + IDS_WEIGHT_HARB "Harb"
+ + IDS_WEIGHT_JIN_CHINA "Jin (China)"
+ + IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
+ + IDS_WEIGHT_KAN "Kan"
+ + IDS_WEIGHT_KILOGRAMS "Kilogrammes"
+ + IDS_WEIGHT_KIN "Kin"
+ + IDS_WEIGHT_LIANG_CHINA "Liang (China)"
+ + IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
+ + IDS_WEIGHT_MONME "Monme"
+ + IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Ounces, avoirdupois"
+ + IDS_WEIGHT_OUNCES_TROY "Ounces, troy"
+ + IDS_WEIGHT_POUNDS "Pounds"
+ + IDS_WEIGHT_QUINTAL_METRIC "Quintal (metric)"
+ + IDS_WEIGHT_SALOUNG "Saloung"
+ + IDS_WEIGHT_STONES "Stones"
+ + IDS_WEIGHT_TAMLUNG "Tamlung"
+ + IDS_WEIGHT_TONNES "Tonnes"
+ + IDS_WEIGHT_TONS_UK "Tons (UK)"
+ + IDS_WEIGHT_TONS_US "Tons (US)"
+ +END
// TYPES OF LENGTHS
STRINGTABLE DISCARDABLE
BEGIN
- IDS_LENGTH_ANGSTROMS "¿Ë½ºÆ®·Ò"
+ IDS_LENGTH_ANGSTROMS "Angstroms"
- - IDS_LENGTH_ASTRONOMILA_UNITS "Astronomila units"
+ + IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomical units"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "Centimeters"
IDS_LENGTH_CHAINS_UK "Chains (UK)"
IDS_TEMPERATURE_RANKINE "ãðàäóñ (ïî øêàëå Rankine)"
END
- IDS_TIME_MILLISECONDS "ìèëëèñåêóíäà"
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "äåíü"
+ + IDS_TIME_HOURS "÷àñ"
+ + IDS_TIME_MICROSECONDS "ìèêðîñåêóíäà"
+++ IDS_TIME_MILISECONDS "ìèëëèñåêóíäà"
+ + IDS_TIME_MINUTES "ìèíóòà"
+ + IDS_TIME_SECONDS "ñåêóíäà"
+ + IDS_TIME_WEEKS "íåäåëÿ"
+ + IDS_TIME_YEARS "ãîä"
+ +END
+ +
// TYPES OF VELOCITIES
STRINGTABLE DISCARDABLE
BEGIN
IDS_TEMPERATURE_RANKINE "Rankine"
END
- IDS_TIME_MILLISECONDS "Milisekundy"
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "Dni"
+ + IDS_TIME_HOURS "Hodiny"
+ + IDS_TIME_MICROSECONDS "Mikrosekundy"
+++ IDS_TIME_MILISECONDS "Milisekundy"
+ + IDS_TIME_MINUTES "Minúty"
+ + IDS_TIME_YEARS "Roky"
+ + IDS_TIME_SECONDS "Sekundy"
+ + IDS_TIME_WEEKS "Tý\9edne"
+ +END
+ +
// TYPES OF VELOCITIES
STRINGTABLE DISCARDABLE
BEGIN
--- /dev/null
- * Last modified: 2009-02-02
- * Last modified: 2008-12-29
+ /*
+ * ReactOS Calc (Thai resource file)
- IDS_CURRENCY_EURO "Euro"
+++ * Last modified: 2009-01-27
+ */
+
+ LANGUAGE LANG_THAI, SUBLANG_DEFAULT
+
+ // Dialog
+
+ IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 161
+ STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ CAPTION "à¤Ã×èͧ¤Ô´àÅ¢ ReactOS"
+ MENU IDR_MENU_SCIENTIFIC_1
+ FONT 8, "MS Shell Dlg", 0, 0, 0x1
+ BEGIN
+ GROUPBOX "",IDC_STATIC,4,16,132,21
+ CONTROL "ÊԺˡ",IDC_RADIO_HEX,"Button",BS_AUTORADIOBUTTON,8,24,29,10
+ CONTROL "ÊÔº",IDC_RADIO_DEC,"Button",BS_AUTORADIOBUTTON,40,24,29,10
+ CONTROL "Ỵ",IDC_RADIO_OCT,"Button",BS_AUTORADIOBUTTON,72,24,27,10
+ CONTROL "Êͧ",IDC_RADIO_BIN,"Button",BS_AUTORADIOBUTTON,100,24,26,10
+ GROUPBOX "",IDC_STATIC,4,36,76,21
+ CONTROL "Inv",IDC_CHECK_INV,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,8,44,26,10
+ CONTROL "Hyp",IDC_CHECK_HYP,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,40,44,29,10
+ CTEXT "",IDC_TEXT_PARENT,84,40,24,17,SS_CENTERIMAGE,
+ WS_EX_CLIENTEDGE
+ CTEXT "",IDC_TEXT_MEMORY,112,40,24,17,SS_CENTERIMAGE,
+ WS_EX_CLIENTEDGE
+ PUSHBUTTON "Sta",IDC_BUTTON_STA,4,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Ave",IDC_BUTTON_AVE,4,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Sum",IDC_BUTTON_SUM,4,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "s",IDC_BUTTON_S,4,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Dat",IDC_BUTTON_DAT,4,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "F-E",IDC_BUTTON_FE,38,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "dms",IDC_BUTTON_DMS,38,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "sin",IDC_BUTTON_SIN,38,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "cos",IDC_BUTTON_COS,38,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "tan",IDC_BUTTON_TAN,38,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "(",IDC_BUTTON_LEFTPAR,64,64,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Exp",IDC_BUTTON_EXP,64,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "x^y",IDC_BUTTON_XeY,64,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "x^2",IDC_BUTTON_Xe2,64,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "x^3",IDC_BUTTON_Xe3,64,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON ")",IDC_BUTTON_RIGHTPAR,90,64,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "ln",IDC_BUTTON_LN,90,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "log",IDC_BUTTON_LOG,90,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "n!",IDC_BUTTON_NF,90,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "1/x",IDC_BUTTON_RX,90,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "MC",IDC_BUTTON_MC,124,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "MR",IDC_BUTTON_MR,124,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "MS",IDC_BUTTON_MS,124,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "M+",IDC_BUTTON_MP,124,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "pi",IDC_BUTTON_PI,124,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "7",IDC_BUTTON_7,158,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "4",IDC_BUTTON_4,158,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "1",IDC_BUTTON_1,158,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "0",IDC_BUTTON_0,158,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "A",IDC_BUTTON_A,158,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "8",IDC_BUTTON_8,184,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "5",IDC_BUTTON_5,184,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "2",IDC_BUTTON_2,184,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "+/-",IDC_BUTTON_SIGN,184,121,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "B",IDC_BUTTON_B,184,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "9",IDC_BUTTON_9,210,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "6",IDC_BUTTON_6,210,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "3",IDC_BUTTON_3,210,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON ",",IDC_BUTTON_DOT,210,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "C",IDC_BUTTON_C,210,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "/",IDC_BUTTON_DIV,236,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "*",IDC_BUTTON_MULT,236,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "-",IDC_BUTTON_SUB,236,102,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "+",IDC_BUTTON_ADD,236,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "D",IDC_BUTTON_D,236,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Mod",IDC_BUTTON_MOD,262,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Or",IDC_BUTTON_OR,262,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Lsh",IDC_BUTTON_LSH,262,102,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "=",IDC_BUTTON_EQU,262,121,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "E",IDC_BUTTON_E,262,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "And",IDC_BUTTON_AND,288,64,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Xor",IDC_BUTTON_XOR,288,83,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Not",IDC_BUTTON_NOT,288,102,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "Int",IDC_BUTTON_INT,288,121,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "F",IDC_BUTTON_F,288,140,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ GROUPBOX "",IDC_STATIC,140,16,172,21
+ CONTROL "ÊÕèàÇÔÃì´",IDC_RADIO_QWORD,"Button",BS_AUTORADIOBUTTON |
+ NOT WS_VISIBLE,148,24,37,10
+ CONTROL "ÊͧàÇÔÃì´",IDC_RADIO_DWORD,"Button",BS_AUTORADIOBUTTON |
+ NOT WS_VISIBLE,188,24,37,10
+ CONTROL "àÇÔÃì´",IDC_RADIO_WORD,"Button",BS_AUTORADIOBUTTON | NOT
+ WS_VISIBLE,232,24,33,10
+ CONTROL "亵ì",IDC_RADIO_BYTE,"Button",BS_AUTORADIOBUTTON | NOT
+ WS_VISIBLE,272,24,30,10
+ CONTROL "ͧÈÒ",IDC_RADIO_DEG,"Button",BS_AUTORADIOBUTTON,148,24,
+ 42,10
+ CONTROL "àÃà´Õ¹",IDC_RADIO_RAD,"Button",BS_AUTORADIOBUTTON,192,
+ 24,42,10
+ CONTROL "à¡Ãà´Õ¹",IDC_RADIO_GRAD,"Button",BS_AUTORADIOBUTTON,
+ 236,24,44,10
+ PUSHBUTTON "C",IDC_BUTTON_CANC,272,40,40,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "CE",IDC_BUTTON_CE,228,40,40,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "áºç¡Ê໫",IDC_BUTTON_BACK,184,40,40,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ RTEXT "",IDC_TEXT_OUTPUT,4,4,308,12,SS_CENTERIMAGE,
+ WS_EX_CLIENTEDGE
+ DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
+ END
+
+ IDD_DIALOG_STANDARD DIALOGEX 0, 0, 172, 127
+ STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ CAPTION "ʶҹÀÒ¾·ÑèÇä»"
+ MENU IDR_MENU_STANDARD
+ FONT 8, "MS Shell Dlg", 0, 0, 0x1
+ BEGIN
+ PUSHBUTTON "C",IDC_BUTTON_CANC,128,24,40,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "CE",IDC_BUTTON_CE,84,24,40,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "áºç¡Ê໫",IDC_BUTTON_BACK,40,24,40,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ RTEXT "",IDC_TEXT_OUTPUT,4,4,164,12,SS_CENTERIMAGE,
+ WS_EX_CLIENTEDGE
+ PUSHBUTTON "7",IDC_BUTTON_7,40,48,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "4",IDC_BUTTON_4,40,67,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "1",IDC_BUTTON_1,40,86,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "0",IDC_BUTTON_0,40,105,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "8",IDC_BUTTON_8,66,48,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "5",IDC_BUTTON_5,66,67,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "2",IDC_BUTTON_2,66,86,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "+/-",IDC_BUTTON_SIGN,66,105,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "9",IDC_BUTTON_9,92,48,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "6",IDC_BUTTON_6,92,67,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "3",IDC_BUTTON_3,92,86,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON ",",IDC_BUTTON_DOT,92,105,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "/",IDC_BUTTON_DIV,118,48,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "*",IDC_BUTTON_MULT,118,67,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "-",IDC_BUTTON_SUB,118,86,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "+",IDC_BUTTON_ADD,118,105,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "ÃÒ¡",IDC_BUTTON_SQRT,144,48,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "%",IDC_BUTTON_PERCENT,144,67,24,17,BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "1/x",IDC_BUTTON_RX,144,86,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "=",IDC_BUTTON_EQU,144,105,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ CTEXT "",IDC_TEXT_MEMORY,4,24,24,17,SS_CENTERIMAGE,
+ WS_EX_CLIENTEDGE
+ PUSHBUTTON "MC",IDC_BUTTON_MC,4,48,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "MR",IDC_BUTTON_MR,4,67,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "MS",IDC_BUTTON_MS,4,86,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ PUSHBUTTON "M+",IDC_BUTTON_MP,4,105,24,17,BS_CENTER | BS_VCENTER |
+ BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
+ DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5, NOT WS_VISIBLE
+ END
+
+ IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
+ STYLE WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ CAPTION "à¤Ã×èͧ¤Ô´àÅ¢ ReactOS"
+ MENU IDR_MENU_STANDARD
+ FONT 8, "MS Shell Dlg"
+ BEGIN
+ PUSHBUTTON "Convert",IDC_BUTTON_CONVERT,35,105,76,17
+ COMBOBOX IDC_COMBO_CATEGORY,4,31,140,168,CBS_DROPDOWNLIST |
+ WS_VSCROLL | WS_TABSTOP | CBS_SORT
+ LTEXT "Category:",IDC_STATIC,4,20,56,8
+ COMBOBOX IDC_COMBO_FROM,4,60,140,168,CBS_DROPDOWNLIST |
+ WS_VSCROLL | WS_TABSTOP | CBS_SORT
+ LTEXT "Convert from:",IDC_STATIC,4,49,56,8
+ COMBOBOX IDC_COMBO_TO,4,87,140,168,CBS_DROPDOWNLIST | WS_VSCROLL |
+ WS_TABSTOP | CBS_SORT
+ LTEXT "Convert to:",IDC_STATIC,4,76,56,8
+ CONTROL "C",IDC_BUTTON_CANC,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,276,24,40,17
+ CONTROL "CE",IDC_BUTTON_CE,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,232,24,40,17
+ CONTROL "áºç¡Ê໫",IDC_BUTTON_BACK,"Button",BS_OWNERDRAW |
+ BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,24,
+ 40,17
+ RTEXT "",IDC_TEXT_OUTPUT,4,4,312,12,SS_CENTERIMAGE,
+ WS_EX_CLIENTEDGE
+ CONTROL "7",IDC_BUTTON_7,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,48,24,17
+ CONTROL "4",IDC_BUTTON_4,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,67,24,17
+ CONTROL "1",IDC_BUTTON_1,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,86,24,17
+ CONTROL "0",IDC_BUTTON_0,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,105,24,17
+ CONTROL "8",IDC_BUTTON_8,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,48,24,17
+ CONTROL "5",IDC_BUTTON_5,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,67,24,17
+ CONTROL "2",IDC_BUTTON_2,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,86,24,17
+ CONTROL "+/-",IDC_BUTTON_SIGN,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,214,105,24,17
+ CONTROL "9",IDC_BUTTON_9,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,48,24,17
+ CONTROL "6",IDC_BUTTON_6,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,67,24,17
+ CONTROL "3",IDC_BUTTON_3,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,86,24,17
+ CONTROL ",",IDC_BUTTON_DOT,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,240,105,24,17
+ CONTROL "/",IDC_BUTTON_DIV,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,48,24,17
+ CONTROL "*",IDC_BUTTON_MULT,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,67,24,17
+ CONTROL "-",IDC_BUTTON_SUB,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,86,24,17
+ CONTROL "+",IDC_BUTTON_ADD,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,266,105,24,17
+ CONTROL "ÃÒ¡",IDC_BUTTON_SQRT,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,48,24,17
+ CONTROL "%",IDC_BUTTON_PERCENT,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,67,24,17
+ CONTROL "1/x",IDC_BUTTON_RX,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,86,24,17
+ CONTROL "=",IDC_BUTTON_EQU,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,292,105,24,17
+ CTEXT "",IDC_TEXT_MEMORY,152,24,24,17,SS_CENTERIMAGE,
+ WS_EX_CLIENTEDGE
+ CONTROL "MC",IDC_BUTTON_MC,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,48,24,17
+ CONTROL "MR",IDC_BUTTON_MR,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,67,24,17
+ CONTROL "MS",IDC_BUTTON_MS,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,86,24,17
+ CONTROL "M+",IDC_BUTTON_MP,"Button",BS_OWNERDRAW | BS_CENTER |
+ BS_VCENTER | BS_NOTIFY | WS_TABSTOP,152,105,24,17
+ DEFPUSHBUTTON "",IDC_BUTTON_FOCUS,0,0,5,5,NOT WS_VISIBLE
+ END
+
+ IDD_DIALOG_ABOUT DIALOGEX DISCARDABLE 0, 0, 264, 169
+ STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ CAPTION "à¡ÕèÂǡѺ ReactOS Calc"
+ FONT 8, "MS Shell Dlg"
+ BEGIN
+ DEFPUSHBUTTON "µ¡Å§",IDOK,105,148,52,16
+ CONTROL IDB_BITMAP_ROS,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE |
+ SS_REALSIZEIMAGE | WS_BORDER,4,4,104,48
+ LTEXT "à¤Ã×èͧ¤Ô´àÅ¢ ReactOS",IDC_STATIC,120,12,132,8,
+ SS_CENTERIMAGE
+ LTEXT "ÃØè¹ ",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
+ LTEXT "Written by Carlo Bramini",IDC_STATIC,120,32,132,8,
+ SS_CENTERIMAGE
+ GROUPBOX "",IDC_STATIC,112,0,148,52
+ GROUPBOX "",IDC_STATIC,4,56,256,88
+ EDITTEXT IDC_EDIT_LICENSE,12,68,240,68,ES_MULTILINE | ES_READONLY |
+ WS_VSCROLL
+ END
+
+ IDD_DIALOG_STAT DIALOGEX DISCARDABLE 0, 0, 163, 85
+ STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+ CAPTION "¡ÅèͧʶҹÐ"
+ FONT 8, "MS Shell Dlg"
+ BEGIN
+ LISTBOX IDC_LIST_STAT,4,4,156,40,LBS_NOINTEGRALHEIGHT |
+ WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "RET",IDC_BUTTON_RET,4,48,36,16
+ PUSHBUTTON "LOAD",IDC_BUTTON_LOAD,44,48,36,16
+ PUSHBUTTON "CD",IDC_BUTTON_CD,84,48,36,16
+ PUSHBUTTON "CAD",IDC_BUTTON_CAD,124,48,36,16
+ CTEXT "n=0",IDC_TEXT_NITEMS,4,68,156,12,SS_CENTERIMAGE |
+ SS_SUNKEN
+ END
+
+ // Menus
+
+ IDR_MENU_SCIENTIFIC_1 MENU DISCARDABLE
+ BEGIN
+ POPUP "á&¡éä¢"
+ BEGIN
+ MENUITEM "¤Ñ´ÅÍ¡\tCTRL-C", IDM_EDIT_COPY
+ MENUITEM "ÇÒ§\tCTRL-V", IDM_EDIT_PASTE
+ END
+ POPUP "&ÁØÁÁͧ"
+ BEGIN
+ MENUITEM "ẺÁҵðҹ", IDM_VIEW_STANDARD, CHECKED
+ MENUITEM "ẺÇÔ·ÂÒÈÒʵÃì", IDM_VIEW_SCIENTIFIC, CHECKED
+ MENUITEM "¤ÇÒÁà»ÅÕè¹á»Å§", IDM_VIEW_CONVERSION
+ MENUITEM SEPARATOR
+ MENUITEM "°Ò¹ÊԺˡ\tF5", IDM_VIEW_HEX, CHECKED
+ MENUITEM "°Ò¹ÊÔº\tF6", IDM_VIEW_DEC, CHECKED
+ MENUITEM "°Ò¹á»´\tF7", IDM_VIEW_OCT, CHECKED
+ MENUITEM "°Ò¹Êͧ\tF8", IDM_VIEW_BIN, CHECKED
+ MENUITEM SEPARATOR
+ MENUITEM "ͧÈÒ\tF2", IDM_VIEW_DEG, CHECKED
+ MENUITEM "àÃà´Õ¹\tF3", IDM_VIEW_RAD, CHECKED
+ MENUITEM "à¡Ãà´Õ¹\tF4", IDM_VIEW_GRAD, CHECKED
+ MENUITEM SEPARATOR
+ MENUITEM "áÊ´§ËÅÑ¡µÑÇàÅ¢", IDM_VIEW_GROUP, CHECKED
+ END
+ POPUP "&ªèÇÂàËÅ×Í"
+ BEGIN
+ MENUITEM "¢éÍÁÙŪèÇÂàËÅ×Í", IDM_HELP_HELP
+ MENUITEM SEPARATOR
+ MENUITEM "à¡ÕèÂǡѺ ReactOS Calc", IDM_HELP_ABOUT
+ END
+ END
+
+ IDR_MENU_SCIENTIFIC_2 MENU DISCARDABLE
+ BEGIN
+ POPUP "á&¡éä¢"
+ BEGIN
+ MENUITEM "¤Ñ´ÅÍ¡\tCTRL-C", IDM_EDIT_COPY
+ MENUITEM "ÇÒ§\tCTRL-V", IDM_EDIT_PASTE
+ END
+ POPUP "&ÁØÁÁͧ"
+ BEGIN
+ MENUITEM "ẺÁҵðҹ", IDM_VIEW_STANDARD, CHECKED
+ MENUITEM "ẺÇÔ·ÂÒÈÒʵÃì", IDM_VIEW_SCIENTIFIC, CHECKED
+ MENUITEM "¤ÇÒÁà»ÅÕè¹á»Å§", IDM_VIEW_CONVERSION
+ MENUITEM SEPARATOR
+ MENUITEM "°Ò¹ÊԺˡ\tF5", IDM_VIEW_HEX, CHECKED
+ MENUITEM "°Ò¹ÊÔº\tF6", IDM_VIEW_DEC, CHECKED
+ MENUITEM "°Ò¹á»´\tF7", IDM_VIEW_OCT, CHECKED
+ MENUITEM "°Ò¹Êͧ\tF8", IDM_VIEW_BIN, CHECKED
+ MENUITEM SEPARATOR
+ MENUITEM "¤ÇÍ·àÇÔÃì´\tF12", IDM_VIEW_QWORD, CHECKED
+ MENUITEM "´ÑºàºÔÅàÇÔÃì´\tF2", IDM_VIEW_DWORD, CHECKED
+ MENUITEM "àÇÔÃì´\tF3", IDM_VIEW_WORD, CHECKED
+ MENUITEM "亵ì\tF4", IDM_VIEW_BYTE, CHECKED
+ MENUITEM SEPARATOR
+ MENUITEM "áÊ´§ËÅÑ¡µÑÇàÅ¢", IDM_VIEW_GROUP, CHECKED
+ END
+ POPUP "&ªèÇÂàËÅ×Í"
+ BEGIN
+ MENUITEM "¢éÍÁÙŪèÇÂàËÅ×Í", IDM_HELP_HELP
+ MENUITEM SEPARATOR
+ MENUITEM "à¡ÕèÂǡѺ ReactOS Calc", IDM_HELP_ABOUT
+ END
+ END
+
+ IDR_MENU_STANDARD MENU DISCARDABLE
+ BEGIN
+ POPUP "á&¡éä¢"
+ BEGIN
+ MENUITEM "¤Ñ´ÅÍ¡\tCTRL-C", IDM_EDIT_COPY
+ MENUITEM "ÇÒ§\tCTRL-V", IDM_EDIT_PASTE
+ END
+ POPUP "&ÁØÁÁͧ"
+ BEGIN
+ MENUITEM "ẺÁҵðҹ", IDM_VIEW_STANDARD, CHECKED
+ MENUITEM "ẺÇÔ·ÂÒÈÒʵÃì", IDM_VIEW_SCIENTIFIC, CHECKED
+ MENUITEM "¤ÇÒÁà»ÅÕè¹á»Å§", IDM_VIEW_CONVERSION
+ MENUITEM SEPARATOR
+ MENUITEM "áÊ´§ËÅÑ¡µÑÇàÅ¢", IDM_VIEW_GROUP, CHECKED
+ END
+ POPUP "&ªèÇÂàËÅ×Í"
+ BEGIN
+ MENUITEM "¢éÍÁÙŪèÇÂàËÅ×Í", IDM_HELP_HELP
+ MENUITEM SEPARATOR
+ MENUITEM "à¡ÕèÂǡѺ ReactOS Calc", IDM_HELP_ABOUT
+ END
+ END
+
+ // String Tables
+
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_STRING_LICENSE "ReactOS Calc is free software released under GNU GPL license.\r\n\r\nYou can get a copy of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nYou can also get a translation of GNU GPL license here:\r\nhttp://www.gnu.org/licenses/translations.html"
+ IDS_MATH_ERROR "¼Ô´¾ÅÒ´"
+ IDS_QUICKHELP "ÊÔ觹Õé¤×ÍÍÐäà ?"
+ END
+
+ // types of conversion
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ + IDS_CONV_ANGLE "ÁØÁ"
+ IDS_CONV_AREA "¾×é¹·Õè"
+ IDS_CONV_CONSUMPTION "Consumption (engines)"
+ IDS_CONV_CURRENCY "Currencies"
+ IDS_CONV_ENERGY "Energy"
+ IDS_CONV_LENGTH "Lenghts"
+ IDS_CONV_POWER "Power"
+ IDS_CONV_PRESSURE "Pressure"
+ IDS_CONV_TEMPERATURE "Temperature"
+ + IDS_CONV_TIME "àÇÅÒ"
+ IDS_CONV_VELOCITY "Velocity"
+ IDS_CONV_VOLUME "Volume"
+ IDS_CONV_WEIGHT "Weights"
+ END
+
+ +// TYPES OF ANGLES
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_ANGLE_DEGREES "ͧÈÒ"
+ + IDS_ANGLE_GRADIANS "à¡Ãà´Õ¹"
+ + IDS_ANGLE_RADIANS "àÃà´Õ¹"
+ +END
+ +
+ // TYPES OF AREAS
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_AREA_ACRES "Acres"
+ IDS_AREA_ACRES_BRAZIL "Acres (Brazil)"
+ IDS_AREA_ACRES_FRANCE "Acres (France)"
+ IDS_AREA_ACRES_SCOTS "Acres (Scots)"
+ IDS_AREA_ACRES_US "Acres (US)"
+ IDS_AREA_ARES "Ares"
+ IDS_AREA_CHOU "Chou"
+ IDS_AREA_DANBO "Danbo"
+ IDS_AREA_HECTARES "Hectares"
+ IDS_AREA_JEONGBO "Jeongbo"
+ IDS_AREA_MORGEN_HUNGARY "Morgen (Hungary)"
+ IDS_AREA_MU "Mu"
+ IDS_AREA_PING "Ping"
+ IDS_AREA_PYEONG "Pyeong"
+ IDS_AREA_PYEONGBANGJA "Pyeongbangja"
+ IDS_AREA_RAI "Rai"
+ IDS_AREA_SE "Se"
+ IDS_AREA_SQUARE_CENTIMETERS "Square centimeters"
+ IDS_AREA_SQUARE_CHR "Square chr"
+ IDS_AREA_SQUARE_FATHOMS "Square fathoms"
+ IDS_AREA_SQUARE_FATHOMS_HUNGARY "Square fathoms (Hungary)"
+ IDS_AREA_SQUARE_FEET "Square feet"
+ IDS_AREA_SQUARE_INCHES "Square inches"
+ IDS_AREA_SQUARE_KILOMETERS "Square kilometers"
+ IDS_AREA_SQUARE_LAR "Square lar"
+ IDS_AREA_SQUARE_METER "Square meter"
+ IDS_AREA_SQUARE_MILES "Square miles"
+ IDS_AREA_SQUARE_MILLIMETERS "Square millimeters"
+ IDS_AREA_SQUARE_SHAKU "Square shaku"
+ IDS_AREA_SQUARE_TSUEN "Square tsuen"
+ IDS_AREA_SQUARE_VA "Square va"
+ IDS_AREA_SQUARE_YARD "Square yard"
+ IDS_AREA_TAN "Tan"
+ IDS_AREA_TSUBO "Tsubo"
+ END
+
+ // TYPES OF COMSUMPTIONS
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_CONSUMPTION_KM_PER_L "Kilometer/liter"
+ IDS_CONSUMPTION_L_PER_100_KM "Liters/100 kilometers"
+ IDS_CONSUMPTION_MILES_GALLON_UK "Miles/gallon (UK)"
+ IDS_CONSUMPTION_MILES_GALLON_US "Miles/gallon (US)"
+ END
+
+ // TYPES OF CURRENCIES
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_CURRENCY_AUSTRIAN_SCHILLING "Austrian schilling"
+ IDS_CURRENCY_BELGIAN_FRANC "Belgian franc"
+ IDS_CURRENCY_CYPRIOT_POUND "Cypriot pound"
+ + IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
+ IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
+ IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
- IDS_ENERGY_15_C_CALORIES "15 ^C calories"
+ + IDS_CURRENCY_EURO "ÂÙâÃ"
+ IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
+ IDS_CURRENCY_FRENCH_FRANC "French franc"
+ IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
+ IDS_CURRENCY_IRISH_POUND "Irish pound"
+ IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
+ IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
+ IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
+ IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
+ IDS_CURRENCY_SLOVAK_KORUNA "Slovak koruna"
+ IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenian tolar"
+ IDS_CURRENCY_SPANISH_PESETA "Spanish peseta"
+ END
+
+ // TYPES OF ENERGIES
+ STRINGTABLE DISCARDABLE
+ BEGIN
- IDS_LENGTH_ASTRONOMILA_UNITS "Astronomila units"
+ + IDS_ENERGY_15_C_CALORIES "15 ^0C á¤ÅÍÃÕ"
+ + IDS_ENERGY_BTUS "British Thermal Units"
+ IDS_ENERGY_ERGS "Ergs"
+ + IDS_ENERGY_EVS "Electron-Volts"
+ + IDS_ENERGY_FOOT_POUNDS "Foot-Pounds"
+ IDS_ENERGY_IT_CALORIES "International Table calories"
+ + IDS_ENERGY_IT_KILOCALORIES "International Table kilocalories"
+ IDS_ENERGY_JOULES "Joules"
+ IDS_ENERGY_KILOJOULES "Kilojoules"
+ IDS_ENERGY_KILOWATT_HOURS "Kilowatt hours"
+ IDS_ENERGY_NUTRITION_CALORIES "Nutrition calories"
+ IDS_ENERGY_TH_CALORIES "Thermochemical calorie"
+ END
+
+ // TYPES OF LENGTHS
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_LENGTH_ANGSTROMS "Angstroms"
- IDS_TIME_MILLISECONDS "Milliseconds"
+ + IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomical units"
+ IDS_LENGTH_BARLEYCORNS "Barleycorns"
+ IDS_LENGTH_CENTIMETERS "Centimeters"
+ IDS_LENGTH_CHAINS_UK "Chains (UK)"
+ IDS_LENGTH_CHI "Chi"
+ IDS_LENGTH_CHOU "Chou"
+ IDS_LENGTH_CHR "Chr"
+ IDS_LENGTH_CUN "Cun"
+ IDS_LENGTH_FATHOMS "Fathoms"
+ IDS_LENGTH_FATHOMS_HUNGARY "Fathoms (Hungary)"
+ IDS_LENGTH_FEET "Feet"
+ IDS_LENGTH_FURLONGS "Furlongs"
+ IDS_LENGTH_GAN "Gan"
+ IDS_LENGTH_HANDS "Hands"
+ IDS_LENGTH_HUNH "Hunh"
+ IDS_LENGTH_INCHES "Inches"
+ IDS_LENGTH_JA "Ja"
+ IDS_LENGTH_JEONG "Jeong"
+ IDS_LENGTH_KABIET "Kabiet"
+ IDS_LENGTH_KEN "Ken"
+ IDS_LENGTH_KEUB "Keub"
+ IDS_LENGTH_KILOMETERS "Kilometers"
+ IDS_LENGTH_LAR "Lar"
+ IDS_LENGTH_LIGHT_YEARS "Light years"
+ IDS_LENGTH_LINKS_UK "Links (UK)"
+ IDS_LENGTH_METERS "Meters"
+ + IDS_LENGTH_MICRONS "Microns"
+ IDS_LENGTH_MILES "Miles"
+ IDS_LENGTH_MILLIMETERS "Millimeters"
+ IDS_LENGTH_NAUTICAL_MILES "Nautical miles"
+ IDS_LENGTH_NIEU "Nieu"
+ IDS_LENGTH_PARSECS "Parsecs"
+ IDS_LENGTH_PICAS "Picas"
+ IDS_LENGTH_RI_JAPAN "Ri (Japan)"
+ IDS_LENGTH_RI_KOREA "Ri (Korea)"
+ + IDS_LENGTH_RODS "Rods"
+ IDS_LENGTH_SAWK "Sawk"
+ IDS_LENGTH_SEN "Sen"
+ IDS_LENGTH_SHAKU "Shaku"
+ IDS_LENGTH_SPAN "Span"
+ IDS_LENGTH_SUN "Sun"
+ IDS_LENGTH_TSUEN "Tsuen"
+ IDS_LENGTH_VA "Va"
+ IDS_LENGTH_YARDS "Yards"
+ IDS_LENGTH_YOTE "Yote"
+ IDS_LENGTH_ZHANG "Zhang"
+ END
+
+ // TYPES OF POWERS
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ + IDS_POWER_BTUS_PER_MINUTE "British Thermal Units per minute"
+ + IDS_POWER_FPS_PER_MINUTE "Foot-Pounds per minute"
+ IDS_POWER_HORSEPOWER "Horsepower"
+ IDS_POWER_KILOWATTS "Kilowatts"
+ IDS_POWER_MEGAWATTS "Megawatts"
+ IDS_POWER_WATTS "Watts"
+ END
+
+ // TYPE OF PRESSURES
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_PRESSURE_ATMOSPHERES "Atmospheres"
+ IDS_PRESSURE_BARS "Bars"
+ + IDS_PRESSURE_HECTOPASCALS "Hectopascals"
+ + IDS_PRESSURE_KILOPASCALS "Kilopascals"
+ IDS_PRESSURE_MM_OF_MERCURY "Millimeters of mercury"
+ IDS_PRESSURE_PASCALS "Pascals"
+ IDS_PRESSURE_PSI "Pounds-force per square inch"
+ END
+
+ // TYPES OF TEMPERATURES
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_TEMPERATURE_CELSIUS "Celsius"
+ IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
+ IDS_TEMPERATURE_KELVIN "Kelvin"
+ IDS_TEMPERATURE_RANKINE "Rankine"
+ END
+
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "Days"
+ + IDS_TIME_HOURS "Hours"
+ + IDS_TIME_MICROSECONDS "Microseconds"
+++ IDS_TIME_MILISECONDS "Miliseconds"
+ + IDS_TIME_MINUTES "Minutes"
+ + IDS_TIME_SECONDS "Seconds"
+ + IDS_TIME_WEEKS "Weeks"
+ + IDS_TIME_YEARS "Years"
+ +END
+ +
+ // TYPES OF VELOCITIES
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ + IDS_VELOCITY_CMS_SECOND "Centimeters/hour"
+ IDS_VELOCITY_FEET_HOUR "Feet/hour"
+ + IDS_VELOCITY_FEET_SECOND "Feet/second"
+ IDS_VELOCITY_KILOMETERS_HOUR "Kilometers/hour"
+ IDS_VELOCITY_KNOTS "Knots"
+ IDS_VELOCITY_MACH "Mach"
+ IDS_VELOCITY_METERS_SECOND "Meters/second"
+ IDS_VELOCITY_MILES_HOUR "Miles/hour"
+ END
+
+ // TYPES OF VOLUMES
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_VOLUME_BARRELS_UK "Barrels (UK)"
+ IDS_VOLUME_BARRELS_OIL "Barrels oil"
+ IDS_VOLUME_BUN "Bun"
+ IDS_VOLUME_BUSHELS_UK "Bushels (UK)"
+ IDS_VOLUME_BUSHELS_US "Bushels (US)"
+ IDS_VOLUME_CUBIC_CENTIMETERS "Cubic centimeters"
+ IDS_VOLUME_CUBIC_FEET "Cubic feet"
+ IDS_VOLUME_CUBIC_INCHES "Cubic inches"
+ IDS_VOLUME_CUBIC_METERS "Cubic meters"
+ IDS_VOLUME_CUBIC_YARDS "Cubic yards"
+ IDS_VOLUME_DOE "Doe"
+ IDS_VOLUME_FLUID_OUNCES_UK "Fluid ounces (UK)"
+ IDS_VOLUME_FLUID_OUNCES_US "Fluid ounces (US)"
+ IDS_VOLUME_GALLONS_UK "Gallons (UK)"
+ IDS_VOLUME_GALLONS_DRY_US "Gallons, dry (US)"
+ IDS_VOLUME_GALLONS_LIQUID_US "Gallons, liquid (US)"
+ IDS_VOLUME_GOU "Gou"
+ IDS_VOLUME_HOP "Hop"
+ IDS_VOLUME_ICCE "Icce"
+ IDS_VOLUME_KWIAN "Kwian"
+ IDS_VOLUME_LITERS "Liters"
+ IDS_VOLUME_MAL "Mal"
+ IDS_VOLUME_MILLILITERS "Milliliters"
+ IDS_VOLUME_PINTS_UK "Pints (UK)"
+ IDS_VOLUME_PINTS_DRY_US "Pints, dry (US)"
+ IDS_VOLUME_PINTS_LIQUID_US "Pints, liquid (US)"
+ IDS_VOLUME_QUARTS_UK "Quarts (UK)"
+ IDS_VOLUME_QUARTS_DRY_US "Quarts, dry (US)"
+ IDS_VOLUME_QUARTS_LIQUID_US "Quarts, liquid (US)"
+ IDS_VOLUME_SEKI "Seki"
+ IDS_VOLUME_SYOU "Syou"
+ IDS_VOLUME_TANANLOUNG "Tananloung"
+ IDS_VOLUME_TANG "Tang"
+ IDS_VOLUME_TO "To"
+ END
+
+ // TYPES OF WEIGHTS
+ STRINGTABLE DISCARDABLE
+ BEGIN
+ IDS_WEIGHT_BAHT "Baht"
+ IDS_WEIGHT_CARATS "Carats"
+ IDS_WEIGHT_CHUNG "Chung"
+ IDS_WEIGHT_DON "Don"
+ IDS_WEIGHT_GEUN "Geun"
+ IDS_WEIGHT_GRAMS "Grams"
+ IDS_WEIGHT_GWAN "Gwan"
+ IDS_WEIGHT_HARB "Harb"
+ IDS_WEIGHT_JIN_CHINA "Jin (China)"
+ IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
+ IDS_WEIGHT_KAN "Kan"
+ IDS_WEIGHT_KILOGRAMS "Kilograms"
+ IDS_WEIGHT_KIN "Kin"
+ IDS_WEIGHT_LIANG_CHINA "Liang (China)"
+ IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
+ IDS_WEIGHT_MONME "Monme"
+ IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Ounces, avoirdupois"
+ IDS_WEIGHT_OUNCES_TROY "Ounces, troy"
+ IDS_WEIGHT_POUNDS "Pounds"
+ IDS_WEIGHT_QUINTAL_METRIC "Quintal (metric)"
+ IDS_WEIGHT_SALOUNG "Saloung"
+ IDS_WEIGHT_STONES "Stones"
+ IDS_WEIGHT_TAMLUNG "Tamlung"
+ IDS_WEIGHT_TONNES "Tonnes"
+ IDS_WEIGHT_TONS_UK "Tons (UK)"
+ IDS_WEIGHT_TONS_US "Tons (US)"
+ END
// TYPES OF TEMPERATURES
STRINGTABLE DISCARDABLE
BEGIN
- - IDS_TEMPERATURE_CELSIUS "Celsius"
- - IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
- - IDS_TEMPERATURE_KELVIN "Kelvin"
- - IDS_TEMPERATURE_RANKINE "Rankine"
+ + IDS_TEMPERATURE_CELSIUS "ãðàäóñ (çà øêàëîþ Öåëüñ³ÿ)"
+ + IDS_TEMPERATURE_FAHRENHEIT "ãðàäóñ (çà øêàëîþ Ôàðåíãåéòà)"
+ + IDS_TEMPERATURE_KELVIN "ãðàäóñ (çà øêàëîþ Êåëüâ³íà)"
+ + IDS_TEMPERATURE_RANKINE "ãðàäóñ (çà øêàëîþ Ðàíê³íà)"
+ +END
+ +
+ +// TYPES OF TIME
+ +STRINGTABLE DISCARDABLE
+ +BEGIN
+ + IDS_TIME_DAYS "äîáà"
+ + IDS_TIME_HOURS "ãîäèíà"
+ + IDS_TIME_MICROSECONDS "ì³êðîñåêóíäà"
- IDS_TIME_MILLISECONDS "ì³ë³ñåêóíäà"
+++ IDS_TIME_MILISECONDS "ì³ë³ñåêóíäà"
+ + IDS_TIME_MINUTES "õâèëèíà"
+ + IDS_TIME_SECONDS "ñåêóíäà"
+ + IDS_TIME_WEEKS "òèæäåíü"
+ + IDS_TIME_YEARS "ð³ê"
END
// TYPES OF VELOCITIES
#define IDC_BUTTON_RSH 1093
/* TYPES OF CONVERSIONS */
- -#define IDS_CONV_AREA 2000
- -#define IDS_CONV_CONSUMPTION 2001
- -#define IDS_CONV_CURRENCY 2002
- -#define IDS_CONV_ENERGY 2003
- -#define IDS_CONV_LENGTH 2004
- -#define IDS_CONV_POWER 2005
- -#define IDS_CONV_PRESSURE 2006
- -#define IDS_CONV_TEMPERATURE 2007
- -#define IDS_CONV_VELOCITY 2008
- -#define IDS_CONV_VOLUME 2009
- -#define IDS_CONV_WEIGHT 2010
+ +#define IDS_CONV_ANGLE 2000
+ +#define IDS_CONV_AREA 2001
+ +#define IDS_CONV_CONSUMPTION 2002
+ +#define IDS_CONV_CURRENCY 2003
+ +#define IDS_CONV_ENERGY 2004
+ +#define IDS_CONV_LENGTH 2005
+ +#define IDS_CONV_POWER 2006
+ +#define IDS_CONV_PRESSURE 2007
+ +#define IDS_CONV_TEMPERATURE 2008
+ +#define IDS_CONV_TIME 2009
+ +#define IDS_CONV_VELOCITY 2010
+ +#define IDS_CONV_VOLUME 2011
+ +#define IDS_CONV_WEIGHT 2012
+ +
+ +/* TYPES OF ANGLES */
+ +#define IDS_ANGLE_DEGREES 2100
+ +#define IDS_ANGLE_GRADIANS 2101
+ +#define IDS_ANGLE_RADIANS 2102
/* TYPES OF AREAS */
- -#define IDS_AREA_ACRES 2100
- -#define IDS_AREA_ACRES_BRAZIL 2101
- -#define IDS_AREA_ACRES_FRANCE 2102
- -#define IDS_AREA_ACRES_SCOTS 2103
- -#define IDS_AREA_ACRES_US 2104
- -#define IDS_AREA_ARES 2105
- -#define IDS_AREA_CHOU 2106
- -#define IDS_AREA_DANBO 2107
- -#define IDS_AREA_HECTARES 2108
- -#define IDS_AREA_JEONGBO 2109
- -#define IDS_AREA_MORGEN_HUNGARY 2110
- -#define IDS_AREA_MU 2111
- -#define IDS_AREA_PING 2112
- -#define IDS_AREA_PYEONG 2113
- -#define IDS_AREA_PYEONGBANGJA 2114
- -#define IDS_AREA_RAI 2115
- -#define IDS_AREA_SE 2116
- -#define IDS_AREA_SQUARE_CENTIMETERS 2117
- -#define IDS_AREA_SQUARE_CHR 2118
- -#define IDS_AREA_SQUARE_FATHOMS 2119
- -#define IDS_AREA_SQUARE_FATHOMS_HUNGARY 2120
- -#define IDS_AREA_SQUARE_FEET 2121
- -#define IDS_AREA_SQUARE_INCHES 2122
- -#define IDS_AREA_SQUARE_KILOMETERS 2123
- -#define IDS_AREA_SQUARE_LAR 2124
- -#define IDS_AREA_SQUARE_METER 2125
- -#define IDS_AREA_SQUARE_MILES 2126
- -#define IDS_AREA_SQUARE_MILLIMETERS 2127
- -#define IDS_AREA_SQUARE_SHAKU 2128
- -#define IDS_AREA_SQUARE_TSUEN 2129
- -#define IDS_AREA_SQUARE_VA 2130
- -#define IDS_AREA_SQUARE_YARD 2131
- -#define IDS_AREA_TAN 2132
- -#define IDS_AREA_TSUBO 2133
+ +#define IDS_AREA_ACRES 2200
+ +#define IDS_AREA_ACRES_BRAZIL 2201
+ +#define IDS_AREA_ACRES_FRANCE 2202
+ +#define IDS_AREA_ACRES_SCOTS 2203
+ +#define IDS_AREA_ACRES_US 2204
+ +#define IDS_AREA_ARES 2205
+ +#define IDS_AREA_CHOU 2206
+ +#define IDS_AREA_DANBO 2207
+ +#define IDS_AREA_HECTARES 2208
+ +#define IDS_AREA_JEONGBO 2209
+ +#define IDS_AREA_MORGEN_HUNGARY 2210
+ +#define IDS_AREA_MU 2211
+ +#define IDS_AREA_PING 2212
+ +#define IDS_AREA_PYEONG 2213
+ +#define IDS_AREA_PYEONGBANGJA 2214
+ +#define IDS_AREA_RAI 2215
+ +#define IDS_AREA_SE 2216
+ +#define IDS_AREA_SQUARE_CENTIMETERS 2217
+ +#define IDS_AREA_SQUARE_CHR 2218
+ +#define IDS_AREA_SQUARE_FATHOMS 2219
+ +#define IDS_AREA_SQUARE_FATHOMS_HUNGARY 2220
+ +#define IDS_AREA_SQUARE_FEET 2221
+ +#define IDS_AREA_SQUARE_INCHES 2222
+ +#define IDS_AREA_SQUARE_KILOMETERS 2223
+ +#define IDS_AREA_SQUARE_LAR 2224
+ +#define IDS_AREA_SQUARE_METER 2225
+ +#define IDS_AREA_SQUARE_MILES 2226
+ +#define IDS_AREA_SQUARE_MILLIMETERS 2227
+ +#define IDS_AREA_SQUARE_SHAKU 2228
+ +#define IDS_AREA_SQUARE_TSUEN 2229
+ +#define IDS_AREA_SQUARE_VA 2230
+ +#define IDS_AREA_SQUARE_YARD 2231
+ +#define IDS_AREA_TAN 2232
+ +#define IDS_AREA_TSUBO 2233
/* TYPES OF COMSUMPTIONS */
- -#define IDS_CONSUMPTION_KM_PER_L 2200
- -#define IDS_CONSUMPTION_L_PER_100_KM 2201
- -#define IDS_CONSUMPTION_MILES_GALLON_UK 2202
- -#define IDS_CONSUMPTION_MILES_GALLON_US 2203
+ +#define IDS_CONSUMPTION_KM_PER_L 2300
+ +#define IDS_CONSUMPTION_L_PER_100_KM 2301
+ +#define IDS_CONSUMPTION_MILES_GALLON_UK 2302
+ +#define IDS_CONSUMPTION_MILES_GALLON_US 2303
/* TYPES OF CURRENCIES */
- -#define IDS_CURRENCY_AUSTRIAN_SCHILLING 2300
- -#define IDS_CURRENCY_BELGIAN_FRANC 2301
- -#define IDS_CURRENCY_CYPRIOT_POUND 2302
- -#define IDS_CURRENCY_DEUTSCHE_MARK 2303
- -#define IDS_CURRENCY_DUTCH_GUILDER 2304
- -#define IDS_CURRENCY_EURO 2305
- -#define IDS_CURRENCY_FINNISH_MARKKA 2306
- -#define IDS_CURRENCY_FRENCH_FRANC 2307
- -#define IDS_CURRENCY_GREEK_DRACHMA 2308
- -#define IDS_CURRENCY_IRISH_POUND 2309
- -#define IDS_CURRENCY_ITALIAN_LIRA 2310
- -#define IDS_CURRENCY_LUXEMBOURG_FRANC 2311
- -#define IDS_CURRENCY_MALTESE_LIRA 2312
- -#define IDS_CURRENCY_PORTOGUESE_ESCUDO 2313
- -#define IDS_CURRENCY_SLOVAK_KORUNA 2314
- -#define IDS_CURRENCY_SLOVENIAN_TOLAR 2315
- -#define IDS_CURRENCY_SPANISH_PESETA 2316
+ +#define IDS_CURRENCY_AUSTRIAN_SCHILLING 2400
+ +#define IDS_CURRENCY_BELGIAN_FRANC 2401
+ +#define IDS_CURRENCY_CYPRIOT_POUND 2402
+ +#define IDS_CURRENCY_CZECH_KORUNA 2403
+ +#define IDS_CURRENCY_DEUTSCHE_MARK 2404
+ +#define IDS_CURRENCY_DUTCH_GUILDER 2405
+ +#define IDS_CURRENCY_EURO 2406
+ +#define IDS_CURRENCY_FINNISH_MARKKA 2407
+ +#define IDS_CURRENCY_FRENCH_FRANC 2408
+ +#define IDS_CURRENCY_GREEK_DRACHMA 2409
+ +#define IDS_CURRENCY_IRISH_POUND 2410
+ +#define IDS_CURRENCY_ITALIAN_LIRA 2411
+ +#define IDS_CURRENCY_LUXEMBOURG_FRANC 2412
+ +#define IDS_CURRENCY_MALTESE_LIRA 2413
+ +#define IDS_CURRENCY_PORTOGUESE_ESCUDO 2414
+ +#define IDS_CURRENCY_SLOVAK_KORUNA 2415
+ +#define IDS_CURRENCY_SLOVENIAN_TOLAR 2416
+ +#define IDS_CURRENCY_SPANISH_PESETA 2417
/* TYPES OF ENERGIES */
- -#define IDS_ENERGY_15_C_CALORIES 2400
- -#define IDS_ENERGY_ERGS 2401
- -#define IDS_ENERGY_IT_CALORIES 2402
- -#define IDS_ENERGY_JOULES 2403
- -#define IDS_ENERGY_KILOJOULES 2404
- -#define IDS_ENERGY_KILOWATT_HOURS 2405
- -#define IDS_ENERGY_NUTRITION_CALORIES 2406
- -#define IDS_ENERGY_TH_CALORIES 2407
+ +#define IDS_ENERGY_15_C_CALORIES 2500
+ +#define IDS_ENERGY_BTUS 2501
+ +#define IDS_ENERGY_ERGS 2502
+ +#define IDS_ENERGY_EVS 2503
+ +#define IDS_ENERGY_FOOT_POUNDS 2504
+ +#define IDS_ENERGY_IT_CALORIES 2505
+ +#define IDS_ENERGY_IT_KILOCALORIES 2506
+ +#define IDS_ENERGY_JOULES 2507
+ +#define IDS_ENERGY_KILOJOULES 2508
+ +#define IDS_ENERGY_KILOWATT_HOURS 2509
+ +#define IDS_ENERGY_NUTRITION_CALORIES 2510
+ +#define IDS_ENERGY_TH_CALORIES 2511
/* TYPES OF LENGTHS */
- -#define IDS_LENGTH_ANGSTROMS 2500
- -#define IDS_LENGTH_ASTRONOMILA_UNITS 2501
- -#define IDS_LENGTH_BARLEYCORNS 2502
- -#define IDS_LENGTH_CENTIMETERS 2503
- -#define IDS_LENGTH_CHAINS_UK 2504
- -#define IDS_LENGTH_CHI 2505
- -#define IDS_LENGTH_CHOU 2506
- -#define IDS_LENGTH_CHR 2507
- -#define IDS_LENGTH_CUN 2508
- -#define IDS_LENGTH_FATHOMS 2509
- -#define IDS_LENGTH_FATHOMS_HUNGARY 2510
- -#define IDS_LENGTH_FEET 2511
- -#define IDS_LENGTH_FURLONGS 2512
- -#define IDS_LENGTH_GAN 2513
- -#define IDS_LENGTH_HANDS 2514
- -#define IDS_LENGTH_HUNH 2515
- -#define IDS_LENGTH_INCHES 2516
- -#define IDS_LENGTH_JA 2517
- -#define IDS_LENGTH_JEONG 2518
- -#define IDS_LENGTH_KABIET 2519
- -#define IDS_LENGTH_KEN 2520
- -#define IDS_LENGTH_KEUB 2521
- -#define IDS_LENGTH_KILOMETERS 2522
- -#define IDS_LENGTH_LAR 2523
- -#define IDS_LENGTH_LIGHT_YEARS 2524
- -#define IDS_LENGTH_LINKS_UK 2525
- -#define IDS_LENGTH_METERS 2526
- -#define IDS_LENGTH_MILES 2527
- -#define IDS_LENGTH_MILLIMETERS 2528
- -#define IDS_LENGTH_NAUTICAL_MILES 2529
- -#define IDS_LENGTH_NIEU 2530
- -#define IDS_LENGTH_PARSECS 2531
- -#define IDS_LENGTH_PICAS 2532
- -#define IDS_LENGTH_RI_JAPAN 2533
- -#define IDS_LENGTH_RI_KOREA 2534
- -#define IDS_LENGTH_SAWK 2535
- -#define IDS_LENGTH_SEN 2536
- -#define IDS_LENGTH_SHAKU 2537
- -#define IDS_LENGTH_SPAN 2538
- -#define IDS_LENGTH_SUN 2539
- -#define IDS_LENGTH_TSUEN 2540
- -#define IDS_LENGTH_VA 2541
- -#define IDS_LENGTH_YARDS 2542
- -#define IDS_LENGTH_YOTE 2543
- -#define IDS_LENGTH_ZHANG 2544
+ +#define IDS_LENGTH_ANGSTROMS 2600
+ +#define IDS_LENGTH_ASTRONOMICAL_UNITS 2601
+ +#define IDS_LENGTH_BARLEYCORNS 2602
+ +#define IDS_LENGTH_CENTIMETERS 2603
+ +#define IDS_LENGTH_CHAINS_UK 2604
+ +#define IDS_LENGTH_CHI 2605
+ +#define IDS_LENGTH_CHOU 2606
+ +#define IDS_LENGTH_CHR 2607
+ +#define IDS_LENGTH_CUN 2608
+ +#define IDS_LENGTH_FATHOMS 2609
+ +#define IDS_LENGTH_FATHOMS_HUNGARY 2610
+ +#define IDS_LENGTH_FEET 2611
+ +#define IDS_LENGTH_FURLONGS 2612
+ +#define IDS_LENGTH_GAN 2613
+ +#define IDS_LENGTH_HANDS 2614
+ +#define IDS_LENGTH_HUNH 2615
+ +#define IDS_LENGTH_INCHES 2616
+ +#define IDS_LENGTH_JA 2617
+ +#define IDS_LENGTH_JEONG 2618
+ +#define IDS_LENGTH_KABIET 2619
+ +#define IDS_LENGTH_KEN 2620
+ +#define IDS_LENGTH_KEUB 2621
+ +#define IDS_LENGTH_KILOMETERS 2622
+ +#define IDS_LENGTH_LAR 2623
+ +#define IDS_LENGTH_LIGHT_YEARS 2624
+ +#define IDS_LENGTH_LINKS_UK 2625
+ +#define IDS_LENGTH_METERS 2626
+ +#define IDS_LENGTH_MICRONS 2627
+ +#define IDS_LENGTH_MILES 2628
+ +#define IDS_LENGTH_MILLIMETERS 2629
+ +#define IDS_LENGTH_NAUTICAL_MILES 2630
+ +#define IDS_LENGTH_NIEU 2631
+ +#define IDS_LENGTH_PARSECS 2632
+ +#define IDS_LENGTH_PICAS 2633
+ +#define IDS_LENGTH_RODS 2634
+ +#define IDS_LENGTH_RI_JAPAN 2635
+ +#define IDS_LENGTH_RI_KOREA 2636
+ +#define IDS_LENGTH_SAWK 2637
+ +#define IDS_LENGTH_SEN 2638
+ +#define IDS_LENGTH_SHAKU 2639
+ +#define IDS_LENGTH_SPAN 2640
+ +#define IDS_LENGTH_SUN 2641
+ +#define IDS_LENGTH_TSUEN 2642
+ +#define IDS_LENGTH_VA 2643
+ +#define IDS_LENGTH_YARDS 2644
+ +#define IDS_LENGTH_YOTE 2645
+ +#define IDS_LENGTH_ZHANG 2646
/* TYPES OF POWERS */
- -#define IDS_POWER_HORSEPOWER 2600
- -#define IDS_POWER_KILOWATTS 2601
- -#define IDS_POWER_MEGAWATTS 2602
- -#define IDS_POWER_WATTS 2603
+ +#define IDS_POWER_BTUS_PER_MINUTE 2700
+ +#define IDS_POWER_FPS_PER_MINUTE 2701
+ +#define IDS_POWER_HORSEPOWER 2702
+ +#define IDS_POWER_KILOWATTS 2703
+ +#define IDS_POWER_MEGAWATTS 2704
+ +#define IDS_POWER_WATTS 2705
/* TYPE OF PRESSURES */
- -#define IDS_PRESSURE_ATMOSPHERES 2701
- -#define IDS_PRESSURE_BARS 2702
- -#define IDS_PRESSURE_MM_OF_MERCURY 2703
- -#define IDS_PRESSURE_PASCALS 2704
- -#define IDS_PRESSURE_PSI 2705
+ +#define IDS_PRESSURE_ATMOSPHERES 2800
+ +#define IDS_PRESSURE_BARS 2801
+ +#define IDS_PRESSURE_HECTOPASCALS 2802
+ +#define IDS_PRESSURE_KILOPASCALS 2803
+ +#define IDS_PRESSURE_MM_OF_MERCURY 2804
+ +#define IDS_PRESSURE_PASCALS 2805
+ +#define IDS_PRESSURE_PSI 2806
/* TYPES OF TEMPERATURES */
- -#define IDS_TEMPERATURE_CELSIUS 2800
- -#define IDS_TEMPERATURE_FAHRENHEIT 2801
- -#define IDS_TEMPERATURE_KELVIN 2802
- -#define IDS_TEMPERATURE_RANKINE 2803
+ +#define IDS_TEMPERATURE_CELSIUS 2900
+ +#define IDS_TEMPERATURE_FAHRENHEIT 2901
+ +#define IDS_TEMPERATURE_KELVIN 2902
+ +#define IDS_TEMPERATURE_RANKINE 2903
+ +
+ +/* TYPE OF TIME */
+ +#define IDS_TIME_DAYS 3001
+ +#define IDS_TIME_HOURS 3002
+ +#define IDS_TIME_MICROSECONDS 3003
- #define IDS_TIME_MILLISECONDS 3004
+++#define IDS_TIME_MILISECONDS 3004
+ +#define IDS_TIME_MINUTES 3005
+ +#define IDS_TIME_SECONDS 3006
+ +#define IDS_TIME_WEEKS 3007
+ +#define IDS_TIME_YEARS 3008
/* TYPES OF VELOCITIES */
- -#define IDS_VELOCITY_FEET_HOUR 2900
- -#define IDS_VELOCITY_KILOMETERS_HOUR 2901
- -#define IDS_VELOCITY_KNOTS 2902
- -#define IDS_VELOCITY_MACH 2903
- -#define IDS_VELOCITY_METERS_SECOND 2904
- -#define IDS_VELOCITY_MILES_HOUR 2905
+ +#define IDS_VELOCITY_CMS_SECOND 3100
+ +#define IDS_VELOCITY_FEET_SECOND 3101
+ +#define IDS_VELOCITY_FEET_HOUR 3102
+ +#define IDS_VELOCITY_KILOMETERS_HOUR 3103
+ +#define IDS_VELOCITY_KNOTS 3104
+ +#define IDS_VELOCITY_MACH 3105
+ +#define IDS_VELOCITY_METERS_SECOND 3106
+ +#define IDS_VELOCITY_MILES_HOUR 3107
/* TYPES OF VOLUMES */
- -#define IDS_VOLUME_BARRELS_UK 3000
- -#define IDS_VOLUME_BARRELS_OIL 3001
- -#define IDS_VOLUME_BUN 3002
- -#define IDS_VOLUME_BUSHELS_UK 3003
- -#define IDS_VOLUME_BUSHELS_US 3004
- -#define IDS_VOLUME_CUBIC_CENTIMETERS 3005
- -#define IDS_VOLUME_CUBIC_FEET 3006
- -#define IDS_VOLUME_CUBIC_INCHES 3007
- -#define IDS_VOLUME_CUBIC_METERS 3008
- -#define IDS_VOLUME_CUBIC_YARDS 3009
- -#define IDS_VOLUME_DOE 3010
- -#define IDS_VOLUME_FLUID_OUNCES_UK 3011
- -#define IDS_VOLUME_FLUID_OUNCES_US 3012
- -#define IDS_VOLUME_GALLONS_UK 3013
- -#define IDS_VOLUME_GALLONS_DRY_US 3014
- -#define IDS_VOLUME_GALLONS_LIQUID_US 3015
- -#define IDS_VOLUME_GOU 3016
- -#define IDS_VOLUME_HOP 3017
- -#define IDS_VOLUME_ICCE 3018
- -#define IDS_VOLUME_KWIAN 3019
- -#define IDS_VOLUME_LITERS 3020
- -#define IDS_VOLUME_MAL 3021
- -#define IDS_VOLUME_MILLILITERS 3022
- -#define IDS_VOLUME_PINTS_UK 3023
- -#define IDS_VOLUME_PINTS_DRY_US 3024
- -#define IDS_VOLUME_PINTS_LIQUID_US 3025
- -#define IDS_VOLUME_QUARTS_UK 3026
- -#define IDS_VOLUME_QUARTS_DRY_US 3027
- -#define IDS_VOLUME_QUARTS_LIQUID_US 3028
- -#define IDS_VOLUME_SEKI 3029
- -#define IDS_VOLUME_SYOU 3030
- -#define IDS_VOLUME_TANANLOUNG 3031
- -#define IDS_VOLUME_TANG 3032
- -#define IDS_VOLUME_TO 3033
+ +#define IDS_VOLUME_BARRELS_UK 3200
+ +#define IDS_VOLUME_BARRELS_OIL 3201
+ +#define IDS_VOLUME_BUN 3202
+ +#define IDS_VOLUME_BUSHELS_UK 3203
+ +#define IDS_VOLUME_BUSHELS_US 3204
+ +#define IDS_VOLUME_CUBIC_CENTIMETERS 3205
+ +#define IDS_VOLUME_CUBIC_FEET 3206
+ +#define IDS_VOLUME_CUBIC_INCHES 3207
+ +#define IDS_VOLUME_CUBIC_METERS 3208
+ +#define IDS_VOLUME_CUBIC_YARDS 3209
+ +#define IDS_VOLUME_DOE 3210
+ +#define IDS_VOLUME_FLUID_OUNCES_UK 3211
+ +#define IDS_VOLUME_FLUID_OUNCES_US 3212
+ +#define IDS_VOLUME_GALLONS_UK 3213
+ +#define IDS_VOLUME_GALLONS_DRY_US 3214
+ +#define IDS_VOLUME_GALLONS_LIQUID_US 3215
+ +#define IDS_VOLUME_GOU 3216
+ +#define IDS_VOLUME_HOP 3217
+ +#define IDS_VOLUME_ICCE 3218
+ +#define IDS_VOLUME_KWIAN 3219
+ +#define IDS_VOLUME_LITERS 3220
+ +#define IDS_VOLUME_MAL 3221
+ +#define IDS_VOLUME_MILLILITERS 3222
+ +#define IDS_VOLUME_PINTS_UK 3223
+ +#define IDS_VOLUME_PINTS_DRY_US 3224
+ +#define IDS_VOLUME_PINTS_LIQUID_US 3225
+ +#define IDS_VOLUME_QUARTS_UK 3226
+ +#define IDS_VOLUME_QUARTS_DRY_US 3227
+ +#define IDS_VOLUME_QUARTS_LIQUID_US 3228
+ +#define IDS_VOLUME_SEKI 3229
+ +#define IDS_VOLUME_SYOU 3230
+ +#define IDS_VOLUME_TANANLOUNG 3231
+ +#define IDS_VOLUME_TANG 3232
+ +#define IDS_VOLUME_TO 3233
/* TYPES OF WEIGHTS */
- -#define IDS_WEIGHT_BAHT 3100
- -#define IDS_WEIGHT_CARATS 3101
- -#define IDS_WEIGHT_CHUNG 3102
- -#define IDS_WEIGHT_DON 3103
- -#define IDS_WEIGHT_GEUN 3104
- -#define IDS_WEIGHT_GRAMS 3105
- -#define IDS_WEIGHT_GWAN 3106
- -#define IDS_WEIGHT_HARB 3107
- -#define IDS_WEIGHT_JIN_CHINA 3108
- -#define IDS_WEIGHT_JIN_TAIWAN 3109
- -#define IDS_WEIGHT_KAN 3110
- -#define IDS_WEIGHT_KILOGRAMS 3111
- -#define IDS_WEIGHT_KIN 3112
- -#define IDS_WEIGHT_LIANG_CHINA 3113
- -#define IDS_WEIGHT_LIANG_TAIWAN 3114
- -#define IDS_WEIGHT_MONME 3115
- -#define IDS_WEIGHT_OUNCES_AVOIRDUPOIS 3116
- -#define IDS_WEIGHT_OUNCES_TROY 3117
- -#define IDS_WEIGHT_POUNDS 3118
- -#define IDS_WEIGHT_QUINTAL_METRIC 3119
- -#define IDS_WEIGHT_SALOUNG 3120
- -#define IDS_WEIGHT_STONES 3121
- -#define IDS_WEIGHT_TAMLUNG 3122
- -#define IDS_WEIGHT_TONNES 3123
- -#define IDS_WEIGHT_TONS_UK 3124
- -#define IDS_WEIGHT_TONS_US 3125
+ +#define IDS_WEIGHT_BAHT 3300
+ +#define IDS_WEIGHT_CARATS 3301
+ +#define IDS_WEIGHT_CHUNG 3302
+ +#define IDS_WEIGHT_DON 3303
+ +#define IDS_WEIGHT_GEUN 3304
+ +#define IDS_WEIGHT_GRAMS 3305
+ +#define IDS_WEIGHT_GWAN 3306
+ +#define IDS_WEIGHT_HARB 3307
+ +#define IDS_WEIGHT_JIN_CHINA 3308
+ +#define IDS_WEIGHT_JIN_TAIWAN 3309
+ +#define IDS_WEIGHT_KAN 3310
+ +#define IDS_WEIGHT_KILOGRAMS 3311
+ +#define IDS_WEIGHT_KIN 3312
+ +#define IDS_WEIGHT_LIANG_CHINA 3313
+ +#define IDS_WEIGHT_LIANG_TAIWAN 3314
+ +#define IDS_WEIGHT_MONME 3315
+ +#define IDS_WEIGHT_OUNCES_AVOIRDUPOIS 3316
+ +#define IDS_WEIGHT_OUNCES_TROY 3317
+ +#define IDS_WEIGHT_POUNDS 3318
+ +#define IDS_WEIGHT_QUINTAL_METRIC 3319
+ +#define IDS_WEIGHT_SALOUNG 3320
+ +#define IDS_WEIGHT_STONES 3321
+ +#define IDS_WEIGHT_TAMLUNG 3322
+ +#define IDS_WEIGHT_TONNES 3323
+ +#define IDS_WEIGHT_TONS_UK 3324
+ +#define IDS_WEIGHT_TONS_US 3325
/* MENU */
#define IDM_EDIT_COPY 40002
#include "lang/bg-BG.rc"
#include "lang/cs-CZ.rc"
#include "lang/de-DE.rc"
- #include "lang/el-GR.rc"
#include "lang/en-US.rc"
#include "lang/es-ES.rc"
+ +#include "lang/fr-FR.rc"
#include "lang/it-IT.rc"
#include "lang/ko-KR.rc"
#include "lang/nl-NL.rc"
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
---<module name="dhcp" type="win32cui" installbase="system32" installname="dhcp.exe">
+++<module name="dhcp" type="win32cui" installbase="system32" installname="dhcp.exe" allowwarnings="true">
<include base="dhcp">.</include>
<include base="dhcp">include</include>
<library>ntdll</library>
<directory name="cmd">
<xi:include href="cmd/cmd.rbuild" />
</directory>
--- <directory name="explorer">
+++ <!-- directory name="explorer">
<xi:include href="explorer/explorer.rbuild" />
--- </directory>
+++ </directory -->
<directory name="explorer-new">
<xi:include href="explorer-new/explorer.rbuild" />
</directory>
LoaderBlock.DrivesCount = reactos_disk_count;
- UiDrawStatusText("Loading...");
+ UiDrawStatusText("Loading...");
- //
- // If we have a ramdisk, this will switch to the ramdisk disk routines
- // which read from memory instead of using the firmware. This has to be done
- // after hardware detection, since hardware detection will require using the
- // real routines in order to perform disk-detection (just because we're on a
- // ram-boot doesn't mean the user doesn't have actual disks installed too!)
- //
- RamDiskSwitchFromBios();
+ //
+ // If we have a ramdisk, this will switch to the ramdisk disk routines
+ // which read from memory instead of using the firmware. This has to be done
+ // after hardware detection, since hardware detection will require using the
+ // real routines in order to perform disk-detection (just because we're on a
+ // ram-boot doesn't mean the user doesn't have actual disks installed too!)
+ //
+ RamDiskSwitchFromBios();
- /*
- * Try to open system drive
- */
- if (!FsOpenSystemVolume(SystemPath, szBootPath, &LoaderBlock.BootDevice))
- {
- UiMessageBox("Failed to open system drive.");
- return;
- }
+ /*
+ * Try to open system drive
+ */
+ if (!FsOpenSystemVolume(SystemPath, szBootPath, &LoaderBlock.BootDevice))
+ {
+ UiMessageBox("Failed to open system drive.");
+ return;
+ }
- /* append a backslash */
- if ((strlen(szBootPath)==0) ||
- szBootPath[strlen(szBootPath)] != '\\')
- strcat(szBootPath, "\\");
+ /* append a backslash */
+ if ((strlen(szBootPath)==0) ||
+ szBootPath[strlen(szBootPath)] != '\\')
+ strcat(szBootPath, "\\");
-- DbgPrint((DPRINT_REACTOS,"SystemRoot: '%s'\n", szBootPath));
-- strcpy(SystemRoot, szBootPath);
++ DPRINTM(DPRINT_REACTOS,"SystemRoot: '%s'\n", szBootPath);
++ strcpy(SystemRoot, szBootPath);
- /*
- * Find the kernel image name
- * and try to load the kernel off the disk
- */
- if(IniReadSettingByName(SectionId, "Kernel", value, sizeof(value)))
- {
- /*
- * Set the name and
- */
- if (value[0] == '\\')
- {
- strcpy(szKernelName, value);
- }
- else
- {
- strcpy(szKernelName, szBootPath);
- strcat(szKernelName, "SYSTEM32\\");
- strcat(szKernelName, value);
- }
- }
- else
- {
- strcpy(value, "NTOSKRNL.EXE");
- strcpy(szKernelName, szBootPath);
- strcat(szKernelName, "SYSTEM32\\");
- strcat(szKernelName, value);
- }
+ /*
+ * Find the kernel image name
+ * and try to load the kernel off the disk
+ */
+ if(IniReadSettingByName(SectionId, "Kernel", value, sizeof(value)))
+ {
+ /*
+ * Set the name and
+ */
+ if (value[0] == '\\')
+ {
+ strcpy(szKernelName, value);
+ }
+ else
+ {
+ strcpy(szKernelName, szBootPath);
+ strcat(szKernelName, "SYSTEM32\\");
+ strcat(szKernelName, value);
+ }
+ }
+ else
+ {
+ strcpy(value, "NTOSKRNL.EXE");
+ strcpy(szKernelName, szBootPath);
+ strcat(szKernelName, "SYSTEM32\\");
+ strcat(szKernelName, value);
+ }
- /*
- * Find the HAL image name
- * and try to load the kernel off the disk
- */
- if(IniReadSettingByName(SectionId, "Hal", value, sizeof(value)))
- {
- /*
- * Set the name and
- */
- if (value[0] == '\\')
- {
- strcpy(szHalName, value);
- }
- else
- {
- strcpy(szHalName, szBootPath);
- strcat(szHalName, "SYSTEM32\\");
- strcat(szHalName, value);
- }
- }
- else
- {
- strcpy(value, "HAL.DLL");
- strcpy(szHalName, szBootPath);
- strcat(szHalName, "SYSTEM32\\");
- strcat(szHalName, value);
- }
+ /*
+ * Find the HAL image name
+ * and try to load the kernel off the disk
+ */
+ if(IniReadSettingByName(SectionId, "Hal", value, sizeof(value)))
+ {
+ /*
+ * Set the name and
+ */
+ if (value[0] == '\\')
+ {
+ strcpy(szHalName, value);
+ }
+ else
+ {
+ strcpy(szHalName, szBootPath);
+ strcat(szHalName, "SYSTEM32\\");
+ strcat(szHalName, value);
+ }
+ }
+ else
+ {
+ strcpy(value, "HAL.DLL");
+ strcpy(szHalName, szBootPath);
+ strcat(szHalName, "SYSTEM32\\");
+ strcat(szHalName, value);
+ }
- /* Load the kernel */
- LoadBase = FrLdrLoadImage(szKernelName, 5, 1);
- if (!LoadBase) return;
+ /* Load the kernel */
+ LoadBase = FrLdrLoadImage(szKernelName, 5, 1);
+ if (!LoadBase) return;
- /* Get the NT header, kernel base and kernel entry */
- NtHeader = RtlImageNtHeader(LoadBase);
- KernelBase = SWAPD(NtHeader->OptionalHeader.ImageBase);
- KernelEntryPoint = (ROS_KERNEL_ENTRY_POINT)(KernelBase + SWAPD(NtHeader->OptionalHeader.AddressOfEntryPoint));
- LoaderBlock.KernelBase = KernelBase;
+ /* Get the NT header, kernel base and kernel entry */
+ NtHeader = RtlImageNtHeader(LoadBase);
+ KernelBase = SWAPD(NtHeader->OptionalHeader.ImageBase);
+ KernelEntryPoint = (ROS_KERNEL_ENTRY_POINT)(KernelBase + SWAPD(NtHeader->OptionalHeader.AddressOfEntryPoint));
+ LoaderBlock.KernelBase = KernelBase;
- /*
- * Load the System hive from disk
- */
- strcpy(szFileName, szBootPath);
- strcat(szFileName, "SYSTEM32\\CONFIG\\SYSTEM");
+ /*
+ * Load the System hive from disk
+ */
+ strcpy(szFileName, szBootPath);
+ strcat(szFileName, "SYSTEM32\\CONFIG\\SYSTEM");
-- DbgPrint((DPRINT_REACTOS, "SystemHive: '%s'", szFileName));
++ DPRINTM(DPRINT_REACTOS, "SystemHive: '%s'", szFileName);
- FilePointer = FsOpenFile(szFileName);
- if (FilePointer == NULL)
- {
- UiMessageBox("Could not find the System hive!");
- return;
- }
+ FilePointer = FsOpenFile(szFileName);
+ if (FilePointer == NULL)
+ {
+ UiMessageBox("Could not find the System hive!");
+ return;
+ }
- /*
- * Update the status bar with the current file
- */
- strcpy(name, "Reading ");
- strcat(name, value);
- while (strlen(name) < 80)
- strcat(name, " ");
- UiDrawStatusText(name);
+ /*
+ * Update the status bar with the current file
+ */
+ strcpy(name, "Reading ");
+ strcat(name, value);
+ while (strlen(name) < 80)
+ strcat(name, " ");
+ UiDrawStatusText(name);
-- /*
-- * Load the System hive
-- */
-- Base = FrLdrLoadModule(FilePointer, szFileName, &Size);
-- if (Base == 0 || Size == 0)
-- {
-- UiMessageBox("Could not load the System hive!\n");
-- return;
-- }
-- DbgPrint((DPRINT_REACTOS, "SystemHive loaded at 0x%x size %u", (unsigned)Base, (unsigned)Size));
++ /*
++ * Load the System hive
++ */
++ Base = FrLdrLoadModule(FilePointer, szFileName, &Size);
++ if (Base == 0 || Size == 0)
++ {
++ UiMessageBox("Could not load the System hive!\n");
++ return;
++ }
++ DPRINTM(DPRINT_REACTOS, "SystemHive loaded at 0x%x size %u", (unsigned)Base, (unsigned)Size);
- /*
- * Import the loaded system hive
- */
- RegImportBinaryHive((PCHAR)Base, Size);
+ /*
+ * Import the loaded system hive
+ */
+ RegImportBinaryHive((PCHAR)Base, Size);
- /*
- * Initialize the 'CurrentControlSet' link
- */
- RegInitCurrentControlSet(FALSE);
+ /*
+ * Initialize the 'CurrentControlSet' link
+ */
+ RegInitCurrentControlSet(FALSE);
- UiDrawProgressBarCenter(15, 100, szLoadingMsg);
+ UiDrawProgressBarCenter(15, 100, szLoadingMsg);
- UiDrawProgressBarCenter(20, 100, szLoadingMsg);
+ UiDrawProgressBarCenter(20, 100, szLoadingMsg);
- /*
- * Load NLS files
- */
- if (!FrLdrLoadNlsFiles(szBootPath, MsgBuffer))
- {
- UiMessageBox(MsgBuffer);
- return;
- }
- UiDrawProgressBarCenter(30, 100, szLoadingMsg);
+ /*
+ * Load NLS files
+ */
+ if (!FrLdrLoadNlsFiles(szBootPath, MsgBuffer))
+ {
+ UiMessageBox(MsgBuffer);
+ return;
+ }
+ UiDrawProgressBarCenter(30, 100, szLoadingMsg);
- /*
- * Load boot drivers
- */
- FrLdrLoadBootDrivers(szBootPath, 40);
- //UiUnInitialize("Booting ReactOS...");
+ /*
+ * Load boot drivers
+ */
+ FrLdrLoadBootDrivers(szBootPath, 40);
+ //UiUnInitialize("Booting ReactOS...");
//
// Perform architecture-specific pre-boot configuration
//
// Setup paging and jump to kernel
//
- FrLdrStartup(0x2badb002);
+ FrLdrStartup(0x2badb002);
}
--#undef DbgPrint
--ULONG
--DbgPrint(const char *Format, ...)
--{
-- va_list ap;
-- CHAR Buffer[512];
-- ULONG Length;
--
-- va_start(ap, Format);
--
-- /* Construct a string */
-- Length = _vsnprintf(Buffer, 512, Format, ap);
--
-- /* Check if we went past the buffer */
-- if (Length == -1U)
-- {
-- /* Terminate it if we went over-board */
-- Buffer[sizeof(Buffer) - 1] = '\n';
--
-- /* Put maximum */
-- Length = sizeof(Buffer);
-- }
--
-- /* Show it as a message box */
-- UiMessageBox(Buffer);
--
-- /* Cleanup and exit */
-- va_end(ap);
-- return 0;
--}
--
/* EOF */
<module name="dxtn" type="win32dll" entrypoint="0" installbase="system32" installname="dxtn.dll" allowwarnings="true" crt="msvcrt">
--- <importlibrary definition="dxtn.def" />
+++ <importlibrary definition="dxtn.spec" />
<include base="dxtn">.</include>
<define name="__USE_W32API" />
<file>fxt1.c</file>
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
- <module name="appwiz-new" type="win32dll" extension=".cpl" baseaddress="${BASEADDRESS_APPWIZ}" installbase="system32" installname="appwiz-new.cpl" unicode="yes" allowwarnings="true">
+ <module name="appwiz-new" type="win32dll" extension=".cpl" baseaddress="${BASEADDRESS_APPWIZ}" installbase="system32" installname="appwiz-new.cpl" unicode="yes">
- <importlibrary definition="appwiz.def" />
+ <importlibrary definition="appwiz.spec" />
<include base="appwiz-new">.</include>
<library>kernel32</library>
<library>advapi32</library>
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="intl" type="win32dll" extension=".cpl" baseaddress="${BASEADDRESS_INTL}" installbase="system32" installname="intl.cpl" unicode="yes" crt="msvcrt">
- <importlibrary definition="intl.spec" />
- <importlibrary definition="intl.def" />
-- <include base="intl">.</include>
-- <library>kernel32</library>
-- <library>user32</library>
-- <library>comctl32</library>
-- <library>advapi32</library>
-- <library>setupapi</library>
-- <library>shell32</library>
-- <file>currency.c</file>
-- <file>date.c</file>
-- <file>generalp.c</file>
-- <file>intl.c</file>
-- <file>inplocale.c</file>
-- <file>numbers.c</file>
-- <file>time.c</file>
-- <file>misc.c</file>
++ <importlibrary definition="intl.spec" />
++ <include base="intl">.</include>
++ <library>kernel32</library>
++ <library>user32</library>
++ <library>comctl32</library>
++ <library>advapi32</library>
++ <library>setupapi</library>
++ <library>shell32</library>
++ <file>currency.c</file>
++ <file>date.c</file>
++ <file>generalp.c</file>
++ <file>intl.c</file>
++ <file>inplocale.c</file>
++ <file>numbers.c</file>
++ <file>time.c</file>
++ <file>misc.c</file>
+ <file>kblayouts.c</file>
-- <file>languages.c</file>
-- <file>advanced.c</file>
-- <file>sort.c</file>
-- <file>intl.rc</file>
++ <file>languages.c</file>
++ <file>advanced.c</file>
++ <file>sort.c</file>
++ <file>intl.rc</file>
</module>
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
- <module name="ddraw" type="win32dll" installbase="system32" installname="ddraw.dll" allowwarnings ="true" unicode="yes" crt="msvcrt">
+ <module name="ddraw" type="win32dll" installbase="system32" installname="ddraw.dll" unicode="yes" crt="msvcrt">
-- <importlibrary definition="ddraw.def" />
++ <importlibrary definition="ddraw.spec" />
<include base="ddraw">.</include>
<library>kernel32</library>
<library>user32</library>
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
--<module name="dinput" type="win32dll" baseaddress="${BASEADDRESS_DINPUT}" installbase="system32" installname="dinput.dll" unicode="yes">
++<module name="dinput" type="win32dll" baseaddress="${BASEADDRESS_DINPUT}" installbase="system32" installname="dinput.dll" allowwarnings ="true" unicode="yes">
<autoregister infsection="OleControlDlls" type="DllRegisterServer" />
<importlibrary definition="dinput.spec" />
+ + <define name="_WIN32_WINNT">0x600</define>
<include base="dinput">.</include>
<include base="ReactOS">include/reactos/wine</include>
<library>wine</library>
+ #ifndef KSUSER_H__
+ #define KSUSER_H__
+
#define _KSDDK_
+
+ #define WIN32_NO_STATUS
#include <windows.h>
- typedef LONG NTSTATUS;
+ #include <ndk/ntndk.h>
+
+
#include <ks.h>
- -#include <reactos/helper.h>
+
+ LPVOID
+ __stdcall
+ HeapAlloc(
+ HANDLE hHeap,
+ DWORD dwFlags,
-- DWORD dwBytes
+++ SIZE_T dwBytes
+ );
+
+ +#define ROUND_DOWN(n, align) \
+ + (((ULONG)n) & ~((align) - 1l))
+ +
+ +#define ROUND_UP(n, align) \
+ + ROUND_DOWN(((ULONG)n) + (align) - 1, (align))
+ +
+ #endif
<compilerflag compiler="cpp">-fno-rtti</compilerflag>
<define name="WINVER">0x600</define>
<file>idndl.cpp</file>
--- <importlibrary definition="idndl.def" />
+++ <importlibrary definition="idndl-$(ARCH).def" />
</module>
--- /dev/null
--- /dev/null
++; $Id: ntdll.def 34404 2008-07-10 09:46:25Z fireball $
++;
++; ReactOS Operating System
++; Exports taken from Vista64
++;
++LIBRARY ntdll.dll
++
++EXPORTS
++;A_SHAFinal
++;A_SHAInit
++;A_SHAUpdate
++;AlpcAdjustCompletionListConcurrencyCount
++;AlpcFreeCompletionListMessage
++;AlpcGetCompletionListLastMessageInformation
++;AlpcGetCompletionListMessageAttributes
++;AlpcGetHeaderSize
++;AlpcGetMessageAttribute
++;AlpcGetMessageFromCompletionList
++;AlpcGetOutstandingCompletionListMessageCount
++;AlpcInitializeMessageAttribute
++;AlpcMaxAllowedMessageLength
++;AlpcRegisterCompletionList
++;AlpcRegisterCompletionListWorkerThread
++;AlpcUnregisterCompletionList
++;AlpcUnregisterCompletionListWorkerThread
++CsrAllocateCaptureBuffer
++CsrAllocateMessagePointer
++CsrCaptureMessageBuffer
++CsrCaptureMessageMultiUnicodeStringsInPlace
++CsrCaptureMessageString
++CsrCaptureTimeout
++CsrClientCallServer
++CsrClientConnectToServer
++CsrFreeCaptureBuffer
++CsrGetProcessId
++CsrIdentifyAlertableThread
++CsrSetPriorityClass
++;CsrVerifyRegion
++DbgBreakPoint
++DbgPrint
++DbgPrintEx
++DbgPrintReturnControlC
++DbgPrompt
++DbgQueryDebugFilterState
++DbgSetDebugFilterState
++DbgUiConnectToDbg
++DbgUiContinue
++DbgUiConvertStateChangeStructure
++DbgUiDebugActiveProcess
++DbgUiGetThreadDebugObject
++DbgUiIssueRemoteBreakin
++DbgUiRemoteBreakin
++DbgUiSetThreadDebugObject
++DbgUiStopDebugging
++DbgUiWaitStateChange
++DbgUserBreakPoint
++;EtwCreateTraceInstanceId
++;EtwDeliverDataBlock
++;EtwEnumerateProcessRegGuids
++;EtwEventActivityIdControl
++;EtwEventEnabled
++;EtwEventProviderEnabled
++;EtwEventRegister
++;EtwEventUnregister
++;EtwEventWrite
++;EtwEventWriteEndScenario
++;EtwEventWriteFull
++;EtwEventWriteStartScenario
++;EtwEventWriteString
++;EtwEventWriteTransfer
++;EtwGetTraceEnableFlags
++;EtwGetTraceEnableLevel
++;EtwGetTraceLoggerHandle
++;EtwLogTraceEvent
++;EtwNotificationRegister
++;EtwNotificationUnregister
++;EtwProcessPrivateLoggerRequest
++;EtwRegisterSecurityProvider
++;EtwRegisterTraceGuidsA
++;EtwRegisterTraceGuidsW
++;EtwReplyNotification
++;EtwSendNotification
++;EtwSetMark
++;EtwTraceEventInstance
++;EtwTraceMessage
++;EtwTraceMessageVa
++;EtwUnregisterTraceGuids
++;EtwWriteUMSecurityEvent
++;EtwpCreateEtwThread
++;EtwpGetCpuSpeed
++;EtwpNotificationThread
++;ExpInterlockedPopEntrySListEnd
++;ExpInterlockedPopEntrySListFault
++;ExpInterlockedPopEntrySListResume
++KiRaiseUserExceptionDispatcher
++KiUserApcDispatcher
++KiUserCallbackDispatcher
++KiUserExceptionDispatcher
++LdrAccessResource
++;LdrAddLoadAsDataTable
++LdrAddRefDll
++LdrDisableThreadCalloutsForDll
++LdrEnumResources
++;LdrEnumerateLoadedModules
++LdrFindEntryForAddress
++LdrFindResourceDirectory_U
++;LdrFindResourceEx_U
++LdrFindResource_U
++;LdrFlushAlternateResourceModules
++LdrGetDllHandle
++;LdrGetDllHandleEx
++;LdrGetFailureData
++;LdrGetFileNameFromLoadAsDataTable
++;LdrGetKnownDllSectionHandle
++LdrGetProcedureAddress
++;LdrGetProcedureAddressEx
++;LdrHotPatchRoutine
++;LdrInitShimEngineDynamic
++LdrInitializeThunk
++;LdrLoadAlternateResourceModule
++;LdrLoadAlternateResourceModuleEx
++LdrLoadDll
++LdrLockLoaderLock
++;LdrOpenImageFileOptionsKey
++;LdrProcessInitializationComplete
++LdrProcessRelocationBlock
++LdrQueryImageFileExecutionOptions
++;LdrQueryImageFileExecutionOptionsEx
++;LdrQueryImageFileKeyOption
++;LdrQueryModuleServiceTags
++LdrQueryProcessModuleInformation
++;LdrRegisterDllNotification
++;LdrRemoveLoadAsDataTable
++;LdrResFindResource
++;LdrResFindResourceDirectory
++;LdrResRelease
++;LdrResSearchResource
++;LdrSetAppCompatDllRedirectionCallback
++;LdrSetDllManifestProber
++;LdrSetMUICacheType
++LdrShutdownProcess
++LdrShutdownThread
++LdrUnloadAlternateResourceModule
++;LdrUnloadAlternateResourceModuleEx
++LdrUnloadDll
++LdrUnlockLoaderLock
++;LdrUnregisterDllNotification
++LdrVerifyImageMatchesChecksum
++;LdrVerifyImageMatchesChecksumEx
++;LdrpResGetMappingSize
++;LdrpResGetRCConfig
++;LdrpResGetResourceDirectory
++;MD4Final
++;MD4Init
++;MD4Update
++;MD5Final
++;MD5Init
++;MD5Update
++NlsAnsiCodePage
++NlsMbCodePageTag
++NlsMbOemCodePageTag
++NtAcceptConnectPort
++NtAccessCheck
++NtAccessCheckAndAuditAlarm
++NtAccessCheckByType
++NtAccessCheckByTypeAndAuditAlarm
++NtAccessCheckByTypeResultList
++NtAccessCheckByTypeResultListAndAuditAlarm
++NtAccessCheckByTypeResultListAndAuditAlarmByHandle
++;NtAcquireCMFViewOwnership
++NtAddAtom
++NtAddBootEntry
++NtAddDriverEntry
++NtAdjustGroupsToken
++NtAdjustPrivilegesToken
++NtAlertResumeThread
++NtAlertThread
++NtAllocateLocallyUniqueId
++NtAllocateUserPhysicalPages
++NtAllocateUuids
++NtAllocateVirtualMemory
++;NtAlpcAcceptConnectPort
++;NtAlpcCancelMessage
++;NtAlpcConnectPort
++;NtAlpcCreatePort
++;NtAlpcCreatePortSection
++;NtAlpcCreateResourceReserve
++;NtAlpcCreateSectionView
++;NtAlpcCreateSecurityContext
++;NtAlpcDeletePortSection
++;NtAlpcDeleteResourceReserve
++;NtAlpcDeleteSectionView
++;NtAlpcDeleteSecurityContext
++;NtAlpcDisconnectPort
++;NtAlpcImpersonateClientOfPort
++;NtAlpcOpenSenderProcess
++;NtAlpcOpenSenderThread
++;NtAlpcQueryInformation
++;NtAlpcQueryInformationMessage
++;NtAlpcRevokeSecurityContext
++;NtAlpcSendWaitReceivePort
++;NtAlpcSetInformation
++NtApphelpCacheControl
++NtAreMappedFilesTheSame
++NtAssignProcessToJobObject
++NtCallbackReturn
++NtCancelDeviceWakeupRequest
++NtCancelIoFile
++;NtCancelIoFileEx
++;NtCancelSynchronousIoFile
++NtCancelTimer
++NtClearEvent
++NtClose
++NtCloseObjectAuditAlarm
++;NtCommitComplete
++;NtCommitEnlistment
++;NtCommitTransaction
++NtCompactKeys
++NtCompareTokens
++NtCompleteConnectPort
++NtCompressKey
++NtConnectPort
++NtContinue
++NtCreateDebugObject
++NtCreateDirectoryObject
++;NtCreateEnlistment
++NtCreateEvent
++NtCreateEventPair
++NtCreateFile
++NtCreateIoCompletion
++NtCreateJobObject
++NtCreateJobSet
++NtCreateKey
++;NtCreateKeyTransacted
++NtCreateKeyedEvent
++NtCreateMailslotFile
++NtCreateMutant
++NtCreateNamedPipeFile
++NtCreatePagingFile
++NtCreatePort
++;NtCreatePrivateNamespace
++NtCreateProcess
++NtCreateProcessEx
++NtCreateProfile
++;NtCreateResourceManager
++NtCreateSection
++NtCreateSemaphore
++NtCreateSymbolicLinkObject
++NtCreateThread
++;NtCreateThreadEx
++NtCreateTimer
++NtCreateToken
++;NtCreateTransaction
++;NtCreateTransactionManager
++;NtCreateUserProcess
++NtCreateWaitablePort
++;NtCreateWorkerFactory
++NtDebugActiveProcess
++NtDebugContinue
++NtDelayExecution
++NtDeleteAtom
++NtDeleteBootEntry
++NtDeleteDriverEntry
++NtDeleteFile
++NtDeleteKey
++NtDeleteObjectAuditAlarm
++;NtDeletePrivateNamespace
++NtDeleteValueKey
++NtDeviceIoControlFile
++NtDisplayString
++NtDuplicateObject
++NtDuplicateToken
++NtEnumerateBootEntries
++NtEnumerateDriverEntries
++NtEnumerateKey
++NtEnumerateSystemEnvironmentValuesEx
++;NtEnumerateTransactionObject
++NtEnumerateValueKey
++NtExtendSection
++NtFilterToken
++NtFindAtom
++NtFlushBuffersFile
++;NtFlushInstallUILanguage
++NtFlushInstructionCache
++NtFlushKey
++;NtFlushProcessWriteBuffers
++NtFlushVirtualMemory
++NtFlushWriteBuffer
++NtFreeUserPhysicalPages
++NtFreeVirtualMemory
++;NtFreezeRegistry
++;NtFreezeTransactions
++NtFsControlFile
++NtGetContextThread
++NtGetCurrentProcessorNumber
++NtGetDevicePowerState
++;NtGetMUIRegistryInfo
++;NtGetNextProcess
++;NtGetNextThread
++;NtGetNlsSectionPtr
++;NtGetNotificationResourceManager
++NtGetPlugPlayEvent
++;NtGetTickCount
++NtGetWriteWatch
++NtImpersonateAnonymousToken
++NtImpersonateClientOfPort
++NtImpersonateThread
++;NtInitializeNlsFiles
++NtInitializeRegistry
++NtInitiatePowerAction
++NtIsProcessInJob
++NtIsSystemResumeAutomatic
++;NtIsUILanguageComitted
++NtListenPort
++NtLoadDriver
++NtLoadKey
++NtLoadKey2
++NtLoadKeyEx
++NtLockFile
++NtLockProductActivationKeys
++NtLockRegistryKey
++NtLockVirtualMemory
++NtMakePermanentObject
++NtMakeTemporaryObject
++;NtMapCMFModule
++NtMapUserPhysicalPages
++NtMapUserPhysicalPagesScatter
++NtMapViewOfSection
++NtModifyBootEntry
++NtModifyDriverEntry
++NtNotifyChangeDirectoryFile
++NtNotifyChangeKey
++NtNotifyChangeMultipleKeys
++NtOpenDirectoryObject
++;NtOpenEnlistment
++NtOpenEvent
++NtOpenEventPair
++NtOpenFile
++NtOpenIoCompletion
++NtOpenJobObject
++NtOpenKey
++;NtOpenKeyTransacted
++NtOpenKeyedEvent
++NtOpenMutant
++NtOpenObjectAuditAlarm
++;NtOpenPrivateNamespace
++NtOpenProcess
++NtOpenProcessToken
++NtOpenProcessTokenEx
++;NtOpenResourceManager
++NtOpenSection
++NtOpenSemaphore
++;NtOpenSession
++NtOpenSymbolicLinkObject
++NtOpenThread
++NtOpenThreadToken
++NtOpenThreadTokenEx
++NtOpenTimer
++;NtOpenTransaction
++;NtOpenTransactionManager
++NtPlugPlayControl
++NtPowerInformation
++;NtPrePrepareComplete
++;NtPrePrepareEnlistment
++;NtPrepareComplete
++;NtPrepareEnlistment
++NtPrivilegeCheck
++NtPrivilegeObjectAuditAlarm
++NtPrivilegedServiceAuditAlarm
++;NtPropagationComplete
++;NtPropagationFailed
++NtProtectVirtualMemory
++NtPulseEvent
++NtQueryAttributesFile
++NtQueryBootEntryOrder
++NtQueryBootOptions
++NtQueryDebugFilterState
++NtQueryDefaultLocale
++NtQueryDefaultUILanguage
++NtQueryDirectoryFile
++NtQueryDirectoryObject
++NtQueryDriverEntryOrder
++NtQueryEaFile
++NtQueryEvent
++NtQueryFullAttributesFile
++NtQueryInformationAtom
++;NtQueryInformationEnlistment
++NtQueryInformationFile
++NtQueryInformationJobObject
++NtQueryInformationPort
++NtQueryInformationProcess
++;NtQueryInformationResourceManager
++NtQueryInformationThread
++NtQueryInformationToken
++;NtQueryInformationTransaction
++;NtQueryInformationTransactionManager
++;NtQueryInformationWorkerFactory
++NtQueryInstallUILanguage
++NtQueryIntervalProfile
++NtQueryIoCompletion
++NtQueryKey
++;NtQueryLicenseValue
++NtQueryMultipleValueKey
++NtQueryMutant
++NtQueryObject
++NtQueryOpenSubKeys
++NtQueryOpenSubKeysEx
++NtQueryPerformanceCounter
++NtQueryPortInformationProcess
++NtQueryQuotaInformationFile
++NtQuerySection
++NtQuerySecurityObject
++NtQuerySemaphore
++NtQuerySymbolicLinkObject
++NtQuerySystemEnvironmentValue
++NtQuerySystemEnvironmentValueEx
++NtQuerySystemInformation
++NtQuerySystemTime
++NtQueryTimer
++NtQueryTimerResolution
++NtQueryValueKey
++NtQueryVirtualMemory
++NtQueryVolumeInformationFile
++NtQueueApcThread
++NtRaiseException
++NtRaiseHardError
++NtReadFile
++NtReadFileScatter
++;NtReadOnlyEnlistment
++NtReadRequestData
++NtReadVirtualMemory
++;NtRecoverEnlistment
++;NtRecoverResourceManager
++;NtRecoverTransactionManager
++;NtRegisterProtocolAddressInformation
++NtRegisterThreadTerminatePort
++;NtReleaseCMFViewOwnership
++NtReleaseKeyedEvent
++NtReleaseMutant
++NtReleaseSemaphore
++;NtReleaseWorkerFactoryWorker
++NtRemoveIoCompletion
++;NtRemoveIoCompletionEx
++NtRemoveProcessDebug
++NtRenameKey
++;NtRenameTransactionManager
++NtReplaceKey
++;NtReplacePartitionUnit
++NtReplyPort
++NtReplyWaitReceivePort
++NtReplyWaitReceivePortEx
++NtReplyWaitReplyPort
++NtRequestDeviceWakeup
++NtRequestPort
++NtRequestWaitReplyPort
++NtRequestWakeupLatency
++NtResetEvent
++NtResetWriteWatch
++NtRestoreKey
++NtResumeProcess
++NtResumeThread
++;NtRollbackComplete
++;NtRollbackEnlistment
++;NtRollbackTransaction
++;NtRollforwardTransactionManager
++NtSaveKey
++NtSaveKeyEx
++NtSaveMergedKeys
++NtSecureConnectPort
++NtSetBootEntryOrder
++NtSetBootOptions
++NtSetContextThread
++NtSetDebugFilterState
++NtSetDefaultHardErrorPort
++NtSetDefaultLocale
++NtSetDefaultUILanguage
++NtSetDriverEntryOrder
++NtSetEaFile
++NtSetEvent
++NtSetEventBoostPriority
++NtSetHighEventPair
++NtSetHighWaitLowEventPair
++NtSetInformationDebugObject
++;NtSetInformationEnlistment
++NtSetInformationFile
++NtSetInformationJobObject
++NtSetInformationKey
++NtSetInformationObject
++NtSetInformationProcess
++;NtSetInformationResourceManager
++NtSetInformationThread
++NtSetInformationToken
++;NtSetInformationTransaction
++;NtSetInformationTransactionManager
++;NtSetInformationWorkerFactory
++NtSetIntervalProfile
++NtSetIoCompletion
++NtSetLdtEntries
++NtSetLowEventPair
++NtSetLowWaitHighEventPair
++NtSetQuotaInformationFile
++NtSetSecurityObject
++NtSetSystemEnvironmentValue
++NtSetSystemEnvironmentValueEx
++NtSetSystemInformation
++NtSetSystemPowerState
++NtSetSystemTime
++NtSetThreadExecutionState
++NtSetTimer
++NtSetTimerResolution
++NtSetUuidSeed
++NtSetValueKey
++NtSetVolumeInformationFile
++NtShutdownSystem
++;NtShutdownWorkerFactory
++NtSignalAndWaitForSingleObject
++;NtSinglePhaseReject
++NtStartProfile
++NtStopProfile
++NtSuspendProcess
++NtSuspendThread
++NtSystemDebugControl
++NtTerminateJobObject
++NtTerminateProcess
++NtTerminateThread
++NtTestAlert
++;NtThawRegistry
++;NtThawTransactions
++;NtTraceControl
++NtTraceEvent
++NtTranslateFilePath
++NtUnloadDriver
++NtUnloadKey
++NtUnloadKey2
++NtUnloadKeyEx
++NtUnlockFile
++NtUnlockVirtualMemory
++NtUnmapViewOfSection
++NtVdmControl
++NtWaitForDebugEvent
++NtWaitForKeyedEvent
++NtWaitForMultipleObjects
++NtWaitForMultipleObjects32
++NtWaitForSingleObject
++;NtWaitForWorkViaWorkerFactory
++NtWaitHighEventPair
++NtWaitLowEventPair
++;NtWorkerFactoryWorkerReady
++NtWriteFile
++NtWriteFileGather
++NtWriteRequestData
++NtWriteVirtualMemory
++NtYieldExecution
++;NtdllDefWindowProc_A
++;NtdllDefWindowProc_W
++;NtdllDialogWndProc_A
++;NtdllDialogWndProc_W
++;PfxFindPrefix
++;PfxInitialize
++;PfxInsertPrefix
++;PfxRemovePrefix
++;RtlAbortRXact
++RtlAbsoluteToSelfRelativeSD
++RtlAcquirePebLock
++RtlAcquirePrivilege
++RtlAcquireResourceExclusive
++RtlAcquireResourceShared
++RtlAcquireSRWLockExclusive
++RtlAcquireSRWLockShared
++RtlActivateActivationContext
++;RtlActivateActivationContextEx
++RtlActivateActivationContextUnsafeFast
++RtlAddAccessAllowedAce
++RtlAddAccessAllowedAceEx
++RtlAddAccessAllowedObjectAce
++RtlAddAccessDeniedAce
++RtlAddAccessDeniedAceEx
++RtlAddAccessDeniedObjectAce
++RtlAddAce
++;RtlAddActionToRXact
++RtlAddAtomToAtomTable
++;RtlAddAttributeActionToRXact
++RtlAddAuditAccessAce
++RtlAddAuditAccessAceEx
++RtlAddAuditAccessObjectAce
++;RtlAddCompoundAce
++;RtlAddFunctionTable
++RtlAddMandatoryAce
++RtlAddRefActivationContext
++;RtlAddRefMemoryStream
++;RtlAddSIDToBoundaryDescriptor
++;RtlAddVectoredContinueHandler
++RtlAddVectoredExceptionHandler
++;RtlAddressInSectionTable
++RtlAdjustPrivilege
++RtlAllocateActivationContextStack
++RtlAllocateAndInitializeSid
++RtlAllocateHandle
++RtlAllocateHeap
++;RtlAllocateMemoryBlockLookaside
++;RtlAllocateMemoryZone
++RtlAnsiCharToUnicodeChar
++RtlAnsiStringToUnicodeSize=RtlxAnsiStringToUnicodeSize
++RtlAnsiStringToUnicodeString
++RtlAppendAsciizToString
++;RtlAppendPathElement
++RtlAppendStringToString
++RtlAppendUnicodeStringToString
++RtlAppendUnicodeToString
++;RtlApplicationVerifierStop
++;RtlApplyRXact
++;RtlApplyRXactNoFlush
++RtlAreAllAccessesGranted
++RtlAreAnyAccessesGranted
++RtlAreBitsClear
++RtlAreBitsSet
++RtlAssert
++;RtlBarrier
++;RtlBarrierForDelete
++;RtlCancelTimer
++RtlCaptureContext
++RtlCaptureStackBackTrace
++RtlCharToInteger
++;RtlCheckForOrphanedCriticalSections
++RtlCheckRegistryKey
++;RtlCleanUpTEBLangLists
++RtlClearAllBits
++RtlClearBits
++;RtlCloneMemoryStream
++;RtlCloneUserProcess
++;RtlCmDecodeMemIoResource
++;RtlCmEncodeMemIoResource
++;RtlCommitDebugInfo
++;RtlCommitMemoryStream
++RtlCompactHeap
++;RtlCompareAltitudes
++RtlCompareMemory
++RtlCompareMemoryUlong
++RtlCompareString
++RtlCompareUnicodeString
++;RtlCompareUnicodeStrings
++;RtlCompleteProcessCloning
++RtlCompressBuffer
++RtlComputeCrc32
++;RtlComputeImportTableHash
++;RtlComputePrivatizedDllName_U
++;RtlConnectToSm
++;RtlConsoleMultiByteToUnicodeN
++RtlConvertExclusiveToShared
++;RtlConvertLCIDToString
++RtlConvertSharedToExclusive
++RtlConvertSidToUnicodeString
++;RtlConvertToAutoInheritSecurityObject
++;RtlConvertUiListToApiList
++RtlCopyLuid
++RtlCopyLuidAndAttributesArray
++;RtlCopyMappedMemory
++RtlCopyMemory=memcpy
++;RtlCopyMemoryNonTemporal
++;RtlCopyMemoryStreamTo
++;RtlCopyOutOfProcessMemoryStreamTo
++RtlCopySecurityDescriptor
++RtlCopySid
++RtlCopySidAndAttributesArray
++RtlCopyString
++RtlCopyUnicodeString
++RtlCreateAcl
++RtlCreateActivationContext
++;RtlCreateAndSetSD
++RtlCreateAtomTable
++;RtlCreateBootStatusDataFile
++;RtlCreateBoundaryDescriptor
++RtlCreateEnvironment
++;RtlCreateEnvironmentEx
++RtlCreateHeap
++;RtlCreateMemoryBlockLookaside
++;RtlCreateMemoryZone
++RtlCreateProcessParameters
++;RtlCreateProcessParametersEx
++RtlCreateQueryDebugBuffer
++RtlCreateRegistryKey
++RtlCreateSecurityDescriptor
++;RtlCreateServiceSid
++RtlCreateSystemVolumeInformationFolder
++RtlCreateTagHeap
++RtlCreateTimer
++RtlCreateTimerQueue
++RtlCreateUnicodeString
++RtlCreateUnicodeStringFromAsciiz
++RtlCreateUserProcess
++;RtlCreateUserSecurityObject
++;RtlCreateUserStack
++RtlCreateUserThread
++;RtlCultureNameToLCID
++RtlCustomCPToUnicodeN
++RtlCutoverTimeToSystemTime
++;RtlDeCommitDebugInfo
++RtlDeNormalizeProcessParams
++RtlDeactivateActivationContext
++RtlDeactivateActivationContextUnsafeFast
++;RtlDebugPrintTimes
++RtlDecodePointer=RtlEncodePointer
++RtlDecodeSystemPointer=RtlEncodeSystemPointer
++RtlDecompressBuffer
++RtlDecompressFragment
++;RtlDefaultNpAcl
++RtlDelete
++RtlDeleteAce
++RtlDeleteAtomFromAtomTable
++;RtlDeleteBarrier
++;RtlDeleteBoundaryDescriptor
++RtlDeleteCriticalSection
++RtlDeleteElementGenericTable
++RtlDeleteElementGenericTableAvl
++;RtlDeleteFunctionTable
++RtlDeleteNoSplay
++RtlDeleteRegistryValue
++RtlDeleteResource
++RtlDeleteSecurityObject
++RtlDeleteTimer
++RtlDeleteTimerQueue
++RtlDeleteTimerQueueEx
++;RtlDeregisterSecureMemoryCacheCallback
++RtlDeregisterWait
++RtlDeregisterWaitEx
++RtlDestroyAtomTable
++RtlDestroyEnvironment
++RtlDestroyHandleTable
++RtlDestroyHeap
++;RtlDestroyMemoryBlockLookaside
++;RtlDestroyMemoryZone
++RtlDestroyProcessParameters
++RtlDestroyQueryDebugBuffer
++RtlDetermineDosPathNameType_U
++RtlDllShutdownInProgress
++;RtlDnsHostNameToComputerName
++RtlDoesFileExists_U
++;RtlDosApplyFileIsolationRedirection_Ustr
++RtlDosPathNameToNtPathName_U
++;RtlDosPathNameToNtPathName_U_WithStatus
++RtlDosPathNameToRelativeNtPathName_U
++;RtlDosPathNameToRelativeNtPathName_U_WithStatus
++RtlDosSearchPath_U
++;RtlDosSearchPath_Ustr
++RtlDowncaseUnicodeChar
++RtlDowncaseUnicodeString
++RtlDumpResource
++RtlDuplicateUnicodeString
++RtlEmptyAtomTable
++;RtlEnableEarlyCriticalSectionEventCreation
++RtlEncodePointer
++RtlEncodeSystemPointer
++RtlEnterCriticalSection
++RtlEnumProcessHeaps
++RtlEnumerateGenericTable
++RtlEnumerateGenericTableAvl
++RtlEnumerateGenericTableLikeADirectory
++RtlEnumerateGenericTableWithoutSplaying
++RtlEnumerateGenericTableWithoutSplayingAvl
++RtlEqualComputerName
++RtlEqualDomainName
++RtlEqualLuid
++RtlEqualPrefixSid
++RtlEqualSid
++RtlEqualString
++RtlEqualUnicodeString
++RtlEraseUnicodeString
++;RtlExitUserProcess
++RtlExitUserThread
++;RtlExpandEnvironmentStrings
++RtlExpandEnvironmentStrings_U
++;RtlExtendMemoryBlockLookaside
++;RtlExtendMemoryZone
++RtlFillMemory
++;RtlFinalReleaseOutOfProcessMemoryStream
++;RtlFindAceByType
++;RtlFindActivationContextSectionGuid
++RtlFindActivationContextSectionString
++RtlFindCharInUnicodeString
++RtlFindClearBits
++RtlFindClearBitsAndSet
++RtlFindClearRuns
++;RtlFindClosestEncodableLength
++RtlFindLastBackwardRunClear
++RtlFindLeastSignificantBit
++RtlFindLongestRunClear
++RtlFindMessage
++RtlFindMostSignificantBit
++RtlFindNextForwardRunClear
++RtlFindSetBits
++RtlFindSetBitsAndClear
++RtlFirstEntrySList
++RtlFirstFreeAce
++;RtlFlsAlloc
++;RtlFlsFree
++RtlFlushSecureMemoryCache
++RtlFormatCurrentUserKeyPath
++RtlFormatMessage
++;RtlFormatMessageEx
++;RtlFreeActivationContextStack
++RtlFreeAnsiString
++RtlFreeHandle
++RtlFreeHeap
++;RtlFreeMemoryBlockLookaside
++RtlFreeOemString
++RtlFreeSid
++;RtlFreeThreadActivationContextStack
++RtlFreeUnicodeString
++;RtlFreeUserStack
++RtlGUIDFromString
++RtlGenerate8dot3Name
++RtlGetAce
++RtlGetActiveActivationContext
++RtlGetCallersAddress
++RtlGetCompressionWorkSpaceSize
++RtlGetControlSecurityDescriptor
++;RtlGetCriticalSectionRecursionCount
++RtlGetCurrentDirectory_U
++RtlGetCurrentPeb
++RtlGetCurrentProcessorNumber
++;RtlGetCurrentTransaction
++RtlGetDaclSecurityDescriptor
++RtlGetElementGenericTable
++RtlGetElementGenericTableAvl
++;RtlGetFileMUIPath
++;RtlGetFrame
++RtlGetFullPathName_U
++;RtlGetFullPathName_UstrEx
++;RtlGetFunctionTableListHead
++RtlGetGroupSecurityDescriptor
++;RtlGetIntegerAtom
++RtlGetLastNtStatus
++RtlGetLastWin32Error
++;RtlGetLengthWithoutLastFullDosOrNtPathElement
++;RtlGetLengthWithoutTrailingPathSeperators
++RtlGetLongestNtPathLength
++;RtlGetNativeSystemInformation
++RtlGetNtGlobalFlags
++RtlGetNtProductType
++RtlGetNtVersionNumbers
++RtlGetOwnerSecurityDescriptor
++;RtlGetParentLocaleName
++RtlGetProcessHeaps
++;RtlGetProductInfo
++RtlGetSaclSecurityDescriptor
++RtlGetSecurityDescriptorRMControl
++RtlGetSetBootStatusData
++;RtlGetSystemPreferredUILanguages
++;RtlGetThreadErrorMode
++;RtlGetThreadLangIdByIndex
++;RtlGetThreadPreferredUILanguages
++;RtlGetUILanguageInfo
++;RtlGetUnloadEventTrace
++;RtlGetUnloadEventTraceEx
++RtlGetUserInfoHeap
++;RtlGetUserPreferredUILanguages
++RtlGetVersion
++RtlHashUnicodeString
++;RtlHeapTrkInitialize
++RtlIdentifierAuthoritySid
++;RtlIdnToAscii
++;RtlIdnToNameprepUnicode
++;RtlIdnToUnicode
++RtlImageDirectoryEntryToData
++RtlImageNtHeader
++;RtlImageNtHeaderEx
++RtlImageRvaToSection
++RtlImageRvaToVa
++RtlImpersonateSelf
++;RtlImpersonateSelfEx
++RtlInitAnsiString
++RtlInitAnsiStringEx
++;RtlInitBarrier
++RtlInitCodePageTable
++;RtlInitMemoryStream
++RtlInitNlsTables
++;RtlInitOutOfProcessMemoryStream
++RtlInitString
++RtlInitUnicodeString
++RtlInitUnicodeStringEx
++;RtlInitializeAtomPackage
++RtlInitializeBitMap
++RtlInitializeConditionVariable
++RtlInitializeContext
++RtlInitializeCriticalSection
++RtlInitializeCriticalSectionAndSpinCount
++;RtlInitializeCriticalSectionEx
++RtlInitializeGenericTable
++RtlInitializeGenericTableAvl
++RtlInitializeHandleTable
++;RtlInitializeNtUserPfn
++;RtlInitializeRXact
++RtlInitializeResource
++RtlInitializeSListHead
++RtlInitializeSRWLock
++RtlInitializeSid
++RtlInsertElementGenericTable
++RtlInsertElementGenericTableAvl
++RtlInsertElementGenericTableFull
++RtlInsertElementGenericTableFullAvl
++;RtlInstallFunctionTableCallback
++RtlInt64ToUnicodeString
++RtlIntegerToChar
++RtlIntegerToUnicodeString
++RtlInterlockedFlushSList
++RtlInterlockedPopEntrySList
++RtlInterlockedPushEntrySList
++RtlInterlockedPushListSList
++;RtlIoDecodeMemIoResource
++;RtlIoEncodeMemIoResource
++RtlIpv4AddressToStringA
++RtlIpv4AddressToStringExA
++RtlIpv4AddressToStringExW
++RtlIpv4AddressToStringW
++RtlIpv4StringToAddressA
++RtlIpv4StringToAddressExA
++RtlIpv4StringToAddressExW
++RtlIpv4StringToAddressW
++RtlIpv6AddressToStringA
++RtlIpv6AddressToStringExA
++RtlIpv6AddressToStringExW
++RtlIpv6AddressToStringW
++RtlIpv6StringToAddressA
++RtlIpv6StringToAddressExA
++RtlIpv6StringToAddressExW
++RtlIpv6StringToAddressW
++;RtlIsActivationContextActive
++;RtlIsCriticalSectionLocked
++;RtlIsCriticalSectionLockedByThread
++;RtlIsCurrentThreadAttachExempt
++RtlIsDosDeviceName_U
++RtlIsGenericTableEmpty
++RtlIsGenericTableEmptyAvl
++RtlIsNameLegalDOS8Dot3
++;RtlIsNormalizedString
++RtlIsTextUnicode
++;RtlIsThreadWithinLoaderCallout
++RtlIsValidHandle
++RtlIsValidIndexHandle
++;RtlIsValidLocaleName
++;RtlLCIDToCultureName
++RtlLargeIntegerToChar
++;RtlLcidToLocaleName
++RtlLeaveCriticalSection
++RtlLengthRequiredSid
++RtlLengthSecurityDescriptor
++RtlLengthSid
++RtlLocalTimeToSystemTime
++;RtlLocaleNameToLcid
++RtlLockBootStatusData
++;RtlLockCurrentThread
++RtlLockHeap
++;RtlLockMemoryBlockLookaside
++;RtlLockMemoryStreamRegion
++;RtlLockMemoryZone
++;RtlLockModuleSection
++;RtlLogStackBackTrace
++RtlLookupAtomInAtomTable
++RtlLookupElementGenericTable
++RtlLookupElementGenericTableAvl
++RtlLookupElementGenericTableFull
++RtlLookupElementGenericTableFullAvl
++RtlLookupFunctionEntry
++RtlLookupFunctionTable
++RtlMakeSelfRelativeSD
++RtlMapGenericMask
++RtlMapSecurityErrorToNtStatus
++RtlMoveMemory
++;RtlMultiAppendUnicodeStringBuffer
++RtlMultiByteToUnicodeN
++RtlMultiByteToUnicodeSize
++RtlMultipleAllocateHeap
++RtlMultipleFreeHeap
++;RtlNewInstanceSecurityObject
++;RtlNewSecurityGrantedAccess
++RtlNewSecurityObject
++;RtlNewSecurityObjectEx
++;RtlNewSecurityObjectWithMultipleInheritance
++RtlNormalizeProcessParams
++;RtlNormalizeString
++RtlNtPathNameToDosPathName
++RtlNtStatusToDosError
++RtlNtStatusToDosErrorNoTeb
++;RtlNtdllName
++RtlNumberGenericTableElements
++RtlNumberGenericTableElementsAvl
++RtlNumberOfClearBits
++RtlNumberOfSetBits
++;RtlNumberOfSetBitsUlongPtr
++RtlOemStringToUnicodeSize=RtlxOemStringToUnicodeSize
++RtlOemStringToUnicodeString
++RtlOemToUnicodeN
++RtlOpenCurrentUser
++;RtlOwnerAcesPresent
++RtlPcToFileHeader
++RtlPinAtomInAtomTable
++;RtlPopFrame
++RtlPrefixString
++RtlPrefixUnicodeString
++;RtlPrepareForProcessCloning
++;RtlProcessFlsData
++;RtlProtectHeap
++;RtlPushFrame
++;RtlQueryActivationContextApplicationSettings
++RtlQueryAtomInAtomTable
++;RtlQueryCriticalSectionOwner
++RtlQueryDepthSList
++;RtlQueryDynamicTimeZoneInformation
++;RtlQueryElevationFlags
++;RtlQueryEnvironmentVariable
++RtlQueryEnvironmentVariable_U
++RtlQueryHeapInformation
++RtlQueryInformationAcl
++RtlQueryInformationActivationContext
++RtlQueryInformationActiveActivationContext
++;RtlQueryInterfaceMemoryStream
++;RtlQueryModuleInformation
++;RtlQueryProcessBackTraceInformation
++RtlQueryProcessDebugInformation
++;RtlQueryProcessHeapInformation
++;RtlQueryProcessLockInformation
++RtlQueryRegistryValues
++RtlQuerySecurityObject
++RtlQueryTagHeap
++RtlQueryTimeZoneInformation
++;RtlQueueApcWow64Thread
++RtlQueueWorkItem
++RtlRaiseException
++RtlRaiseStatus
++RtlRandom
++RtlRandomEx=RtlRandom
++RtlReAllocateHeap
++;RtlReadMemoryStream
++;RtlReadOutOfProcessMemoryStream
++RtlRealPredecessor
++RtlRealSuccessor
++RtlRegisterSecureMemoryCacheCallback
++;RtlRegisterThreadWithCsrss
++RtlRegisterWait
++RtlReleaseActivationContext
++;RtlReleaseMemoryStream
++RtlReleasePebLock
++RtlReleasePrivilege
++RtlReleaseRelativeName
++RtlReleaseResource
++RtlReleaseSRWLockExclusive
++RtlReleaseSRWLockShared
++RtlRemoteCall
++;RtlRemovePrivileges
++;RtlRemoveVectoredContinueHandler
++RtlRemoveVectoredExceptionHandler
++;RtlReportException
++;RtlResetMemoryBlockLookaside
++;RtlResetMemoryZone
++RtlResetRtlTranslations
++;RtlRestoreContext
++RtlRestoreLastWin32Error=RtlSetLastWin32Error
++;RtlRetrieveNtUserPfn
++;RtlRevertMemoryStream
++RtlRunDecodeUnicodeString
++RtlRunEncodeUnicodeString
++;RtlRunOnceBeginInitialize
++;RtlRunOnceComplete
++;RtlRunOnceExecuteOnce
++;RtlRunOnceInitialize
++RtlSecondsSince1970ToTime
++RtlSecondsSince1980ToTime
++;RtlSeekMemoryStream
++RtlSelfRelativeToAbsoluteSD
++RtlSelfRelativeToAbsoluteSD2
++;RtlSendMsgToSm
++RtlSetAllBits
++RtlSetAttributesSecurityDescriptor
++RtlSetBits
++RtlSetControlSecurityDescriptor
++RtlSetCriticalSectionSpinCount
++RtlSetCurrentDirectory_U
++RtlSetCurrentEnvironment
++;RtlSetCurrentTransaction
++RtlSetDaclSecurityDescriptor
++;RtlSetDynamicTimeZoneInformation
++;RtlSetEnvironmentStrings
++;RtlSetEnvironmentVar
++RtlSetEnvironmentVariable
++RtlSetGroupSecurityDescriptor
++RtlSetHeapInformation
++RtlSetInformationAcl
++RtlSetIoCompletionCallback
++RtlSetLastWin32Error
++RtlSetLastWin32ErrorAndNtStatusFromNtStatus
++;RtlSetMemoryStreamSize
++RtlSetOwnerSecurityDescriptor
++;RtlSetProcessDebugInformation
++RtlSetProcessIsCritical
++RtlSetSaclSecurityDescriptor
++RtlSetSecurityDescriptorRMControl
++RtlSetSecurityObject
++;RtlSetSecurityObjectEx
++;RtlSetThreadErrorMode
++;RtlSetThreadIsCritical
++;RtlSetThreadPoolStartFunc
++;RtlSetThreadPreferredUILanguages
++RtlSetTimeZoneInformation
++;RtlSetTimer
++RtlSetUnhandledExceptionFilter
++RtlSetUserFlagsHeap
++RtlSetUserValueHeap
++;RtlSidDominates
++;RtlSidEqualLevel
++;RtlSidHashInitialize
++;RtlSidHashLookup
++;RtlSidIsHigherLevel
++RtlSizeHeap
++RtlSleepConditionVariableCS
++RtlSleepConditionVariableSRW
++RtlSplay
++;RtlStartRXact
++;RtlStatMemoryStream
++RtlStringFromGUID
++RtlSubAuthorityCountSid
++RtlSubAuthoritySid
++RtlSubtreePredecessor
++RtlSubtreeSuccessor
++RtlSystemTimeToLocalTime
++RtlTestBit
++RtlTimeFieldsToTime
++RtlTimeToElapsedTimeFields
++RtlTimeToSecondsSince1970
++RtlTimeToSecondsSince1980
++RtlTimeToTimeFields
++;RtlTraceDatabaseAdd
++;RtlTraceDatabaseCreate
++;RtlTraceDatabaseDestroy
++;RtlTraceDatabaseEnumerate
++;RtlTraceDatabaseFind
++;RtlTraceDatabaseLock
++;RtlTraceDatabaseUnlock
++;RtlTraceDatabaseValidate
++;RtlTryAcquirePebLock
++RtlTryEnterCriticalSection
++RtlUnhandledExceptionFilter
++;RtlUnhandledExceptionFilter2
++RtlUnicodeStringToAnsiSize=RtlxUnicodeStringToAnsiSize
++RtlUnicodeStringToAnsiString
++RtlUnicodeStringToCountedOemString
++RtlUnicodeStringToInteger
++RtlUnicodeStringToOemSize=RtlxUnicodeStringToOemSize
++RtlUnicodeStringToOemString
++RtlUnicodeToCustomCPN
++RtlUnicodeToMultiByteN
++RtlUnicodeToMultiByteSize
++RtlUnicodeToOemN
++RtlUniform
++RtlUnlockBootStatusData
++;RtlUnlockCurrentThread
++RtlUnlockHeap
++;RtlUnlockMemoryBlockLookaside
++;RtlUnlockMemoryStreamRegion
++;RtlUnlockMemoryZone
++;RtlUnlockModuleSection
++RtlUnwind
++RtlUnwindEx
++RtlUpcaseUnicodeChar
++RtlUpcaseUnicodeString
++RtlUpcaseUnicodeStringToAnsiString
++RtlUpcaseUnicodeStringToCountedOemString
++RtlUpcaseUnicodeStringToOemString
++RtlUpcaseUnicodeToCustomCPN
++RtlUpcaseUnicodeToMultiByteN
++RtlUpcaseUnicodeToOemN
++;RtlUpdateClonedCriticalSection
++;RtlUpdateClonedSRWLock
++RtlUpdateTimer
++RtlUpperChar
++RtlUpperString
++;RtlUserThreadStart
++RtlValidAcl
++RtlValidRelativeSecurityDescriptor
++RtlValidSecurityDescriptor
++RtlValidSid
++RtlValidateHeap
++RtlValidateProcessHeaps
++RtlValidateUnicodeString
++RtlVerifyVersionInfo
++RtlVirtualUnwind
++RtlWakeAllConditionVariable
++RtlWakeConditionVariable
++RtlWalkFrameChain
++RtlWalkHeap
++;RtlWerpReportException
++;RtlWow64CallFunction64
++;RtlWow64EnableFsRedirection
++;RtlWow64EnableFsRedirectionEx
++;RtlWow64GetThreadContext
++;RtlWow64LogMessageInEventLogger
++;RtlWow64SetThreadContext
++;RtlWow64SuspendThread
++;RtlWriteMemoryStream
++RtlWriteRegistryValue
++RtlZeroHeap
++RtlZeroMemory
++RtlZombifyActivationContext
++;RtlpApplyLengthFunction
++;RtlpCheckDynamicTimeZoneInformation
++;RtlpCleanupRegistryKeys
++;RtlpConvertCultureNamesToLCIDs
++;RtlpConvertLCIDsToCultureNames
++;RtlpCreateProcessRegistryInfo
++RtlpEnsureBufferSize
++;RtlpGetLCIDFromLangInfoNode
++;RtlpGetNameFromLangInfoNode
++;RtlpGetSystemDefaultUILanguage
++;RtlpGetUserOrMachineUILanguage4NLS
++;RtlpInitializeLangRegistryInfo
++;RtlpIsQualifiedLanguage
++;RtlpLoadMachineUIByPolicy
++;RtlpLoadUserUIByPolicy
++;RtlpMuiFreeLangRegistryInfo
++;RtlpMuiRegCreateRegistryInfo
++;RtlpMuiRegFreeRegistryInfo
++;RtlpMuiRegLoadRegistryInfo
++;RtlpNotOwnerCriticalSection
++RtlpNtCreateKey
++RtlpNtEnumerateSubKey
++RtlpNtMakeTemporaryKey
++RtlpNtOpenKey
++RtlpNtQueryValueKey
++RtlpNtSetValueKey
++;RtlpQueryDefaultUILanguage
++;RtlpQueryProcessDebugInformationFromWow64
++;RtlpRefreshCachedUILanguage
++;RtlpSetInstallLanguage
++;RtlpSetPreferredUILanguages
++;RtlpSetUserPreferredUILanguages
++RtlpUnWaitCriticalSection
++;RtlpVerifyAndCommitUILanguageSettings
++RtlpWaitForCriticalSection
++RtlxAnsiStringToUnicodeSize
++RtlxOemStringToUnicodeSize
++RtlxUnicodeStringToAnsiSize
++RtlxUnicodeStringToOemSize
++;ShipAssert
++;ShipAssertGetBufferInfo
++;ShipAssertMsgA
++;ShipAssertMsgW
++;TpAllocAlpcCompletion
++;TpAllocCleanupGroup
++;TpAllocIoCompletion
++;TpAllocPool
++;TpAllocTimer
++;TpAllocWait
++;TpAllocWork
++;TpCallbackLeaveCriticalSectionOnCompletion
++;TpCallbackMayRunLong
++;TpCallbackReleaseMutexOnCompletion
++;TpCallbackReleaseSemaphoreOnCompletion
++;TpCallbackSetEventOnCompletion
++;TpCallbackUnloadDllOnCompletion
++;TpCancelAsyncIoOperation
++;TpCaptureCaller
++;TpCheckTerminateWorker
++;TpDbgDumpHeapUsage
++;TpDbgSetLogRoutine
++;TpDisassociateCallback
++;TpIsTimerSet
++;TpPostWork
++;TpReleaseAlpcCompletion
++;TpReleaseCleanupGroup
++;TpReleaseCleanupGroupMembers
++;TpReleaseIoCompletion
++;TpReleasePool
++;TpReleaseTimer
++;TpReleaseWait
++;TpReleaseWork
++;TpSetPoolMaxThreads
++;TpSetPoolMinThreads
++;TpSetTimer
++;TpSetWait
++;TpSimpleTryPost
++;TpStartAsyncIoOperation
++;TpWaitForAlpcCompletion
++;TpWaitForIoCompletion
++;TpWaitForTimer
++;TpWaitForWait
++;TpWaitForWork
++VerSetConditionMask
++;WerCheckEventEscalation
++;WerReportSQMEvent
++;WerReportWatsonEvent
++;WinSqmAddToStream
++;WinSqmEndSession
++;WinSqmEventEnabled
++;WinSqmEventWrite
++;WinSqmIsOptedIn
++;WinSqmSetString
++;WinSqmStartSession
++ZwAcceptConnectPort
++ZwAccessCheck
++ZwAccessCheckAndAuditAlarm
++ZwAccessCheckByType
++ZwAccessCheckByTypeAndAuditAlarm
++ZwAccessCheckByTypeResultList
++ZwAccessCheckByTypeResultListAndAuditAlarm
++ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
++;ZwAcquireCMFViewOwnership
++ZwAddAtom
++ZwAddBootEntry
++ZwAddDriverEntry
++ZwAdjustGroupsToken
++ZwAdjustPrivilegesToken
++ZwAlertResumeThread
++ZwAlertThread
++ZwAllocateLocallyUniqueId
++ZwAllocateUserPhysicalPages
++ZwAllocateUuids
++ZwAllocateVirtualMemory
++;ZwAlpcAcceptConnectPort
++;ZwAlpcCancelMessage
++;ZwAlpcConnectPort
++;ZwAlpcCreatePort
++;ZwAlpcCreatePortSection
++;ZwAlpcCreateResourceReserve
++;ZwAlpcCreateSectionView
++;ZwAlpcCreateSecurityContext
++;ZwAlpcDeletePortSection
++;ZwAlpcDeleteResourceReserve
++;ZwAlpcDeleteSectionView
++;ZwAlpcDeleteSecurityContext
++;ZwAlpcDisconnectPort
++;ZwAlpcImpersonateClientOfPort
++;ZwAlpcOpenSenderProcess
++;ZwAlpcOpenSenderThread
++;ZwAlpcQueryInformation
++;ZwAlpcQueryInformationMessage
++;ZwAlpcRevokeSecurityContext
++;ZwAlpcSendWaitReceivePort
++;ZwAlpcSetInformation
++ZwApphelpCacheControl
++ZwAreMappedFilesTheSame
++ZwAssignProcessToJobObject
++ZwCallbackReturn
++ZwCancelDeviceWakeupRequest
++ZwCancelIoFile
++;ZwCancelIoFileEx
++;ZwCancelSynchronousIoFile
++ZwCancelTimer
++ZwClearEvent
++ZwClose
++ZwCloseObjectAuditAlarm
++;ZwCommitComplete
++;ZwCommitEnlistment
++;ZwCommitTransaction
++ZwCompactKeys
++ZwCompareTokens
++ZwCompleteConnectPort
++ZwCompressKey
++ZwConnectPort
++ZwContinue
++ZwCreateDebugObject
++ZwCreateDirectoryObject
++;ZwCreateEnlistment
++ZwCreateEvent
++ZwCreateEventPair
++ZwCreateFile
++ZwCreateIoCompletion
++ZwCreateJobObject
++ZwCreateJobSet
++ZwCreateKey
++;ZwCreateKeyTransacted
++ZwCreateKeyedEvent
++ZwCreateMailslotFile
++ZwCreateMutant
++ZwCreateNamedPipeFile
++ZwCreatePagingFile
++ZwCreatePort
++;ZwCreatePrivateNamespace
++ZwCreateProcess
++ZwCreateProcessEx
++ZwCreateProfile
++;ZwCreateResourceManager
++ZwCreateSection
++ZwCreateSemaphore
++ZwCreateSymbolicLinkObject
++ZwCreateThread
++;ZwCreateThreadEx
++ZwCreateTimer
++ZwCreateToken
++;ZwCreateTransaction
++;ZwCreateTransactionManager
++;ZwCreateUserProcess
++ZwCreateWaitablePort
++;ZwCreateWorkerFactory
++ZwDebugActiveProcess
++ZwDebugContinue
++ZwDelayExecution
++ZwDeleteAtom
++ZwDeleteBootEntry
++ZwDeleteDriverEntry
++ZwDeleteFile
++ZwDeleteKey
++ZwDeleteObjectAuditAlarm
++;ZwDeletePrivateNamespace
++ZwDeleteValueKey
++ZwDeviceIoControlFile
++ZwDisplayString
++ZwDuplicateObject
++ZwDuplicateToken
++ZwEnumerateBootEntries
++ZwEnumerateDriverEntries
++ZwEnumerateKey
++ZwEnumerateSystemEnvironmentValuesEx
++;ZwEnumerateTransactionObject
++ZwEnumerateValueKey
++ZwExtendSection
++ZwFilterToken
++ZwFindAtom
++ZwFlushBuffersFile
++;ZwFlushInstallUILanguage
++ZwFlushInstructionCache
++ZwFlushKey
++;ZwFlushProcessWriteBuffers
++ZwFlushVirtualMemory
++ZwFlushWriteBuffer
++ZwFreeUserPhysicalPages
++ZwFreeVirtualMemory
++;ZwFreezeRegistry
++;ZwFreezeTransactions
++ZwFsControlFile
++ZwGetContextThread
++ZwGetCurrentProcessorNumber
++ZwGetDevicePowerState
++;ZwGetMUIRegistryInfo
++;ZwGetNextProcess
++;ZwGetNextThread
++;ZwGetNlsSectionPtr
++;ZwGetNotificationResourceManager
++ZwGetPlugPlayEvent
++ZwGetWriteWatch
++ZwImpersonateAnonymousToken
++ZwImpersonateClientOfPort
++ZwImpersonateThread
++;ZwInitializeNlsFiles
++ZwInitializeRegistry
++ZwInitiatePowerAction
++ZwIsProcessInJob
++ZwIsSystemResumeAutomatic
++;ZwIsUILanguageComitted
++ZwListenPort
++ZwLoadDriver
++ZwLoadKey
++ZwLoadKey2
++ZwLoadKeyEx
++ZwLockFile
++ZwLockProductActivationKeys
++ZwLockRegistryKey
++ZwLockVirtualMemory
++ZwMakePermanentObject
++ZwMakeTemporaryObject
++;ZwMapCMFModule
++ZwMapUserPhysicalPages
++ZwMapUserPhysicalPagesScatter
++ZwMapViewOfSection
++ZwModifyBootEntry
++ZwModifyDriverEntry
++ZwNotifyChangeDirectoryFile
++ZwNotifyChangeKey
++ZwNotifyChangeMultipleKeys
++ZwOpenDirectoryObject
++;ZwOpenEnlistment
++ZwOpenEvent
++ZwOpenEventPair
++ZwOpenFile
++ZwOpenIoCompletion
++ZwOpenJobObject
++ZwOpenKey
++;ZwOpenKeyTransacted
++ZwOpenKeyedEvent
++ZwOpenMutant
++ZwOpenObjectAuditAlarm
++;ZwOpenPrivateNamespace
++ZwOpenProcess
++ZwOpenProcessToken
++ZwOpenProcessTokenEx
++;ZwOpenResourceManager
++ZwOpenSection
++ZwOpenSemaphore
++;ZwOpenSession
++ZwOpenSymbolicLinkObject
++ZwOpenThread
++ZwOpenThreadToken
++ZwOpenThreadTokenEx
++ZwOpenTimer
++;ZwOpenTransaction
++;ZwOpenTransactionManager
++ZwPlugPlayControl
++ZwPowerInformation
++;ZwPrePrepareComplete
++;ZwPrePrepareEnlistment
++;ZwPrepareComplete
++;ZwPrepareEnlistment
++ZwPrivilegeCheck
++ZwPrivilegeObjectAuditAlarm
++ZwPrivilegedServiceAuditAlarm
++;ZwPropagationComplete
++;ZwPropagationFailed
++ZwProtectVirtualMemory
++ZwPulseEvent
++ZwQueryAttributesFile
++ZwQueryBootEntryOrder
++ZwQueryBootOptions
++ZwQueryDebugFilterState
++ZwQueryDefaultLocale
++ZwQueryDefaultUILanguage
++ZwQueryDirectoryFile
++ZwQueryDirectoryObject
++ZwQueryDriverEntryOrder
++ZwQueryEaFile
++ZwQueryEvent
++ZwQueryFullAttributesFile
++ZwQueryInformationAtom
++;ZwQueryInformationEnlistment
++ZwQueryInformationFile
++ZwQueryInformationJobObject
++ZwQueryInformationPort
++ZwQueryInformationProcess
++;ZwQueryInformationResourceManager
++ZwQueryInformationThread
++ZwQueryInformationToken
++;ZwQueryInformationTransaction
++;ZwQueryInformationTransactionManager
++;ZwQueryInformationWorkerFactory
++ZwQueryInstallUILanguage
++ZwQueryIntervalProfile
++ZwQueryIoCompletion
++ZwQueryKey
++;ZwQueryLicenseValue
++ZwQueryMultipleValueKey
++ZwQueryMutant
++ZwQueryObject
++ZwQueryOpenSubKeys
++ZwQueryOpenSubKeysEx
++ZwQueryPerformanceCounter
++ZwQueryPortInformationProcess
++ZwQueryQuotaInformationFile
++ZwQuerySection
++ZwQuerySecurityObject
++ZwQuerySemaphore
++ZwQuerySymbolicLinkObject
++ZwQuerySystemEnvironmentValue
++ZwQuerySystemEnvironmentValueEx
++ZwQuerySystemInformation
++ZwQuerySystemTime
++ZwQueryTimer
++ZwQueryTimerResolution
++ZwQueryValueKey
++ZwQueryVirtualMemory
++ZwQueryVolumeInformationFile
++ZwQueueApcThread
++ZwRaiseException
++ZwRaiseHardError
++ZwReadFile
++ZwReadFileScatter
++;ZwReadOnlyEnlistment
++ZwReadRequestData
++ZwReadVirtualMemory
++;ZwRecoverEnlistment
++;ZwRecoverResourceManager
++;ZwRecoverTransactionManager
++;ZwRegisterProtocolAddressInformation
++ZwRegisterThreadTerminatePort
++;ZwReleaseCMFViewOwnership
++ZwReleaseKeyedEvent
++ZwReleaseMutant
++ZwReleaseSemaphore
++;ZwReleaseWorkerFactoryWorker
++ZwRemoveIoCompletion
++;ZwRemoveIoCompletionEx
++ZwRemoveProcessDebug
++ZwRenameKey
++;ZwRenameTransactionManager
++ZwReplaceKey
++;ZwReplacePartitionUnit
++ZwReplyPort
++ZwReplyWaitReceivePort
++ZwReplyWaitReceivePortEx
++ZwReplyWaitReplyPort
++ZwRequestDeviceWakeup
++ZwRequestPort
++ZwRequestWaitReplyPort
++ZwRequestWakeupLatency
++ZwResetEvent
++ZwResetWriteWatch
++ZwRestoreKey
++ZwResumeProcess
++ZwResumeThread
++;ZwRollbackComplete
++;ZwRollbackEnlistment
++;ZwRollbackTransaction
++;ZwRollforwardTransactionManager
++ZwSaveKey
++ZwSaveKeyEx
++ZwSaveMergedKeys
++ZwSecureConnectPort
++ZwSetBootEntryOrder
++ZwSetBootOptions
++ZwSetContextThread
++ZwSetDebugFilterState
++ZwSetDefaultHardErrorPort
++ZwSetDefaultLocale
++ZwSetDefaultUILanguage
++ZwSetDriverEntryOrder
++ZwSetEaFile
++ZwSetEvent
++ZwSetEventBoostPriority
++ZwSetHighEventPair
++ZwSetHighWaitLowEventPair
++ZwSetInformationDebugObject
++;ZwSetInformationEnlistment
++ZwSetInformationFile
++ZwSetInformationJobObject
++ZwSetInformationKey
++ZwSetInformationObject
++ZwSetInformationProcess
++;ZwSetInformationResourceManager
++ZwSetInformationThread
++ZwSetInformationToken
++;ZwSetInformationTransaction
++;ZwSetInformationTransactionManager
++;ZwSetInformationWorkerFactory
++ZwSetIntervalProfile
++ZwSetIoCompletion
++ZwSetLdtEntries
++ZwSetLowEventPair
++ZwSetLowWaitHighEventPair
++ZwSetQuotaInformationFile
++ZwSetSecurityObject
++ZwSetSystemEnvironmentValue
++ZwSetSystemEnvironmentValueEx
++ZwSetSystemInformation
++ZwSetSystemPowerState
++ZwSetSystemTime
++ZwSetThreadExecutionState
++ZwSetTimer
++ZwSetTimerResolution
++ZwSetUuidSeed
++ZwSetValueKey
++ZwSetVolumeInformationFile
++ZwShutdownSystem
++;ZwShutdownWorkerFactory
++ZwSignalAndWaitForSingleObject
++;ZwSinglePhaseReject
++ZwStartProfile
++ZwStopProfile
++ZwSuspendProcess
++ZwSuspendThread
++ZwSystemDebugControl
++ZwTerminateJobObject
++ZwTerminateProcess
++ZwTerminateThread
++ZwTestAlert
++;ZwThawRegistry
++;ZwThawTransactions
++;ZwTraceControl
++ZwTraceEvent
++ZwTranslateFilePath
++ZwUnloadDriver
++ZwUnloadKey
++ZwUnloadKey2
++ZwUnloadKeyEx
++ZwUnlockFile
++ZwUnlockVirtualMemory
++ZwUnmapViewOfSection
++ZwVdmControl
++ZwWaitForDebugEvent
++ZwWaitForKeyedEvent
++ZwWaitForMultipleObjects
++ZwWaitForMultipleObjects32
++ZwWaitForSingleObject
++;ZwWaitForWorkViaWorkerFactory
++ZwWaitHighEventPair
++ZwWaitLowEventPair
++;ZwWorkerFactoryWorkerReady
++ZwWriteFile
++ZwWriteFileGather
++ZwWriteRequestData
++ZwWriteVirtualMemory
++ZwYieldExecution
++;__C_specific_handler
++__chkstk
++__isascii
++__iscsym
++__iscsymf
++;__misaligned_access
++__toascii
++_atoi64
++_fltused
++_i64toa
++_i64tow
++_itoa
++_itow
++_lfind
++;_local_unwind
++_ltoa
++_ltow
++_memccpy
++_memicmp
++_setjmp
++_setjmpex
++_snprintf
++_snwprintf
++_splitpath
++_strcmpi
++_stricmp
++_strlwr
++_strnicmp
++_strupr
++;_swprintf
++_ui64toa
++_ui64tow
++_ultoa
++_ultow
++;_vscwprintf
++_vsnprintf
++_vsnwprintf
++;_vswprintf
++_wcsicmp
++_wcslwr
++_wcsnicmp
++;_wcstoui64
++_wcsupr
++_wtoi
++_wtoi64
++_wtol
++abs
++atan
++atoi
++atol
++bsearch
++ceil
++cos
++fabs
++floor
++isalnum
++isalpha
++iscntrl
++isdigit
++isgraph
++islower
++isprint
++ispunct
++isspace
++isupper
++iswalpha
++iswctype
++iswdigit
++iswlower
++iswspace
++iswxdigit
++isxdigit
++labs
++log
++longjmp
++mbstowcs
++memchr
++memcmp
++memcpy
++memmove
++memset
++pow
++qsort
++sin
++sprintf
++sqrt
++sscanf
++strcat
++strchr
++strcmp
++strcpy
++strcspn
++strlen
++strncat
++strncmp
++strncpy
++strpbrk
++strrchr
++strspn
++strstr
++strtol
++strtoul
++swprintf
++tan
++tolower
++toupper
++towlower
++towupper
++vDbgPrintEx
++vDbgPrintExWithPrefix
++vsprintf
++wcscat
++wcschr
++wcscmp
++wcscpy
++wcscspn
++wcslen
++wcsncat
++wcsncmp
++wcsncpy
++wcspbrk
++wcsrchr
++wcsspn
++wcsstr
++wcstol
++wcstombs
++wcstoul
+++;
+++; HACKS for ros
+++CsrNewThread
---<module name="imagehlp" type="win32dll" baseaddress="${BASEADDRESS_IMAGEHLP}" installbase="system32" installname="imagehlp.dll">
+++<module name="imagehlp" type="win32dll" baseaddress="${BASEADDRESS_IMAGEHLP}" installbase="system32" installname="imagehlp.dll" allowwarnings="true">
<importlibrary definition="imagehlp.spec" />
<include base="imagehlp">.</include>
<define name="_IMAGEHLP_SOURCE_"></define>
--- /dev/null
--<module name="itss" type="win32dll" baseaddress="${BASEADDRESS_ITSS}" installbase="system32" installname="itss.dll" crt="msvcrt">
+ <group>
+++<module name="itss" type="win32dll" baseaddress="${BASEADDRESS_ITSS}" installbase="system32" installname="itss.dll" crt="msvcrt" allowwarnings="true">
+ <autoregister infsection="OleControlDlls" type="DllRegisterServer" />
+ <importlibrary definition="itss.spec" />
+ <include base="itss">.</include>
+ <include base="ReactOS">include/reactos/wine</include>
+ <define name="__WINESRC__" />
+ <file>chm_lib.c</file>
+ <file>lzx.c</file>
+ <file>itss.c</file>
+ <file>moniker.c</file>
+ <file>protocol.c</file>
+ <file>storage.c</file>
+ <file>rsrc.rc</file>
+ <library>wine</library>
+ <library>uuid</library>
+ <library>urlmon</library>
+ <library>shlwapi</library>
+ <library>ole32</library>
+ <library>kernel32</library>
+ <library>ntdll</library>
+ </module>
+ </group>
---<module name="lsasrv" type="win32dll" entrypoint="0" baseaddress="${BASEADDRESS_LSASRV}" installbase="system32" installname="lsasrv.dll" unicode="yes">
-- <importlibrary definition="lsasrv.def" />
+++<module name="lsasrv" type="win32dll" entrypoint="0" baseaddress="${BASEADDRESS_LSASRV}" installbase="system32" installname="lsasrv.dll" unicode="yes" allowwarnings="true">
++ <importlibrary definition="lsasrv.spec" />
<include base="lsasrv">.</include>
<include base="lsa_server">.</include>
<library>lsa_server</library>
--- /dev/null
--- /dev/null
- ; __iob_func @118
++;
++; ReactOS MSVCRT Library
++;
++LIBRARY msvcrt.dll
++
++EXPORTS
++ $I10_OUTPUT=MSVCRT_I10_OUTPUT @57
++ ??0__non_rtti_object@@QAE@ABV0@@Z=MSVCRT___non_rtti_object_copy_ctor @1
++ ??0__non_rtti_object@@QAE@PBD@Z=MSVCRT___non_rtti_object_ctor @2
++; ??0bad_cast@@AAE@PBQBD@Z @3
++ ??0bad_cast@@QAE@ABQBD@Z=MSVCRT_bad_cast_ctor @4
++ ??0bad_cast@@QAE@ABV0@@Z=MSVCRT_bad_cast_copy_ctor @5
++; ??0bad_cast@@QAE@PBD@Z @6
++ ??0bad_typeid@@QAE@ABV0@@Z=MSVCRT_bad_typeid_copy_ctor @7
++ ??0bad_typeid@@QAE@PBD@Z=MSVCRT_bad_typeid_ctor @8
++ ??0exception@@QAE@ABQBD@Z=MSVCRT_exception_ctor @9
++; ??0exception@@QAE@ABQBDH@Z @10
++ ??0exception@@QAE@ABV0@@Z=MSVCRT_exception_copy_ctor @11
++ ??0exception@@QAE@XZ=MSVCRT_exception_default_ctor @12
++ ??1__non_rtti_object@@UAE@XZ=MSVCRT___non_rtti_object_dtor @13
++ ??1bad_cast@@UAE@XZ=MSVCRT_bad_cast_dtor @14
++ ??1bad_typeid@@UAE@XZ=MSVCRT_bad_typeid_dtor @15
++ ??1exception@@UAE@XZ=MSVCRT_exception_dtor @16
++ ??1type_info@@UAE@XZ=MSVCRT_type_info_dtor @17
++ ??2@YAPAXI@Z=MSVCRT_operator_new @18
++ ??3@YAXPAX@Z=MSVCRT_operator_delete @19
++ ??4__non_rtti_object@@QAEAAV0@ABV0@@Z=MSVCRT___non_rtti_object_opequals @20
++ ??4bad_cast@@QAEAAV0@ABV0@@Z=MSVCRT_bad_cast_opequals @21
++ ??4bad_typeid@@QAEAAV0@ABV0@@Z=MSVCRT_bad_typeid_opequals @22
++ ??4exception@@QAEAAV0@ABV0@@Z=MSVCRT_exception_opequals @23
++ ??8type_info@@QBEHABV0@@Z=MSVCRT_type_info_opequals_equals @24
++ ??9type_info@@QBEHABV0@@Z=MSVCRT_type_info_opnot_equals @25
++ ??_7__non_rtti_object@@6B@=MSVCRT___non_rtti_object_vtable@@6B@ @26 DATA
++ ??_7bad_cast@@6B@=MSVCRT_bad_cast_vtable @27 DATA
++ ??_7bad_typeid@@6B@=MSVCRT_bad_typeid_vtable @28 DATA
++ ??_7exception@@6B@=MSVCRT_exception_vtable @29 DATA
++ ??_E__non_rtti_object@@UAEPAXI@Z=MSVCRT___non_rtti_object_vector_dtor @30
++ ??_Ebad_cast@@UAEPAXI@Z=MSVCRT_bad_cast_vector_dtor @31
++ ??_Ebad_typeid@@UAEPAXI@Z=MSVCRT_bad_typeid_vector_dtor @32
++ ??_Eexception@@UAEPAXI@Z=MSVCRT_exception_vector_dtor @33
++; ??_Fbad_cast@@QAEXXZ @34
++; ??_Fbad_typeid@@QAEXXZ @35
++ ??_G__non_rtti_object@@UAEPAXI@Z=MSVCRT___non_rtti_object_scalar_dtor @36
++ ??_Gbad_cast@@UAEPAXI@Z=MSVCRT_bad_cast_scalar_dtor @37
++ ??_Gbad_typeid@@UAEPAXI@Z=MSVCRT_bad_typeid_scalar_dtor @38
++ ??_Gexception@@UAEPAXI@Z=MSVCRT_exception_scalar_dtor @39
++ ??_U@YAPAXI@Z=MSVCRT_operator_new @40
++ ??_V@YAXPAX@Z=MSVCRT_operator_delete @41
++ ?_query_new_handler@@YAP6AHI@ZXZ=MSVCRT__query_new_handler @43
++ ?_query_new_mode@@YAHXZ=MSVCRT__query_new_mode @44
++ ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z=MSVCRT__set_new_handler @45
++ ?_set_new_mode@@YAHH@Z=MSVCRT__set_new_mode @46
++ ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z=MSVCRT__set_se_translator @47
++ ?before@type_info@@QBEHABV1@@Z=MSVCRT_type_info_before @48
++ ?name@type_info@@QBEPBDXZ=MSVCRT_type_info_name @49
++ ?raw_name@type_info@@QBEPBDXZ=MSVCRT_type_info_raw_name @50
++ ?set_new_handler@@YAP6AXXZP6AXXZ@Z=MSVCRT__set_new_handler @51
++ ?set_terminate@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_terminate @52
++ ?set_unexpected@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_unexpected @53
++ ?terminate@@YAXXZ=MSVCRT_terminate @54
++ ?unexpected@@YAXXZ=MSVCRT_unexpected @55
++ ?what@exception@@UBEPBDXZ=MSVCRT_what_exception @56
++ _CIacos @58
++ _CIasin @59
++ _CIatan @60
++ _CIatan2 @61
++ _CIcos @62
++ _CIcosh @63
++ _CIexp @64
++ _CIfmod @65
++ _CIlog @66
++ _CIlog10 @67
++ _CIpow @68
++ _CIsin @69
++ _CIsinh @70
++ _CIsqrt @71
++ _CItan @72
++ _CItanh @73
++ _CxxThrowException @74
++; _EH_prolog @75 ???
++ _Getdays @76
++ _Getmonths @77
++ _Gettnames @78
++ _HUGE @79 DATA
++ _Strftime @80
++ _XcptFilter @81
++ __CppXcptFilter @82
++; __CxxCallUnwindDtor @83
++; __CxxCallUnwindVecDtor @84
++ __CxxDetectRethrow @85
++; __CxxExceptionFilter @86
++; __CxxFrameHandler @87 ???
++; __CxxFrameHandler2 @88
++; __CxxLongjmpUnwind @89 ???
++ __CxxQueryExceptionSize @90
++; __CxxRegisterExceptionObject @91
++; __CxxUnregisterExceptionObject @92
++; __DestructExceptionObject @93
++ __RTCastToVoid=MSVCRT___RTCastToVoid @94
++ __RTDynamicCast=MSVCRT___RTDynamicCast @95
++ __RTtypeid=MSVCRT___RTtypeid @96
++ __STRINGTOLD @97
++; ___lc_codepage_func @98
++; ___lc_collate_cp_func @99
++; ___lc_handle_func @100
++; ___mb_cur_max_func @101
++ ___setlc_active_func @102
++ ___unguarded_readlc_active_add_func @103
++ __argc @104 DATA
++ __argv @105 DATA
++ __badioinfo @106 DATA
++ __crtCompareStringA=kernel32.CompareStringA @107
++ __crtCompareStringW=kernel32.CompareStringW @108
++ __crtGetLocaleInfoW=kernel32.GetLocaleInfo @109
++ __crtGetStringTypeW=kernel32.GetStringTypeW @110
++ __crtLCMapStringA @111
++; __crtLCMapStringW @112
++ __dllonexit @113
++ __doserrno @114
++ __fpecode @115
++ __getmainargs @116
++ __initenv @117
- ; _gmtime64 @313 ???
+++ __iob_func @118
++ __isascii @119
++ __iscsym @120
++ __iscsymf @121
++ __lc_codepage @122 DATA
++ __lc_collate_cp @123 DATA
++ __lc_handle @124 DATA
++ __lconv_init @125
++ __mb_cur_max @126 DATA
++ __p___argc @127
++ __p___argv @128
++ __p___initenv @129
++ __p___mb_cur_max @130
++ __p___wargv @131
++ __p___winitenv @132
++ __p__acmdln @133
++ __p__amblksiz @134
++ __p__commode @135
++ __p__daylight @136
++ __p__dstbias @137
++ __p__environ @138
++; __p__fileinfo @139
++ __p__fmode @140
++ __p__iob @141
++; __p__mbcasemap @142
++ __p__mbctype @143
++ __p__osver @144
++ __p__pctype @145
++ __p__pgmptr @146
++ __p__pwctype @147
++ __p__timezone @148
++ __p__tzname @149
++ __p__wcmdln @150
++ __p__wenviron @151
++ __p__winmajor @152
++ __p__winminor @153
++ __p__winver @154
++ __p__wpgmptr @155
++; __pctype_func @156
++ __pioinfo @157 DATA
++; __pwctype_func @158
++ __pxcptinfoptrs @159
++ __set_app_type @160
++ __setlc_active @161 DATA
++ __setusermatherr @162
++ __threadhandle @163
++ __threadid @164
++ __toascii @165
++ __unDName @166
++ __unDNameEx @167
++; __uncaught_exception @42
++ __unguarded_readlc_active @168 DATA
++ __wargv @169 DATA
++; __wcserror @170
++ __wgetmainargs @171
++ __winitenv @172 DATA
++ _abnormal_termination @173
++; _abs64 @174
++ _access @175
++ _acmdln @176 DATA
++ _adj_fdiv_m16i @177
++ _adj_fdiv_m32 @178
++ _adj_fdiv_m32i @179
++ _adj_fdiv_m64 @180
++ _adj_fdiv_r @181
++ _adj_fdivr_m16i @182
++ _adj_fdivr_m32 @183
++ _adj_fdivr_m32i @184
++ _adj_fdivr_m64 @185
++ _adj_fpatan @186
++ _adj_fprem @187
++ _adj_fprem1 @188
++ _adj_fptan @189
++ _adjust_fdiv @190 DATA
++ _aexit_rtn @191
++ _aligned_free @192
++ _aligned_malloc @193
++ _aligned_offset_malloc @194
++ _aligned_offset_realloc @195
++ _aligned_realloc @196
++ _amsg_exit @197
++ _assert @198
++; _atodbl @199
++ _atoi64 @200
++ _atoldbl @201
++ _beep @202
++ _beginthread @203
++ _beginthreadex @204
++ _c_exit @205
++ _cabs @206
++ _callnewh @207
++ _cexit @208
++ _cgets @209
++; _cgetws @210
++ _chdir @211
++ _chdrive @212
++ _chgsign @213
++ _chkesp @214
++ _chmod @215
++ _chsize @216
++ _clearfp @217
++ _close @218
++ _commit @219
++ _commode @220 DATA
++ _control87 @221
++ _controlfp @222
++ _copysign @223
++ _cprintf @224
++ _cputs @225
++; _cputws @226
++ _creat @227
++ _cscanf @228
++; _ctime64 @229
++ _ctype @230 DATA
++ _cwait @231
++; _cwprintf @232
++; _cwscanf @233
++ _daylight @234 DATA
++ _dstbias @235 DATA
++ _dup @236
++ _dup2 @237
++ _ecvt @238
++ _endthread @239
++ _endthreadex @240
++ _environ @241 DATA
++ _eof @242
++ _errno @243
++ _except_handler2 @244
++ _except_handler3 @245
++ _execl @246
++ _execle @247
++ _execlp @248
++ _execlpe @249
++ _execv @250
++ _execve @251
++ _execvp @252
++ _execvpe @253
++ _exit @254
++ _expand @255
++ _fcloseall @256
++ _fcvt @257
++ _fdopen @258
++ _fgetchar @259
++ _fgetwchar @260
++ _filbuf @261
++; _fileinfo @262
++ _filelength @263
++ _filelengthi64 @264
++ _fileno @265
++ _findclose @266
++ _findfirst @267
++ _findfirst64 @268
++ _findfirsti64 @269
++ _findnext @270
++ _findnext64 @271
++ _findnexti64 @272
++ _finite @273
++ _flsbuf @274
++ _flushall @275
++ _fmode @276 DATA
++ _fpclass @277
++ _fpieee_flt @278
++ _fpreset @279
++ _fputchar @280
++ _fputwchar @281
++ _fsopen @282
++ _fstat @283
++ _fstat64 @284
++ _fstati64 @285
++ _ftime @286
++; _ftime64 @287 ???
++; _ftol @288 ???
++ _fullpath @289
++ _futime @290
++; _futime64 @291
++ _gcvt @292
++; _get_heap_handle @293
++ _get_osfhandle @294
++ _get_sbh_threshold @295
++ _getch @296
++ _getche @297
++ _getcwd @298
++ _getdcwd @299
++ _getdiskfree @300
++ _getdllprocaddr @301
++ _getdrive @302
++ _getdrives=kernel32.GetLogicalDrives @303
++ _getmaxstdio @304
++ _getmbcp @305
++ _getpid=kernel32.GetCurrentProcessId @306
++ _getsystime @307
++ _getw @308
++; _getwch @309
++; _getwche @310
++ _getws @311
++ _global_unwind2 @312
- ; _localtime64 @369 ???
+++ _gmtime64=gmtime @313
++ _heapadd @314
++ _heapchk @315
++ _heapmin @316
++ _heapset @317
++; _heapused @318
++ _heapwalk @319
++ _hypot @320
++ _i64toa @321
++ _i64tow @322
++ _initterm @323
++; _inp @324
++; _inpd @325
++; _inpw @326
++ _iob @327 DATA
++ _isatty @328
++ _isctype @329
++ _ismbbalnum @330
++ _ismbbalpha @331
++ _ismbbgraph @332
++ _ismbbkalnum @333
++ _ismbbkana @334
++; _ismbbkprint @335
++ _ismbbkpunct @336
++ _ismbblead @337
++ _ismbbprint @338
++ _ismbbpunct @339
++ _ismbbtrail @340
++ _ismbcalnum @341
++ _ismbcalpha @342
++ _ismbcdigit @343
++ _ismbcgraph @344
++ _ismbchira @345
++ _ismbckata @346
++ _ismbcl0 @347
++ _ismbcl1 @348
++ _ismbcl2 @349
++ _ismbclegal @350
++ _ismbclower @351
++ _ismbcprint @352
++ _ismbcpunct @353
++ _ismbcspace @354
++ _ismbcsymbol @355
++ _ismbcupper @356
++ _ismbslead @357
++ _ismbstrail @358
++ _isnan @359
++ _itoa @360
++ _itow @361
++ _j0 @362
++ _j1 @363
++ _jn @364
++ _kbhit @365
++ _lfind @366
++ _loaddll @367
++ _local_unwind2 @368
- ; _mkgmtime @440
- ; _mkgmtime64 @441
+++ _localtime64 @369
++ _lock @370
++ _locking @371
++ _logb @372
++ _longjmpex=longjmp @373
++ _lrotl @374
++ _lrotr @375
++ _lsearch @376
++ _lseek @377
++ _lseeki64 @378
++ _ltoa @379
++ _ltow @380
++ _makepath @381
++ _mbbtombc @382
++ _mbbtype @383
++; _mbcasemap @384
++ _mbccpy @385
++ _mbcjistojms @386
++ _mbcjmstojis @387
++ _mbclen @388
++ _mbctohira @389
++ _mbctokata @390
++ _mbctolower @391
++ _mbctombb @392
++ _mbctoupper @393
++ _mbctype @394 DATA
++ _mbsbtype @395
++ _mbscat @396
++ _mbschr @397
++ _mbscmp @398
++ _mbscoll @399
++ _mbscpy @400
++ _mbscspn @401
++ _mbsdec @402
++ _mbsdup @403
++ _mbsicmp @404
++ _mbsicoll @405
++ _mbsinc @406
++ _mbslen @407
++ _mbslwr @408
++ _mbsnbcat @409
++ _mbsnbcmp @410
++ _mbsnbcnt @411
++ _mbsnbcoll @412
++ _mbsnbcpy @413
++ _mbsnbicmp @414
++ _mbsnbicoll @415
++ _mbsnbset @416
++ _mbsncat @417
++ _mbsnccnt @418
++ _mbsncmp @419
++ _mbsncoll @420
++ _mbsncpy @421
++ _mbsnextc @422
++ _mbsnicmp @423
++ _mbsnicoll @424
++ _mbsninc @425
++ _mbsnset @426
++ _mbspbrk @427
++ _mbsrchr @428
++ _mbsrev @429
++ _mbsset @430
++ _mbsspn @431
++ _mbsspnp @432
++ _mbsstr @433
++ _mbstok @434
++ _mbstrlen @435
++ _mbsupr @436
++ _memccpy @437
++ _memicmp @438
++ _mkdir @439
- ; _mktime64 @443
+++ _mkgmtime @440
+++ _mkgmtime64 @441
++ _mktemp @442
+++ _mktime64 @443
++ _msize @444
++ _nextafter @445
++ _onexit @446
++ _open @447
++ _open_osfhandle @448
++; _osplatform @449
++ _osver @450 DATA
++; _outp @451
++; _outpd @452
++; _outpw @453
++ _pclose @454
++ _pctype @455 DATA
++ _pgmptr @456 DATA
++ _pipe @457
++ _popen @458
++ _purecall @459
++ _putch @460
++ _putenv @461
++ _putw @462
++; _putwch @463
++ _putws @464
++ _pwctype @465
++ _read @466
++; _resetstkoflw @467
++ _rmdir @468
++ _rmtmp @469
++ _rotl @470
++; _rotl64 @471
++ _rotr @472
++; _rotr64 @473
++ _safe_fdiv @474
++ _safe_fdivr @475
++ _safe_fprem @476
++ _safe_fprem1 @477
++ _scalb @478
++; _scprintf @479
++; _scwprintf @480
++ _searchenv @481
++; _seh_longjmp_unwind @482 ???
++; _set_SSE2_enable @483
++ _set_error_mode @484
++ _set_sbh_threshold @485
++ _seterrormode @486
++ _setjmp @487
++ _setjmpex @488
++ _setmaxstdio @489
++ _setmbcp @490
++ _setmode @491
++ _setsystime @492
++ _sleep @493
++ _snprintf @494
++; _snscanf @495
++ _snwprintf @496
++; _snwscanf @497
++ _sopen @498
++ _spawnl @499
++ _spawnle @500
++ _spawnlp @501
++ _spawnlpe @502
++ _spawnv @503
++ _spawnve @504
++ _spawnvp @505
++ _spawnvpe @506
++ _splitpath @507
++ _stat @508
++ _stat64 @509
++ _stati64 @510
++ _statusfp @511
++ _strcmpi @512
++ _strdate @513
++ _strdup @514
++ _strerror @515
++ _stricmp @516
++ _stricoll @517
++ _strlwr @518
++ _strncoll @519
++ _strnicmp @520
++ _strnicoll @521
++ _strnset @522
++ _strrev @523
++ _strset @524
++ _strtime @525
++; _strtoi64 @526
++ _strtoui64=strtoull @527
++ _strupr @528
++ _swab @529
++ _sys_errlist @530 DATA
++ _sys_nerr @531 DATA
++ _tell @532
++ _telli64 @533
++ _tempnam @534
++ _time64 @535
++ _timezone @536 DATA
++ _tolower @537
++ _toupper @538
++ _tzname @539 DATA
++ _tzset @540
++ _ui64toa @541
++ _ui64tow @542
++ _ultoa @543
++ _ultow @544
++ _umask @545
++ _ungetch @546
++; _ungetwch @547
++ _unlink @548
++ _unloaddll @549
++ _unlock @550
++ _utime @551
++; _utime64 @552
++; _vscprintf @553
++; _vscwprintf @554
++ _vsnprintf @555
++ _vsnwprintf @556
++ _waccess @557
++ _wasctime @558
++ _wchdir @559
++ _wchmod @560
++ _wcmdln @561
++ _wcreat @562
++ _wcsdup @563
++; _wcserror @564
++ _wcsicmp @565
++ _wcsicoll @566
++ _wcslwr @567
++ _wcsncoll @568
++ _wcsnicmp @569
++ _wcsnicoll @570
++ _wcsnset @571
++ _wcsrev @572
++ _wcsset @573
++; _wcstoi64 @574
++; _wcstoui64 @575
++ _wcsupr @576
++ _wctime @577
++; _wctime64 @578
++; _wctype @579
++ _wenviron @580 DATA
++ _wexecl @581
++ _wexecle @582
++ _wexeclp @583
++ _wexeclpe @584
++ _wexecv @585
++ _wexecve @586
++ _wexecvp @587
++ _wexecvpe @588
++ _wfdopen @589
++ _wfindfirst @590
++; _wfindfirst64 @591
++ _wfindfirsti64 @592
++ _wfindnext @593
++; _wfindnext64 @594
++ _wfindnexti64 @595
++ _wfopen @596
++ _wfreopen @597
++ _wfsopen @598
++ _wfullpath @599
++ _wgetcwd @600
++ _wgetdcwd @601
++ _wgetenv @602
++ _winmajor @603 DATA
++ _winminor @604 DATA
++ _winver @605 DATA
++ _wmakepath @606
++ _wmkdir @607
++ _wmktemp @608
++ _wopen @609
++ _wperror @610
++ _wpgmptr @611 DATA
++ _wpopen @612
++ _wputenv @613
++ _wremove @614
++ _wrename @615
++ _write @616
++ _wrmdir @617
++ _wsearchenv @618
++ _wsetlocale @619
++ _wsopen @620
++ _wspawnl @621
++ _wspawnle @622
++ _wspawnlp @623
++ _wspawnlpe @624
++ _wspawnv @625
++ _wspawnve @626
++ _wspawnvp @627
++ _wspawnvpe @628
++ _wsplitpath @629
++ _wstat @630
++ _wstat64 @631
++ _wstati64 @632
++ _wstrdate @633
++ _wstrtime @634
++ _wsystem @635
++ _wtempnam @636
++ _wtmpnam @637
++; _wtof @638
++ _wtoi @639
++ _wtoi64 @640
++ _wtol @641
++ _wunlink @642
++ _wutime @643
++; _wutime64 @644
++ _y0 @645
++ _y1 @646
++ _yn @647
++ abort @648
++ abs @649
++ acos @650
++ asctime @651
++ asin @652
++ atan @653
++ atan2 @654
++ atexit @655
++ atof @656
++ atoi @657
++ atol @658
++ bsearch @659
++ calloc @660
++ ceil @661
++ clearerr @662
++ clock @663
++ cos @664
++ cosh @665
++ ctime @666
++ difftime @667
++ div @668
++ exit @669
++ exp @670
++ fabs @671
++ fclose @672
++ feof @673
++ ferror @674
++ fflush @675
++ fgetc @676
++ fgetpos @677
++ fgets @678
++ fgetwc @679
++ fgetws @680
++ floor @681
++ fmod @682
++ fopen @683
++ fprintf @684
++ fputc @685
++ fputs @686
++ fputwc @687
++ fputws @688
++ fread @689
++ free @690
++ freopen @691
++ frexp @692
++ fscanf @693
++ fseek @694
++ fsetpos @695
++ ftell @696
++ fwprintf @697
++ fwrite @698
++ fwscanf @699
++ getc @700
++ getchar @701
++ getenv @702
++ gets @703
++ getwc @704
++ getwchar @705
++ gmtime @706
++ is_wctype @707
++ isalnum @708
++ isalpha @709
++ iscntrl @710
++ isdigit @711
++ isgraph @712
++ isleadbyte @713
++ islower @714
++ isprint @715
++ ispunct @716
++ isspace @717
++ isupper @718
++ iswalnum @719
++ iswalpha @720
++ iswascii @721
++ iswcntrl @722
++ iswctype @723
++ iswdigit @724
++ iswgraph @725
++ iswlower @726
++ iswprint @727
++ iswpunct @728
++ iswspace @729
++ iswupper @730
++ iswxdigit @731
++ isxdigit @732
++ labs @733
++ ldexp @734
++ ldiv @735
++ localeconv @736
++; localtime @737 ???
++ log @738
++ log10 @739
++ longjmp @740
++ malloc @741
++ mblen @742
++ mbstowcs @743
++ mbtowc @744
++ memchr @745
++ memcmp @746
++ memcpy @747
++ memmove @748
++ memset @749
++ mktime @750
++ modf @751
++ perror @752
++ pow @753
++ printf @754
++ putc @755
++ putchar @756
++ puts @757
++ putwc=fputwc @758
++ putwchar=_fputwchar @759
++ qsort @760
++ raise @761
++ rand @762
++ realloc @763
++ remove @764
++ rename @765
++ rewind @766
++ scanf @767
++ setbuf @768
++ setlocale @769
++ setvbuf @770
++ signal @771
++ sin @772
++ sinh @773
++ sprintf @774
++ sqrt @775
++ srand @776
++ sscanf @777
++ strcat @778
++ strchr @779
++ strcmp @780
++ strcoll @781
++ strcpy @782
++ strcspn @783
++ strerror @784
++ strftime @785
++ strlen @786
++ strncat @787
++ strncmp @788
++ strncpy @789
++ strpbrk @790
++ strrchr @791
++ strspn @792
++ strstr @793
++ strtod @794
++ strtok @795
++ strtol @796
++ strtoul @797
++ strxfrm @798
++ swprintf @799
++ swscanf @800
++ system @801
++ tan @802
++ tanh @803
++ time @804
++ tmpfile @805
++ tmpnam @806
++ tolower @807
++ toupper @808
++ towlower @809
++ towupper @810
++ ungetc @811
++ ungetwc @812
++ vfprintf @813
++ vfwprintf @814
++ vprintf @815
++ vsprintf @816
++ vswprintf @817
++ vwprintf @818
++ wcscat @819
++ wcschr @820
++ wcscmp @821
++ wcscoll @822
++ wcscpy @823
++ wcscspn @824
++ wcsftime @825
++ wcslen @826
++ wcsncat @827
++ wcsncmp @828
++ wcsncpy @829
++ wcspbrk @830
++ wcsrchr @831
++ wcsspn @832
++ wcsstr @833
++ wcstod @834
++ wcstok @835
++ wcstol @836
++ wcstombs @837
++ wcstoul @838
++ wcsxfrm @839
++ wctomb @840
++ wprintf @841
++ wscanf @842
Reply->ReadDataAvailable = Ccb->ReadDataAvailable;
DPRINT("ReadDataAvailable: %lu\n", Ccb->ReadDataAvailable);
- Reply->NumberOfMessages = 0; /* FIXME */
- Reply->MessageLength = 0; /* FIXME */
- Reply->Data[0] = 0; /* FIXME */
+ ExAcquireFastMutex(&Ccb->DataListLock);
+ BufferPtr = Ccb->ReadPtr;
+ DPRINT("BufferPtr = %x\n", BufferPtr);
+ if (Ccb->Fcb->PipeType == FILE_PIPE_BYTE_STREAM_TYPE)
+ {
+ DPRINT("Byte Stream Mode\n");
+ Reply->MessageLength = Ccb->ReadDataAvailable;
+ DPRINT("Reply->MessageLength %lu\n",Reply->MessageLength );
+ MessageCount = 1;
+
+ if (Reply->Data[0] && (OutputBufferLength >= Ccb->ReadDataAvailable + FIELD_OFFSET(FILE_PIPE_PEEK_BUFFER, Data[0])))
+ {
+ ReturnLength = Ccb->ReadDataAvailable;
+ memcpy(&Reply->Data[0], (PVOID)BufferPtr, Ccb->ReadDataAvailable);
+ }
+ }
+ else
+ {
+ DPRINT("Message Mode\n");
+ ReadDataAvailable=Ccb->ReadDataAvailable;
+
+ if (ReadDataAvailable > 0)
+ {
+ memcpy(&Reply->MessageLength, BufferPtr, sizeof(ULONG));
+
+ while ((ReadDataAvailable > 0) && (BufferPtr < Ccb->WritePtr))
+ {
+ memcpy(&MessageLength, BufferPtr, sizeof(MessageLength));
+
+ ASSERT(MessageLength > 0);
+
+ DPRINT("MessageLength = %lu\n",MessageLength);
+ ReadDataAvailable -= MessageLength;
+ MessageCount++;
+
+ /* If its the first message, copy the Message if the size of buffer is large enough */
+ if (MessageCount==1)
+ {
+ if ((Reply->Data[0])
+ && (OutputBufferLength >= (MessageLength + FIELD_OFFSET(FILE_PIPE_PEEK_BUFFER, Data[0]))))
+ {
-- memcpy(&Reply->Data[0], (PVOID)((ULONG)BufferPtr + sizeof(MessageLength)), MessageLength);
+++ memcpy(&Reply->Data[0], (PVOID)((ULONG_PTR)BufferPtr + sizeof(MessageLength)), MessageLength);
+ ReturnLength = MessageLength;
+ }
+ }
+
-- BufferPtr =(PVOID)((ULONG)BufferPtr + MessageLength + sizeof(MessageLength));
+++ BufferPtr =(PVOID)((ULONG_PTR)BufferPtr + MessageLength + sizeof(MessageLength));
+ DPRINT("BufferPtr = %x\n", BufferPtr);
+ DPRINT("ReadDataAvailable: %lu\n", ReadDataAvailable);
+ }
+
+ if (ReadDataAvailable != 0)
+ {
+ DPRINT1("Possible memory corruption.\n");
+ ASSERT(FALSE);
+ }
+ }
+ }
+ ExReleaseFastMutex(&Ccb->DataListLock);
+
+ Reply->NumberOfMessages = MessageCount;
- // Irp->IoStatus.Information = sizeof(FILE_PIPE_PEEK_BUFFER);
+ Irp->IoStatus.Information = ReturnLength + FIELD_OFFSET(FILE_PIPE_PEEK_BUFFER, Data[0]);
+ Irp->IoStatus.Status = STATUS_SUCCESS;
- // Status = STATUS_SUCCESS;
- Status = STATUS_NOT_IMPLEMENTED;
+ Status = STATUS_SUCCESS;
- DPRINT1("NpfsPeekPipe done\n");
+ DPRINT("NpfsPeekPipe done\n");
return Status;
}
extern "C" {
#endif
+++#ifndef _INC_SETJMPEX
+++#define setjmp _setjmp
+++#endif
+++
#if (defined(_X86_) && !defined(__x86_64))
#define _JBLEN 16
unsigned long UnwindFunc;
unsigned long UnwindData[6];
} _JUMP_BUFFER;
+++
#elif defined(__ia64__)
+++
typedef _CRT_ALIGN(16) struct _SETJMP_FLOAT128 {
__int64 LowPart;
__int64 HighPart;
__int64 Preds;
} _JUMP_BUFFER;
+++
#elif defined(__x86_64)
+++
typedef _CRT_ALIGN(16) struct _SETJMP_FLOAT128 {
unsigned __int64 Part[2];
} SETJMP_FLOAT128;
SETJMP_FLOAT128 Xmm14;
SETJMP_FLOAT128 Xmm15;
} _JUMP_BUFFER;
+++
#endif
+++
#ifndef _JMP_BUF_DEFINED
typedef _JBTYPE jmp_buf[_JBLEN];
#define _JMP_BUF_DEFINED
#endif
+++#if 0
void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp(void);
#ifdef USE_MINGW_SETJMP_TWO_ARGS
int __cdecl __attribute__ ((__nothrow__)) setjmp(jmp_buf _Buf);
#endif
+++#endif // 0
+++
+++ int __cdecl setjmp(jmp_buf _Buf);
+++
__declspec(noreturn) __attribute__ ((__nothrow__)) void __cdecl ms_longjmp(jmp_buf _Buf,int _Value)/* throw(...)*/;
__declspec(noreturn) __attribute__ ((__nothrow__)) void __cdecl longjmp(jmp_buf _Buf,int _Value);
#define KI_USER_SHARED_DATA 0xffdf0000
++#define PAGE_SIZE 0x1000
++#define PAGE_SHIFT 12L
++
++#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)
++
++extern NTKERNELAPI PVOID MmHighestUserAddress;
++extern NTKERNELAPI PVOID MmSystemRangeStart;
++extern NTKERNELAPI ULONG_PTR MmUserProbeAddress;
++
++#define MM_HIGHEST_USER_ADDRESS MmHighestUserAddress
++#define MM_SYSTEM_RANGE_START MmSystemRangeStart
++#define MM_USER_PROBE_ADDRESS MmUserProbeAddress
++#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000
++#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0C00000
++
++#define MM_KSEG0_BASE MM_SYSTEM_RANGE_START
++#define MM_SYSTEM_SPACE_END 0xFFFFFFFF
++
#elif defined(__x86_64__)
++#define CONTEXT_AMD64 0x100000
++#if !defined(RC_INVOKED)
++#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L)
++#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L)
++#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)
++#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L)
++#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)
++
++#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
++#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
++
++#define CONTEXT_EXCEPTION_ACTIVE 0x8000000
++#define CONTEXT_SERVICE_ACTIVE 0x10000000
++#define CONTEXT_EXCEPTION_REQUEST 0x40000000
++#define CONTEXT_EXCEPTION_REPORTING 0x80000000
++#endif
++
++typedef struct DECLSPEC_ALIGN(16) _M128A {
++ ULONGLONG Low;
++ LONGLONG High;
++} M128A, *PM128A;
++
++typedef struct _XMM_SAVE_AREA32 {
++ USHORT ControlWord;
++ USHORT StatusWord;
++ UCHAR TagWord;
++ UCHAR Reserved1;
++ USHORT ErrorOpcode;
++ ULONG ErrorOffset;
++ USHORT ErrorSelector;
++ USHORT Reserved2;
++ ULONG DataOffset;
++ USHORT DataSelector;
++ USHORT Reserved3;
++ ULONG MxCsr;
++ ULONG MxCsr_Mask;
++ M128A FloatRegisters[8];
++ M128A XmmRegisters[16];
++ UCHAR Reserved4[96];
++} XMM_SAVE_AREA32, *PXMM_SAVE_AREA32;
++
++typedef struct DECLSPEC_ALIGN(16) _CONTEXT {
++ ULONG64 P1Home;
++ ULONG64 P2Home;
++ ULONG64 P3Home;
++ ULONG64 P4Home;
++ ULONG64 P5Home;
++ ULONG64 P6Home;
++
++ /* Control flags */
++ ULONG ContextFlags;
++ ULONG MxCsr;
++
++ /* Segment */
++ USHORT SegCs;
++ USHORT SegDs;
++ USHORT SegEs;
++ USHORT SegFs;
++ USHORT SegGs;
++ USHORT SegSs;
++ USHORT EFlags;
++
++ /* Debug */
++ ULONG64 Dr0;
++ ULONG64 Dr1;
++ ULONG64 Dr2;
++ ULONG64 Dr3;
++ ULONG64 Dr6;
++ ULONG64 Dr7;
++
++ /* Integer */
++ ULONG64 Rax;
++ ULONG64 Rcx;
++ ULONG64 Rdx;
++ ULONG64 Rbx;
++ ULONG64 Rsp;
++ ULONG64 Rbp;
++ ULONG64 Rsi;
++ ULONG64 Rdi;
++ ULONG64 R8;
++ ULONG64 R9;
++ ULONG64 R10;
++ ULONG64 R11;
++ ULONG64 R12;
++ ULONG64 R13;
++ ULONG64 R14;
++ ULONG64 R15;
++
++ /* Counter */
++ ULONG64 Rip;
++
++ /* Floating point */
++ union {
++ XMM_SAVE_AREA32 FltSave;
++ struct {
++ M128A Header[2];
++ M128A Legacy[8];
++ M128A Xmm0;
++ M128A Xmm1;
++ M128A Xmm2;
++ M128A Xmm3;
++ M128A Xmm4;
++ M128A Xmm5;
++ M128A Xmm6;
++ M128A Xmm7;
++ M128A Xmm8;
++ M128A Xmm9;
++ M128A Xmm10;
++ M128A Xmm11;
++ M128A Xmm12;
++ M128A Xmm13;
++ M128A Xmm14;
++ M128A Xmm15;
++ } DUMMYSTRUCTNAME;
++ } DUMMYUNIONNAME;
++
++ /* Vector */
++ M128A VectorRegister[26];
++ ULONG64 VectorControl;
++
++ /* Debug control */
++ ULONG64 DebugControl;
++ ULONG64 LastBranchToRip;
++ ULONG64 LastBranchFromRip;
++ ULONG64 LastExceptionToRip;
++ ULONG64 LastExceptionFromRip;
++} CONTEXT;
++
//
- // Types to use to contain PFNs and their counts.
+ // Used to contain PFNs and PFN counts
//
typedef ULONG PFN_COUNT;
typedef ULONG64 PFN_NUMBER, *PPFN_NUMBER;
--- /dev/null
--- /dev/null
++/*++ NDK Version: 0098
++
++Copyright (c) Alex Ionescu. All rights reserved.
++Copyright (c) Timo Kreuzer. All rights reserved.
++
++Header Name:
++
++ ketypes.h (AMD64)
++
++Abstract:
++
++ amd64 Type definitions for the Kernel services.
++
++Author:
++
++ Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
++ Timo Kreuzer (timo.kreuzer@reactos.org) - Updated - 14-Aug-2008
++
++--*/
++
++#ifndef _AMD64_KETYPES_H
++#define _AMD64_KETYPES_H
++
++//
++// Dependencies
++//
++
++//
++// KPCR Access for non-IA64 builds
++//
++//#define K0IPCR ((ULONG_PTR)(KIP0PCRADDRESS))
++//#define PCR ((volatile KPCR * const)K0IPCR)
++#define PCR ((volatile KPCR * const)__readgsqword(FIELD_OFFSET(KPCR, Self)))
++//#if defined(CONFIG_SMP) || defined(NT_BUILD)
++//#undef KeGetPcr
++//#define KeGetPcr() ((volatile KPCR * const)__readfsdword(0x1C))
++//#endif
++
++//
++// Machine Types
++//
++#define MACHINE_TYPE_ISA 0x0000
++#define MACHINE_TYPE_EISA 0x0001
++#define MACHINE_TYPE_MCA 0x0002
++
++//
++// X86 80386 Segment Types
++//
++#define I386_TASK_GATE 0x5
++#define I386_TSS 0x9
++#define I386_ACTIVE_TSS 0xB
++#define I386_CALL_GATE 0xC
++#define I386_INTERRUPT_GATE 0xE
++#define I386_TRAP_GATE 0xF
++
++//
++// Selector Names
++//
++#define RPL_MASK 0x0003
++#define MODE_MASK 0x0001
++#define KGDT_64_R0_CODE 0x0010
++#define KGDT_64_R0_SS 0x0018
++#define KGDT_64_DATA 0x0028 // 2b
++#define KGDT_64_R3_CODE 0x0030 // 33
++#define KGDT_TSS 0x0040
++#define KGDT_32_R3_TEB 0x0050 // 53
++
++//
++// CR4
++//
++#define CR4_VME 0x1
++#define CR4_PVI 0x2
++#define CR4_TSD 0x4
++#define CR4_DE 0x8
++#define CR4_PSE 0x10
++#define CR4_PAE 0x20
++#define CR4_MCE 0x40
++#define CR4_PGE 0x80
++#define CR4_FXSR 0x200
++#define CR4_XMMEXCPT 0x400
++
++//
++// EFlags
++//
++#define EFLAGS_CF 0x01L
++#define EFLAGS_ZF 0x40L
++#define EFLAGS_TF 0x100L
++#define EFLAGS_INTERRUPT_MASK 0x200L
++#define EFLAGS_DF 0x400L
++#define EFLAGS_NESTED_TASK 0x4000L
++#define EFLAGS_V86_MASK 0x20000
++#define EFLAGS_ALIGN_CHECK 0x40000
++#define EFLAGS_VIF 0x80000
++#define EFLAGS_VIP 0x100000
++#define EFLAGS_USER_SANITIZE 0x3F4DD7
++#define EFLAG_SIGN 0x8000
++#define EFLAG_ZERO 0x4000
++
++//
++// IPI Types
++//
++#define IPI_APC 1
++#define IPI_DPC 2
++#define IPI_FREEZE 4
++#define IPI_PACKET_READY 8
++#define IPI_SYNCH_REQUEST 16
++
++//
++// PRCB Flags
++//
++#define PRCB_MAJOR_VERSION 1
++#define PRCB_BUILD_DEBUG 1
++#define PRCB_BUILD_UNIPROCESSOR 2
++
++//
++// HAL Variables
++//
++#define INITIAL_STALL_COUNT 0x64
++
++//
++// IOPM Definitions
++//
++#define IO_ACCESS_MAP_NONE 0
++#define IOPM_OFFSET FIELD_OFFSET(KTSS, IoMaps[0].IoMap)
++#define KiComputeIopmOffset(MapNumber) \
++ (MapNumber == IO_ACCESS_MAP_NONE) ? \
++ (USHORT)(sizeof(KTSS)) : \
++ (USHORT)(FIELD_OFFSET(KTSS, IoMaps[MapNumber-1].IoMap))
++
++//
++// Static Kernel-Mode Address start (use MM_KSEG0_BASE for actual)
++//
++#define KSEG0_BASE 0xfffff80000000000ULL
++
++//
++// Synchronization-level IRQL
++//
++#ifndef CONFIG_SMP
++#define SYNCH_LEVEL DISPATCH_LEVEL
++#else
++#define SYNCH_LEVEL (IPI_LEVEL - 2)
++#endif
++
++//
++// Trap Frame Definition
++//
++typedef struct _KTRAP_FRAME
++{
++ UINT64 P1Home;
++ UINT64 P2Home;
++ UINT64 P3Home;
++ UINT64 P4Home;
++ UINT64 P5;
++ CHAR PreviousMode;
++ UCHAR PreviousIrql;
++ UCHAR FaultIndicator;
++ UCHAR ExceptionActive;
++ ULONG MxCsr;
++ UINT64 Rax;
++ UINT64 Rcx;
++ UINT64 Rdx;
++ UINT64 R8;
++ UINT64 R9;
++ UINT64 R10;
++ UINT64 R11;
++ union
++ {
++ UINT64 GsBase;
++ UINT64 GsSwap;
++ };
++ M128A Xmm0;
++ M128A Xmm1;
++ M128A Xmm2;
++ M128A Xmm3;
++ M128A Xmm4;
++ M128A Xmm5;
++ union
++ {
++ UINT64 FaultAddress;
++ UINT64 ContextRecord;
++ UINT64 TimeStampCKCL;
++ };
++ UINT64 Dr0;
++ UINT64 Dr1;
++ UINT64 Dr2;
++ UINT64 Dr3;
++ UINT64 Dr6;
++ UINT64 Dr7;
++ union
++ {
++ struct
++ {
++ UINT64 DebugControl;
++ UINT64 LastBranchToRip;
++ UINT64 LastBranchFromRip;
++ UINT64 LastExceptionToRip;
++ UINT64 LastExceptionFromRip;
++ };
++ struct
++ {
++ UINT64 LastBranchControl;
++ ULONG LastBranchMSR;
++ };
++ };
++ USHORT SegDs;
++ USHORT SegEs;
++ USHORT SegFs;
++ USHORT SegGs;
++ UINT64 TrapFrame;
++ UINT64 Rbx;
++ UINT64 Rdi;
++ UINT64 Rsi;
++ UINT64 Rbp;
++ union
++ {
++ UINT64 ErrorCode;
++ UINT64 ExceptionFrame;
++ UINT64 TimeStampKlog;
++ };
++ UINT64 Rip;
++ USHORT SegCs;
++ UCHAR Fill0;
++ UCHAR Logging;
++ USHORT Fill1[2];
++ ULONG EFlags;
++ ULONG Fill2;
++ UINT64 Rsp;
++ USHORT SegSs;
++ USHORT Fill3;
++ LONG CodePatchCycle;
++} KTRAP_FRAME, *PKTRAP_FRAME;
++
++//
++// Dummy LDT_ENTRY
++//
+++#ifndef _LDT_ENTRY_DEFINED
+++#define _LDT_ENTRY_DEFINED
++typedef ULONG LDT_ENTRY;
+++#endif
++
++//
++// GDT Entry Definition
++//
++typedef union _KGDTENTRY64
++{
++ struct
++ {
++ USHORT LimitLow;
++ USHORT BaseLow;
++ union
++ {
++ struct
++ {
++ UCHAR BaseMiddle;
++ UCHAR Flags1;
++ UCHAR Flags2;
++ UCHAR BaseHigh;
++ } Bytes;
++ struct
++ {
++ ULONG BaseMiddle:8;
++ ULONG Type:5;
++ ULONG Dpl:2;
++ ULONG Present:1;
++ ULONG LimitHigh:4;
++ ULONG System:1;
++ ULONG LongMode:1;
++ ULONG DefaultBig:1;
++ ULONG Granularity:1;
++ ULONG BaseHigh:8;
++ } Bits;
++ };
++ ULONG BaseUpper;
++ ULONG MustBeZero;
++ };
++ UINT64 Alignment;
++} KGDTENTRY64, *PKGDTENTRY64;
++#define KGDTENTRY KGDTENTRY64
++#define PKGDTENTRY PKGDTENTRY64
++
++//
++// IDT Entry Access Definition
++//
++typedef struct _KIDT_ACCESS
++{
++ union
++ {
++ struct
++ {
++ UCHAR Reserved;
++ UCHAR SegmentType:4;
++ UCHAR SystemSegmentFlag:1;
++ UCHAR Dpl:2;
++ UCHAR Present:1;
++ };
++ USHORT Value;
++ };
++} KIDT_ACCESS, *PKIDT_ACCESS;
++
++//
++// IDT Entry Definition
++//
++typedef union _KIDTENTRY64
++{
++ struct
++ {
++ USHORT OffsetLow;
++ USHORT Selector;
++ USHORT IstIndex:3;
++ USHORT Reserved0:5;
++ USHORT Type:5;
++ USHORT Dpl:2;
++ USHORT Present:1;
++ USHORT OffsetMiddle;
++ ULONG OffsetHigh;
++ ULONG Reserved1;
++ };
++ UINT64 Alignment;
++} KIDTENTRY64, *PKIDTENTRY64;
++#define KIDTENTRY KIDTENTRY64
++#define PKIDTENTRY PKIDTENTRY64
++
++typedef struct _KDESCRIPTOR
++{
++ USHORT Pad[3];
++ USHORT Limit;
++ PVOID Base;
++} KDESCRIPTOR, *PKDESCRIPTOR;
++
++#ifndef NTOS_MODE_USER
++
++//
++// Special Registers Structure (outside of CONTEXT)
++//
++typedef struct _KSPECIAL_REGISTERS
++{
++ UINT64 Cr0;
++ UINT64 Cr2;
++ UINT64 Cr3;
++ UINT64 Cr4;
++ UINT64 KernelDr0;
++ UINT64 KernelDr1;
++ UINT64 KernelDr2;
++ UINT64 KernelDr3;
++ UINT64 KernelDr6;
++ UINT64 KernelDr7;
++ struct _KDESCRIPTOR Gdtr;
++ struct _KDESCRIPTOR Idtr;
++ USHORT Tr;
++ USHORT Ldtr;
++ ULONG MxCsr;
++ UINT64 DebugControl;
++ UINT64 LastBranchToRip;
++ UINT64 LastBranchFromRip;
++ UINT64 LastExceptionToRip;
++ UINT64 LastExceptionFromRip;
++ UINT64 Cr8;
++ UINT64 MsrGsBase;
++ UINT64 MsrGsSwap;
++ UINT64 MsrStar;
++ UINT64 MsrLStar;
++ UINT64 MsrCStar;
++ UINT64 MsrSyscallMask;
++} KSPECIAL_REGISTERS, *PKSPECIAL_REGISTERS;
++
++//
++// Processor State Data
++//
++typedef struct _KPROCESSOR_STATE
++{
++ KSPECIAL_REGISTERS SpecialRegisters;
++ CONTEXT ContextFrame;
++} KPROCESSOR_STATE, *PKPROCESSOR_STATE;
++
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++typedef struct _GENERAL_LOOKASIDE_POOL
++{
++ union
++ {
++ SLIST_HEADER ListHead;
++ SINGLE_LIST_ENTRY SingleListHead;
++ };
++ USHORT Depth;
++ USHORT MaximumDepth;
++ ULONG TotalAllocates;
++ union
++ {
++ ULONG AllocateMisses;
++ ULONG AllocateHits;
++ };
++ union
++ {
++ ULONG TotalFrees;
++ ULONG FreeMisses;
++ };
++ ULONG FreeHits;
++ POOL_TYPE Type;
++ ULONG Tag;
++ ULONG Size;
++ union
++ {
++ PVOID AllocateEx;
++ PVOID Allocate;
++ };
++ union
++ {
++ PVOID FreeEx;
++ PVOID Free;
++ };
++ LIST_ENTRY ListEntry;
++ ULONG LastTotalAllocates;
++ union
++ {
++ ULONG LastAllocateMisses;
++ ULONG LastAllocateHits;
++ };
++ ULONG Future[2];
++} GENERAL_LOOKASIDE_POOL, *PGENERAL_LOOKASIDE_POOL;
++#else
++#define GENERAL_LOOKASIDE_POOL PP_LOOKASIDE_LIST
++#endif
++
++typedef struct _KREQUEST_PACKET
++{
++ PVOID CurrentPacket[3];
++ PVOID WorkerRoutine;
++} KREQUEST_PACKET, *PKREQUEST_PACKET;
++
++typedef struct _REQUEST_MAILBOX
++{
++ INT64 RequestSummary;
++ KREQUEST_PACKET RequestPacket;
++ PVOID Virtual[7];
++} REQUEST_MAILBOX, *PREQUEST_MAILBOX;
++
++//
++// Processor Region Control Block
++//
++#pragma pack(push,4)
++typedef struct _KPRCB
++{
++ ULONG MxCsr;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ USHORT Number;
++#else
++ UCHAR Number;
++ UCHAR NestingLevel;
++#endif
++ UCHAR InterruptRequest;
++ UCHAR IdleHalt;
++ struct _KTHREAD *CurrentThread;
++ struct _KTHREAD *NextThread;
++ struct _KTHREAD *IdleThread;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ UCHAR NestingLevel;
++ UCHAR Group;
++ UCHAR PrcbPad00[6];
++#else
++ UINT64 UserRsp;
++#endif
++ UINT64 RspBase;
++ UINT64 PrcbLock;
++ UINT64 SetMember;
++ KPROCESSOR_STATE ProcessorState;
++ CHAR CpuType;
++ CHAR CpuID;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ union
++ {
++ USHORT CpuStep;
++ struct
++ {
++ UCHAR CpuStepping;
++ UCHAR CpuModel;
++ };
++ };
++#else
++ USHORT CpuStep;
++#endif
++ ULONG MHz;
++ UINT64 HalReserved[8];
++ USHORT MinorVersion;
++ USHORT MajorVersion;
++ UCHAR BuildType;
++ UCHAR CpuVendor;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ UCHAR CoresPerPhysicalProcessor;
++ UCHAR LogicalProcessorsPerCore;
++#else
++ UCHAR InitialApicId;
++ UCHAR LogicalProcessorsPerPhysicalProcessor;
++#endif
++ ULONG ApicMask;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ ULONG CFlushSize;
++#else
++ UCHAR CFlushSize;
++ UCHAR PrcbPad0x[3];
++#endif
++ PVOID AcpiReserved;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ ULONG InitialApicId;
++ ULONG Stride;
++ UINT64 PrcbPad01[3];
++#else
++ UINT64 PrcbPad00[4];
++#endif
++ KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]; // 2003: 33, vista:49
++ PP_LOOKASIDE_LIST PPLookasideList[16];
++ GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];
++ GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];
++ UINT64 PacketBarrier;
++ SINGLE_LIST_ENTRY DeferredReadyListHead;
++ LONG MmPageFaultCount;
++ LONG MmCopyOnWriteCount;
++ LONG MmTransitionCount;
++#if (NTDDI_VERSION < NTDDI_LONGHORN)
++ LONG MmCacheTransitionCount;
++#endif
++ LONG MmDemandZeroCount;
++ LONG MmPageReadCount;
++ LONG MmPageReadIoCount;
++#if (NTDDI_VERSION < NTDDI_LONGHORN)
++ LONG MmCacheReadCount;
++ LONG MmCacheIoCount;
++#endif
++ LONG MmDirtyPagesWriteCount;
++ LONG MmDirtyWriteIoCount;
++ LONG MmMappedPagesWriteCount;
++ LONG MmMappedWriteIoCount;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ ULONG KeSystemCalls;
++ ULONG KeContextSwitches;
++ ULONG CcFastReadNoWait;
++ ULONG CcFastReadWait;
++ ULONG CcFastReadNotPossible;
++ ULONG CcCopyReadNoWait;
++ ULONG CcCopyReadWait;
++ ULONG CcCopyReadNoWaitMiss;
++ LONG LookasideIrpFloat;
++#else
++ LONG LookasideIrpFloat;
++ ULONG KeSystemCalls;
++#endif
++ LONG IoReadOperationCount;
++ LONG IoWriteOperationCount;
++ LONG IoOtherOperationCount;
++ LARGE_INTEGER IoReadTransferCount;
++ LARGE_INTEGER IoWriteTransferCount;
++ LARGE_INTEGER IoOtherTransferCount;
++#if (NTDDI_VERSION < NTDDI_LONGHORN)
++ ULONG KeContextSwitches;
++ UCHAR PrcbPad2[12];
++#endif
++ UINT64 TargetSet;
++ ULONG IpiFrozen;
++ UCHAR PrcbPad3[116];
++ REQUEST_MAILBOX RequestMailbox[64];
++ UINT64 SenderSummary;
++ UCHAR PrcbPad4[120];
++ KDPC_DATA DpcData[2];
++ PVOID DpcStack;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ PVOID SparePtr0;
++#else
++ PVOID SavedRsp;
++#endif
++ LONG MaximumDpcQueueDepth;
++ ULONG DpcRequestRate;
++ ULONG MinimumDpcRate;
++ UCHAR DpcInterruptRequested;
++ UCHAR DpcThreadRequested;
++ UCHAR DpcRoutineActive;
++ UCHAR DpcThreadActive;
++ UINT64 TimerHand;
++ UINT64 TimerRequest;
++ LONG TickOffset;
++ LONG MasterOffset;
++ ULONG DpcLastCount;
++ UCHAR ThreadDpcEnable;
++ UCHAR QuantumEnd;
++ UCHAR PrcbPad50;
++ UCHAR IdleSchedule;
++ LONG DpcSetEventRequest;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ ULONG KeExceptionDispatchCount;
++#else
++ LONG PrcbPad40;
++ PVOID DpcThread;
++#endif
++ KEVENT DpcEvent;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ PVOID PrcbPad51;
++#endif
++ KDPC CallDpc;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ LONG ClockKeepAlive;
++ UCHAR ClockCheckSlot;
++ UCHAR ClockPollCycle;
++ UCHAR PrcbPad6[2];
++ LONG DpcWatchdogPeriod;
++ LONG DpcWatchdogCount;
++ UINT64 PrcbPad70[2];
++#else
++ UINT64 PrcbPad7[4];
++#endif
++ LIST_ENTRY WaitListHead;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ UINT64 WaitLock;
++#endif
++ ULONG ReadySummary;
++ ULONG QueueIndex;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ UINT64 PrcbPad71[12];
++#endif
++ LIST_ENTRY DispatcherReadyListHead[32];
++ ULONG InterruptCount;
++ ULONG KernelTime;
++ ULONG UserTime;
++ ULONG DpcTime;
++ ULONG InterruptTime;
++ ULONG AdjustDpcThreshold;
++ UCHAR SkipTick;
++ UCHAR DebuggerSavedIRQL;
++ UCHAR PollSlot;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ UCHAR PrcbPad80[5];
++ ULONG DpcTimeCount;
++ ULONG DpcTimeLimit;
++ ULONG PeriodicCount;
++ ULONG PeriodicBias;
++ UINT64 PrcbPad81[2];
++#else
++ UCHAR PrcbPad8[13];
++#endif
++ struct _KNODE *ParentNode;
++ UINT64 MultiThreadProcessorSet;
++ struct _KPRCB *MultiThreadSetMaster;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ UINT64 StartCycles;
++ LONG MmSpinLockOrdering;
++ ULONG PageColor;
++ ULONG NodeColor;
++ ULONG NodeShiftedColor;
++ ULONG SecondaryColorMask;
++#endif
++ LONG Sleeping;
++#if (NTDDI_VERSION >= NTDDI_LONGHORN)
++ UINT64 CycleTime;
++ ULONG CcFastMdlReadNoWait;
++ ULONG CcFastMdlReadWait;
++ ULONG CcFastMdlReadNotPossible;
++ ULONG CcMapDataNoWait;
++ ULONG CcMapDataWait;
++ ULONG CcPinMappedDataCount;
++ ULONG CcPinReadNoWait;
++ ULONG CcPinReadWait;
++ ULONG CcMdlReadNoWait;
++ ULONG CcMdlReadWait;
++ ULONG CcLazyWriteHotSpots;
++ ULONG CcLazyWriteIos;
++ ULONG CcLazyWritePages;
++ ULONG CcDataFlushes;
++ ULONG CcDataPages;
++ ULONG CcLostDelayedWrites;
++ ULONG CcFastReadResourceMiss;
++ ULONG CcCopyReadWaitMiss;
++ ULONG CcFastMdlReadResourceMiss;
++ ULONG CcMapDataNoWaitMiss;
++ ULONG CcMapDataWaitMiss;
++ ULONG CcPinReadNoWaitMiss;
++ ULONG CcPinReadWaitMiss;
++ ULONG CcMdlReadNoWaitMiss;
++ ULONG CcMdlReadWaitMiss;
++ ULONG CcReadAheadIos;
++ LONG MmCacheTransitionCount;
++ LONG MmCacheReadCount;
++ LONG MmCacheIoCount;
++ ULONG PrcbPad91[3];
++ PROCESSOR_POWER_STATE PowerState;
++ ULONG KeAlignmentFixupCount;
++ UCHAR VendorString[13];
++ UCHAR PrcbPad10[3];
++ ULONG FeatureBits;
++ LARGE_INTEGER UpdateSignature;
++ KDPC DpcWatchdogDpc;
++ KTIMER DpcWatchdogTimer;
++ CACHE_DESCRIPTOR Cache[5];
++ ULONG CacheCount;
++ ULONG CachedCommit;
++ ULONG CachedResidentAvailable;
++ PVOID HyperPte;
++ PVOID WheaInfo;
++ PVOID EtwSupport;
++ SLIST_HEADER InterruptObjectPool;
++ SLIST_HEADER HypercallPageList;
++ PVOID HypercallPageVirtual;
++ PVOID VirtualApicAssist;
++ UINT64* StatisticsPage;
++ PVOID RateControl;
++ UINT64 CacheProcessorMask[5];
++ UINT64 PackageProcessorSet;
++ UINT64 CoreProcessorSet;
++#else
++ ULONG PrcbPad90[1];
++ ULONG DebugDpcTime;
++ ULONG PageColor;
++ ULONG NodeColor;
++ ULONG NodeShiftedColor;
++ ULONG SecondaryColorMask;
++ UCHAR PrcbPad9[12];
++ ULONG CcFastReadNoWait;
++ ULONG CcFastReadWait;
++ ULONG CcFastReadNotPossible;
++ ULONG CcCopyReadNoWait;
++ ULONG CcCopyReadWait;
++ ULONG CcCopyReadNoWaitMiss;
++ ULONG KeAlignmentFixupCount;
++ ULONG KeDcacheFlushCount;
++ ULONG KeExceptionDispatchCount;
++ ULONG KeFirstLevelTbFills;
++ ULONG KeFloatingEmulationCount;
++ ULONG KeIcacheFlushCount;
++ ULONG KeSecondLevelTbFills;
++ UCHAR VendorString[13];
++ UCHAR PrcbPad10[2];
++ ULONG FeatureBits;
++ LARGE_INTEGER UpdateSignature;
++ PROCESSOR_POWER_STATE PowerState;
++ CACHE_DESCRIPTOR Cache[5];
++ ULONG CacheCount;
++#endif
++}
++ KPRCB, *PKPRCB;
++
++//
++// Processor Control Region
++//
++typedef struct _KIPCR
++{
++ union
++ {
++ NT_TIB NtTib;
++ struct
++ {
++ union _KGDTENTRY64 *GdtBase;
++ struct _KTSS64 *TssBase;
++ ULONG64 UserRsp;
++ struct _KPCR *Self;
++ struct _KPRCB *CurrentPrcb;
++ PKSPIN_LOCK_QUEUE LockArray;
++ PVOID Used_Self;
++ };
++ };
++ union _KIDTENTRY64 *IdtBase;
++ ULONG64 Unused[2];
++ KIRQL Irql;
++ UCHAR SecondLevelCacheAssociativity;
++ UCHAR ObsoleteNumber;
++ UCHAR Fill0;
++ ULONG Unused0[3];
++ USHORT MajorVersion;
++ USHORT MinorVersion;
++ ULONG StallScaleFactor;
++ PVOID Unused1[3];
++ ULONG KernelReserved[15];
++ ULONG SecondLevelCacheSize;
++ ULONG HalReserved[16];
++ ULONG Unused2;
++ ULONG Fill1;
++ PVOID KdVersionBlock; // 0x108
++ PVOID Unused3;
++ ULONG PcrAlign1[24];
++ ULONG Fill2[2]; // 0x178
++ KPRCB Prcb; // 0x180
++
++ // hack:
++ ULONG ContextSwitches;
++
++} KIPCR, *PKIPCR;
++#pragma pack(pop)
++
++//
++// TSS Definition
++//
++typedef struct _KiIoAccessMap
++{
++ UCHAR DirectionMap[32];
++ UCHAR IoMap[8196];
++} KIIO_ACCESS_MAP;
++
++
++#pragma pack(push,4)
++typedef struct _KTSS64
++{
++ /* 000 */ ULONG Reserved0;
++ /* 004 */ UINT64 Rsp0;
++ /* 00c */ UINT64 Rsp1;
++ /* 014 */ UINT64 Rsp2;
++ /* 01c */ UINT64 Ist[8];
++ /* 05c */ UINT64 Reserved1;
++ /* 064 */ USHORT Reserved2;
++ /* 066 */ USHORT IoMapBase;
++} KTSS64, *PKTSS64;
++#pragma pack(pop)
++#define KTSS KTSS64
++#define PKTSS PKTSS64
++
++//
++// i386 CPUs don't have exception frames
++//
++typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
++
++//
++// Inline function to get current KPRCB
++//
++FORCEINLINE
++struct _KPRCB *
++KeGetCurrentPrcb(VOID)
++{
++ return (struct _KPRCB *)__readgsqword(FIELD_OFFSET(KIPCR, CurrentPrcb));
++}
++
++#endif
++#endif
#ifndef _BASETSD_H
#define _BASETSD_H
--#define __ROS_LONG64__
+ #if !defined(__ROS_LONG64__)
+ #ifdef __WINESRC__
+++//#define __ROS_LONG64__
+ #endif
+ #endif
+
#ifdef __GNUC__
#ifndef __int64
#define __int64 long long
typedef struct _editstream
{
- DWORD dwCookie;
+ DWORD_PTR dwCookie;
-- DWORD dwError;
++ DWORD_PTR dwError;
EDITSTREAMCALLBACK pfnCallback;
} EDITSTREAM;
WINADVAPI BOOL WINAPI CryptHashData (HCRYPTHASH, CONST BYTE *, DWORD, DWORD);
WINADVAPI BOOL WINAPI CryptHashSessionKey (HCRYPTHASH, HCRYPTKEY, DWORD);
WINADVAPI BOOL WINAPI CryptImportKey (HCRYPTPROV, CONST BYTE *, DWORD, HCRYPTKEY, DWORD, HCRYPTKEY *);
+++#if (NTDDI_VERSION >= NTDDI_WINXP)
++WINADVAPI BOOL WINAPI CryptReleaseContext (HCRYPTPROV, DWORD);
+++#else
+ WINADVAPI BOOL WINAPI CryptReleaseContext (HCRYPTPROV, ULONG_PTR);
+++#endif
WINADVAPI BOOL WINAPI CryptSetHashParam (HCRYPTHASH, DWORD, CONST BYTE *, DWORD);
WINADVAPI BOOL WINAPI CryptSetKeyParam (HCRYPTKEY, DWORD, CONST BYTE *, DWORD);
WINADVAPI BOOL WINAPI CryptSetProviderA (LPCSTR, DWORD);
#ifndef _WINDEF_H
#define _WINDEF_H
--#define __ROS_LONG64__
+ #if !defined(__ROS_LONG64__)
+ #ifdef __WINESRC__
+++//#define __ROS_LONG64__
+ #endif
+ #endif
+
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _WINNT_H
#define _WINNT_H
--#define __ROS_LONG64__
+ #if !defined(__ROS_LONG64__)
+ #ifdef __WINESRC__
+++//#define __ROS_LONG64__ <- hack of fail!!!
+ #endif
+ #endif
+
#ifdef __GNUC__
#include <msvctarget.h>
#endif
#ifndef _WINSOCK_H
#define _WINSOCK_H
--#define __ROS_LONG64__
+ #if !defined(__ROS_LONG64__)
+ #ifdef __WINESRC__
+++//#define __ROS_LONG64__
+ #endif
+ #endif
+
#define _GNU_H_WINDOWS32_SOCKETS
#include <windows.h>
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
+ #ifndef __ROS_LONG64__
typedef unsigned long u_long;
+ #else
+ typedef unsigned int u_long;
+ #endif
#define _BSDTYPES_DEFINED
#endif /* !defined _BSDTYPES_DEFINED */
--typedef u_int SOCKET;
++typedef UINT_PTR SOCKET;
#ifndef FD_SETSIZE
#define FD_SETSIZE 64
#endif
#define _GNU_H_WINDOWS32_SOCKETS
--#define __ROS_LONG64__
+ #if !defined(__ROS_LONG64__)
+ #ifdef __WINESRC__
+++//#define __ROS_LONG64__
+ #endif
+ #endif
+
#include <windows.h>
#ifdef __cplusplus
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
+ #ifndef __ROS_LONG64__
typedef unsigned long u_long;
+ #else
+ typedef unsigned int u_long;
+ #endif
#define _BSDTYPES_DEFINED
#endif /* ! def _BSDTYPES_DEFINED */
--typedef u_int SOCKET;
++typedef UINT_PTR SOCKET;
#ifndef FD_SETSIZE
#define FD_SETSIZE 64
#endif
} DBGKD_ANY_CONTROL_SET, *PDBGKD_ANY_CONTROL_SET;
#include <poppack.h>
- typedef X86_DBGKD_CONTROL_SET DBGKD_CONTROL_SET;
++#if defined(_M_X86)
- typedef AMD64_DBGKD_CONTROL_SET DBGKD_CONTROL_SET;
+ typedef X86_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
++#elif defined(_M_AMD64)
+++typedef AMD64_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
++#else
++#error unsupported architecture
++#endif
//
// DBGKM Structure for Exceptions
<if property="ARCH" value="i386">
<directory name="i386">
<file>framebased.S</file>
- <file>framebased-gcchack.S</file>
+ <file>framebased-gcchack.c</file>
+ <file>framebased-gcchack-asm.S</file>
</directory>
++ <file>framebased-gcchack.c</file>
</if>
<if property="ARCH" value="powerpc">
<directory name="powerpc">
0x20, 0x80, 0x200, ~0UL
};
--typedef struct
++typedef union
{
ARENA_FREE arena;
- void *alignment[4];
+ void *aligment[4];
} FREE_LIST_ENTRY;
struct tagHEAP;
#ifdef _PPC_
#define SWAPD(x) ((((x)&0xff)<<24)|(((x)&0xff00)<<8)|(((x)>>8)&0xff00)|(((x)>>24)&0xff))
#define SWAPW(x) ((((x)&0xff)<<8)|(((x)>>8)&0xff))
++#define SWAPQ(x) ((SWAPD((x)&0xffffffff) << 32) | (SWAPD((x)>>32)))
#else
--#define SWAPD(x) x
--#define SWAPW(x) x
++#define SWAPD(x) (x)
++#define SWAPW(x) (x)
++#define SWAPQ(x) (x)
#endif
+ +#define ROUND_DOWN(n, align) \
+ + (((ULONG)n) & ~((align) - 1l))
+ +
+ +#define ROUND_UP(n, align) \
+ + ROUND_DOWN(((ULONG)n) + (align) - 1, (align))
+ +
+++#define RVA(m, b) ((PVOID)((ULONG_PTR)(b) + (ULONG_PTR)(m)))
+++
VOID
NTAPI
--RtlpGetStackLimits(PULONG_PTR StackBase,
-- PULONG_PTR StackLimit);
++RtlpGetStackLimits(PULONG_PTR LowLimit,
++ PULONG_PTR HighLimit);
PEXCEPTION_REGISTRATION_RECORD
NTAPI
/* Class 5 - Process Information */
QSI_DEF(SystemProcessInformation)
{
- ULONG ovlSize = 0, nThreads;
- PEPROCESS pr = NULL, syspr;
- PUCHAR pCur;
- ULONG TotalUser, TotalKernel;
- NTSTATUS Status = STATUS_SUCCESS;
-
- _SEH2_TRY
- {
- /* scan the process list */
-
- PSYSTEM_PROCESS_INFORMATION Spi
- = (PSYSTEM_PROCESS_INFORMATION) Buffer;
-
- *ReqSize = sizeof(SYSTEM_PROCESS_INFORMATION);
-
- if (Size < sizeof(SYSTEM_PROCESS_INFORMATION))
- {
- _SEH2_YIELD(return STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small
- }
- RtlZeroMemory(Spi, Size);
-
- syspr = PsIdleProcess;
- pr = syspr;
- pCur = (unsigned char *)Spi;
-
- do
- {
- PSYSTEM_PROCESS_INFORMATION SpiCur;
- int curSize;
- ANSI_STRING imgName;
- int inLen=32; // image name len in bytes
- PLIST_ENTRY current_entry;
- PETHREAD current;
- PSYSTEM_THREAD_INFORMATION ThreadInfo;
-
- SpiCur = (PSYSTEM_PROCESS_INFORMATION)pCur;
-
- nThreads = 0;
- current_entry = pr->ThreadListHead.Flink;
- while (current_entry != &pr->ThreadListHead)
- {
- nThreads++;
- current_entry = current_entry->Flink;
- }
-
- // size of the structure for every process
- curSize = sizeof(SYSTEM_PROCESS_INFORMATION)+sizeof(SYSTEM_THREAD_INFORMATION)*nThreads;
- ovlSize += curSize+inLen;
-
- if (ovlSize > Size)
- {
- *ReqSize = ovlSize;
- ObDereferenceObject(pr);
-
- _SEH2_YIELD(return STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small
- }
-
- // fill system information
- SpiCur->NextEntryOffset = curSize+inLen; // relative offset to the beginnnig of the next structure
- SpiCur->NumberOfThreads = nThreads;
- SpiCur->CreateTime = pr->CreateTime;
- SpiCur->ImageName.Length = strlen(pr->ImageFileName) * sizeof(WCHAR);
- SpiCur->ImageName.MaximumLength = (USHORT)inLen;
- SpiCur->ImageName.Buffer = (void*)(pCur+curSize);
-
- // copy name to the end of the struct
- if(pr != PsIdleProcess)
- {
- RtlInitAnsiString(&imgName, pr->ImageFileName);
- RtlAnsiStringToUnicodeString(&SpiCur->ImageName, &imgName, FALSE);
- }
- else
- {
- RtlInitUnicodeString(&SpiCur->ImageName, NULL);
- }
-
- SpiCur->BasePriority = pr->Pcb.BasePriority;
- SpiCur->UniqueProcessId = pr->UniqueProcessId;
- SpiCur->InheritedFromUniqueProcessId = pr->InheritedFromUniqueProcessId;
- SpiCur->HandleCount = (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0);
- SpiCur->PeakVirtualSize = pr->PeakVirtualSize;
- SpiCur->VirtualSize = pr->VirtualSize;
- SpiCur->PageFaultCount = pr->Vm.PageFaultCount;
- SpiCur->PeakWorkingSetSize = pr->Vm.PeakWorkingSetSize;
- SpiCur->WorkingSetSize = pr->Vm.WorkingSetSize;
- SpiCur->QuotaPeakPagedPoolUsage = pr->QuotaPeak[0];
- SpiCur->QuotaPagedPoolUsage = pr->QuotaUsage[0];
- SpiCur->QuotaPeakNonPagedPoolUsage = pr->QuotaPeak[1];
- SpiCur->QuotaNonPagedPoolUsage = pr->QuotaUsage[1];
- SpiCur->PagefileUsage = pr->QuotaUsage[2];
- SpiCur->PeakPagefileUsage = pr->QuotaPeak[2];
- SpiCur->PrivatePageCount = pr->CommitCharge;
- ThreadInfo = (PSYSTEM_THREAD_INFORMATION)(SpiCur + 1);
-
- current_entry = pr->ThreadListHead.Flink;
- while (current_entry != &pr->ThreadListHead)
- {
- current = CONTAINING_RECORD(current_entry, ETHREAD,
- ThreadListEntry);
-
- ThreadInfo->KernelTime.QuadPart = UInt32x32To64(current->Tcb.KernelTime, KeMaximumIncrement);
- ThreadInfo->UserTime.QuadPart = UInt32x32To64(current->Tcb.UserTime, KeMaximumIncrement);
- ThreadInfo->CreateTime.QuadPart = current->CreateTime.QuadPart;
- ThreadInfo->WaitTime = current->Tcb.WaitTime;
- ThreadInfo->StartAddress = (PVOID) current->StartAddress;
- ThreadInfo->ClientId = current->Cid;
- ThreadInfo->Priority = current->Tcb.Priority;
- ThreadInfo->BasePriority = current->Tcb.BasePriority;
- ThreadInfo->ContextSwitches = current->Tcb.ContextSwitches;
- ThreadInfo->ThreadState = current->Tcb.State;
- ThreadInfo->WaitReason = current->Tcb.WaitReason;
-
- ThreadInfo++;
- current_entry = current_entry->Flink;
- }
-
- /* Query total user/kernel times of a process */
- TotalKernel = KeQueryRuntimeProcess(&pr->Pcb, &TotalUser);
- SpiCur->UserTime.QuadPart = UInt32x32To64(TotalUser, KeMaximumIncrement);
- SpiCur->KernelTime.QuadPart = UInt32x32To64(TotalKernel, KeMaximumIncrement);
-
- /* Handle idle process entry */
- if (pr == PsIdleProcess) pr = NULL;
-
- pr = PsGetNextProcess(pr);
- nThreads = 0;
- if ((pr == syspr) || (pr == NULL))
- {
- SpiCur->NextEntryOffset = 0;
- break;
- }
- else
- pCur = pCur + curSize + inLen;
- } while ((pr != syspr) && (pr != NULL));
-
- if(pr != NULL)
- ObDereferenceObject(pr);
- Status = STATUS_SUCCESS;
- }
- _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
- {
- if(pr != NULL)
- ObDereferenceObject(pr);
- Status = _SEH2_GetExceptionCode();
- }
- _SEH2_END
-
- *ReqSize = ovlSize;
- return Status;
+ PSYSTEM_PROCESS_INFORMATION SpiCurrent;
+ PSYSTEM_THREAD_INFORMATION ThreadInfo;
+ PEPROCESS Process = NULL, SystemProcess;
+ PETHREAD CurrentThread;
+ ANSI_STRING ImageName;
+ int CurrentSize, ImageNameLength = 32; // image name len in bytes
+ PLIST_ENTRY CurrentEntry;
+ ULONG TotalSize = 0, ThreadsCount;
+ ULONG TotalUser, TotalKernel;
+ PUCHAR Current;
+ NTSTATUS Status = STATUS_SUCCESS;
+
+ _SEH2_TRY
+ {
+ /* scan the process list */
+
+ PSYSTEM_PROCESS_INFORMATION Spi
+ = (PSYSTEM_PROCESS_INFORMATION) Buffer;
+
+ *ReqSize = sizeof(SYSTEM_PROCESS_INFORMATION);
+
+ if (Size < sizeof(SYSTEM_PROCESS_INFORMATION))
+ {
+ _SEH2_YIELD(return STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small
+ }
+ RtlZeroMemory(Spi, Size);
+
+ SystemProcess = PsIdleProcess;
+ Process = SystemProcess;
+ Current = (PUCHAR) Spi;
+
+ do
+ {
+ SpiCurrent = (PSYSTEM_PROCESS_INFORMATION) Current;
+
+ ThreadsCount = 0;
+ CurrentEntry = Process->ThreadListHead.Flink;
+ while (CurrentEntry != &Process->ThreadListHead)
+ {
+ ThreadsCount++;
+ CurrentEntry = CurrentEntry->Flink;
+ }
+
+ // size of the structure for every process
+ CurrentSize = sizeof(SYSTEM_PROCESS_INFORMATION) + sizeof(SYSTEM_THREAD_INFORMATION) * ThreadsCount;
+ TotalSize += CurrentSize + ImageNameLength;
+
+ if (TotalSize > Size)
+ {
+ *ReqSize = TotalSize;
+ ObDereferenceObject(Process);
+
+ _SEH2_YIELD(return STATUS_INFO_LENGTH_MISMATCH); // in case buffer size is too small
+ }
+
+ // fill system information
+ SpiCurrent->NextEntryOffset = CurrentSize + ImageNameLength; // relative offset to the beginnnig of the next structure
+ SpiCurrent->NumberOfThreads = ThreadsCount;
+ SpiCurrent->CreateTime = Process->CreateTime;
+ SpiCurrent->ImageName.Length = strlen(Process->ImageFileName) * sizeof(WCHAR);
+ SpiCurrent->ImageName.MaximumLength = (USHORT)ImageNameLength;
+ SpiCurrent->ImageName.Buffer = (void*)(Current + CurrentSize);
+
+ // copy name to the end of the struct
+ if(Process != PsIdleProcess)
+ {
+ RtlInitAnsiString(&ImageName, Process->ImageFileName);
+ RtlAnsiStringToUnicodeString(&SpiCurrent->ImageName, &ImageName, FALSE);
+ }
+ else
+ {
+ RtlInitUnicodeString(&SpiCurrent->ImageName, NULL);
+ }
+
+ SpiCurrent->BasePriority = Process->Pcb.BasePriority;
+ SpiCurrent->UniqueProcessId = Process->UniqueProcessId;
+ SpiCurrent->InheritedFromUniqueProcessId = Process->InheritedFromUniqueProcessId;
- SpiCurrent->HandleCount = (Process->ObjectTable ? ObpGetHandleCountByHandleTable(Process->ObjectTable) : 0);
+ + SpiCurrent->HandleCount = ObGetProcessHandleCount(Process);
+ SpiCurrent->PeakVirtualSize = Process->PeakVirtualSize;
+ SpiCurrent->VirtualSize = Process->VirtualSize;
+ SpiCurrent->PageFaultCount = Process->Vm.PageFaultCount;
+ SpiCurrent->PeakWorkingSetSize = Process->Vm.PeakWorkingSetSize;
+ SpiCurrent->WorkingSetSize = Process->Vm.WorkingSetSize;
+ SpiCurrent->QuotaPeakPagedPoolUsage = Process->QuotaPeak[0];
+ SpiCurrent->QuotaPagedPoolUsage = Process->QuotaUsage[0];
+ SpiCurrent->QuotaPeakNonPagedPoolUsage = Process->QuotaPeak[1];
+ SpiCurrent->QuotaNonPagedPoolUsage = Process->QuotaUsage[1];
+ SpiCurrent->PagefileUsage = Process->QuotaUsage[2];
+ SpiCurrent->PeakPagefileUsage = Process->QuotaPeak[2];
+ SpiCurrent->PrivatePageCount = Process->CommitCharge;
+ ThreadInfo = (PSYSTEM_THREAD_INFORMATION)(SpiCurrent + 1);
+
+ CurrentEntry = Process->ThreadListHead.Flink;
+ while (CurrentEntry != &Process->ThreadListHead)
+ {
+ CurrentThread = CONTAINING_RECORD(CurrentEntry, ETHREAD,
+ ThreadListEntry);
+
+ ThreadInfo->KernelTime.QuadPart = UInt32x32To64(CurrentThread->Tcb.KernelTime, KeMaximumIncrement);
+ ThreadInfo->UserTime.QuadPart = UInt32x32To64(CurrentThread->Tcb.UserTime, KeMaximumIncrement);
+ ThreadInfo->CreateTime.QuadPart = CurrentThread->CreateTime.QuadPart;
+ ThreadInfo->WaitTime = CurrentThread->Tcb.WaitTime;
+ ThreadInfo->StartAddress = (PVOID) CurrentThread->StartAddress;
+ ThreadInfo->ClientId = CurrentThread->Cid;
+ ThreadInfo->Priority = CurrentThread->Tcb.Priority;
+ ThreadInfo->BasePriority = CurrentThread->Tcb.BasePriority;
+ ThreadInfo->ContextSwitches = CurrentThread->Tcb.ContextSwitches;
+ ThreadInfo->ThreadState = CurrentThread->Tcb.State;
+ ThreadInfo->WaitReason = CurrentThread->Tcb.WaitReason;
+
+ ThreadInfo++;
+ CurrentEntry = CurrentEntry->Flink;
+ }
+
+ /* Query total user/kernel times of a process */
+ TotalKernel = KeQueryRuntimeProcess(&Process->Pcb, &TotalUser);
+ SpiCurrent->UserTime.QuadPart = UInt32x32To64(TotalUser, KeMaximumIncrement);
+ SpiCurrent->KernelTime.QuadPart = UInt32x32To64(TotalKernel, KeMaximumIncrement);
+
+ /* Handle idle process entry */
+ if (Process == PsIdleProcess) Process = NULL;
+
+ Process = PsGetNextProcess(Process);
+ ThreadsCount = 0;
+ if ((Process == SystemProcess) || (Process == NULL))
+ {
+ SpiCurrent->NextEntryOffset = 0;
+ break;
+ }
+ else
+ Current += CurrentSize + ImageNameLength;
+ } while ((Process != SystemProcess) && (Process != NULL));
+
+ if(Process != NULL)
+ ObDereferenceObject(Process);
+ Status = STATUS_SUCCESS;
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ if(Process != NULL)
+ ObDereferenceObject(Process);
+ Status = _SEH2_GetExceptionCode();
+ }
+ _SEH2_END
+
+ *ReqSize = TotalSize;
+ return Status;
}
/* Class 6 - Call Count Information */
/* Class 16 - Handle Information */
QSI_DEF(SystemHandleInformation)
{
- PEPROCESS pr, syspr;
- ULONG curSize, i = 0;
- ULONG hCount = 0;
+ PEPROCESS pr, syspr;
+ ULONG curSize, i = 0;
+ ULONG hCount = 0;
- PSYSTEM_HANDLE_INFORMATION Shi =
- (PSYSTEM_HANDLE_INFORMATION) Buffer;
+ PSYSTEM_HANDLE_INFORMATION Shi =
+ (PSYSTEM_HANDLE_INFORMATION) Buffer;
- DPRINT("NtQuerySystemInformation - SystemHandleInformation\n");
+ DPRINT("NtQuerySystemInformation - SystemHandleInformation\n");
- if (Size < sizeof (SYSTEM_HANDLE_INFORMATION))
- {
- * ReqSize = sizeof (SYSTEM_HANDLE_INFORMATION);
- return (STATUS_INFO_LENGTH_MISMATCH);
- }
+ if (Size < sizeof(SYSTEM_HANDLE_INFORMATION))
+ {
+ *ReqSize = sizeof(SYSTEM_HANDLE_INFORMATION);
+ return STATUS_INFO_LENGTH_MISMATCH;
+ }
- DPRINT("SystemHandleInformation 1\n");
+ DPRINT("SystemHandleInformation 1\n");
- /* First Calc Size from Count. */
- syspr = PsGetNextProcess(NULL);
- pr = syspr;
+ /* First Calc Size from Count. */
+ syspr = PsGetNextProcess(NULL);
+ pr = syspr;
- do
- {
- hCount = hCount + (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0);
- pr = PsGetNextProcess(pr);
+ do
+ {
- hCount = hCount + (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0);
+ + hCount = hCount + ObGetProcessHandleCount(pr);
+ pr = PsGetNextProcess(pr);
- if ((pr == syspr) || (pr == NULL))
- break;
- } while ((pr != syspr) && (pr != NULL));
+ if ((pr == syspr) || (pr == NULL)) break;
+ }
+ while ((pr != syspr) && (pr != NULL));
- if(pr != NULL)
- {
- ObDereferenceObject(pr);
- }
+ if(pr != NULL)
+ {
+ ObDereferenceObject(pr);
+ }
- DPRINT("SystemHandleInformation 2\n");
+ DPRINT("SystemHandleInformation 2\n");
- curSize = sizeof(SYSTEM_HANDLE_INFORMATION)+
- ( (sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO) * hCount) -
- (sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO) ));
+ curSize = sizeof(SYSTEM_HANDLE_INFORMATION) +
+ ((sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO) * hCount) -
+ (sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO)));
- Shi->NumberOfHandles = hCount;
+ Shi->NumberOfHandles = hCount;
- if (curSize > Size)
- {
- *ReqSize = curSize;
- return (STATUS_INFO_LENGTH_MISMATCH);
- }
+ if (curSize > Size)
+ {
+ *ReqSize = curSize;
+ return (STATUS_INFO_LENGTH_MISMATCH);
+ }
- DPRINT("SystemHandleInformation 3\n");
+ DPRINT("SystemHandleInformation 3\n");
- /* Now get Handles from all processs. */
- syspr = PsGetNextProcess(NULL);
- pr = syspr;
+ /* Now get Handles from all processs. */
+ syspr = PsGetNextProcess(NULL);
+ pr = syspr;
- do
- {
- int Count = 0, HandleCount;
+ do
+ {
+ int Count = 0, HandleCount;
- HandleCount = (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0);
- HandleCount = (pr->ObjectTable ? ObpGetHandleCountByHandleTable(pr->ObjectTable) : 0);
+ + HandleCount = ObGetProcessHandleCount(pr);
- for (Count = 0; HandleCount > 0 ; HandleCount--)
- {
- Shi->Handles[i].UniqueProcessId = (USHORT)(ULONG_PTR)pr->UniqueProcessId;
- Count++;
- i++;
- }
+ for (Count = 0; HandleCount > 0 ; HandleCount--)
+ {
-- Shi->Handles[i].UniqueProcessId = (USHORT)(ULONG)pr->UniqueProcessId;
+++ Shi->Handles[i].UniqueProcessId = (USHORT)(ULONG_PTR)pr->UniqueProcessId;
+ Count++;
+ i++;
+ }
- pr = PsGetNextProcess(pr);
+ pr = PsGetNextProcess(pr);
- if ((pr == syspr) || (pr == NULL))
- break;
- } while ((pr != syspr) && (pr != NULL));
+ if ((pr == syspr) || (pr == NULL)) break;
+ }
+ while ((pr != syspr) && (pr != NULL));
- if(pr != NULL)
- {
- ObDereferenceObject(pr);
- }
+ if(pr != NULL) ObDereferenceObject(pr);
- DPRINT("SystemHandleInformation 4\n");
- return (STATUS_SUCCESS);
+ DPRINT("SystemHandleInformation 4\n");
+ return STATUS_SUCCESS;
}
/*
/* Class 23 - Interrupt Information for all processors */
QSI_DEF(SystemInterruptInformation)
{
- PKPRCB Prcb;
- PKPCR Pcr;
- LONG i;
- ULONG ti;
- PSYSTEM_INTERRUPT_INFORMATION sii = (PSYSTEM_INTERRUPT_INFORMATION)Buffer;
+ PKPRCB Prcb;
+ PKPCR Pcr;
+ LONG i;
+ ULONG ti;
+ PSYSTEM_INTERRUPT_INFORMATION sii = (PSYSTEM_INTERRUPT_INFORMATION)Buffer;
- if(Size < KeNumberProcessors * sizeof(SYSTEM_INTERRUPT_INFORMATION))
- {
- return (STATUS_INFO_LENGTH_MISMATCH);
- }
+ if(Size < KeNumberProcessors * sizeof(SYSTEM_INTERRUPT_INFORMATION))
+ {
+ return STATUS_INFO_LENGTH_MISMATCH;
+ }
- ti = KeQueryTimeIncrement();
+ ti = KeQueryTimeIncrement();
- for (i = 0; i < KeNumberProcessors; i++)
- {
- Prcb = KiProcessorBlock[i];
+ for (i = 0; i < KeNumberProcessors; i++)
+ {
+ Prcb = KiProcessorBlock[i];
++#ifdef _M_AMD64
- Pcr = CONTAINING_RECORD(Prcb, KPCR, CurrentPrcb);
+++ Pcr = CONTAINING_RECORD(Prcb, KPCR, CurrentPrcb);
++#else
- Pcr = CONTAINING_RECORD(Prcb, KPCR, Prcb);
+ Pcr = CONTAINING_RECORD(Prcb, KPCR, Prcb);
++#endif
#ifdef _M_ARM // This code should probably be done differently
- sii->ContextSwitches = Pcr->ContextSwitches;
+ sii->ContextSwitches = Pcr->ContextSwitches;
#else
- sii->ContextSwitches = ((PKIPCR)Pcr)->ContextSwitches;
+ sii->ContextSwitches = ((PKIPCR)Pcr)->ContextSwitches;
#endif
- sii->DpcCount = Prcb->DpcData[0].DpcCount;
- sii->DpcRate = Prcb->DpcRequestRate;
- sii->TimeIncrement = ti;
- sii->DpcBypassCount = 0;
- sii->ApcBypassCount = 0;
- sii++;
- }
+ sii->DpcCount = Prcb->DpcData[0].DpcCount;
+ sii->DpcRate = Prcb->DpcRequestRate;
+ sii->TimeIncrement = ti;
+ sii->DpcBypassCount = 0;
+ sii->ApcBypassCount = 0;
+ sii++;
+ }
- return STATUS_SUCCESS;
+ return STATUS_SUCCESS;
}
/* Class 24 - DPC Behaviour Information */
}
Entry = Process->ThreadListHead.Flink;
+ ObDereferenceObject(Process);
if (Entry == &KdbCurrentProcess->ThreadListHead)
{
-- KdbpPrint("No threads in process 0x%08x, cannot attach to process!\n", (ULONG)ProcessId);
++ KdbpPrint("No threads in process 0x%p, cannot attach to process!\n", ProcessId);
return FALSE;
}
Protect);
/* Check for valid protection flags */
- if ((Protect & PAGE_FLAGS_VALID_FROM_USER_MODE) != Protect)
- if (!(Protect & PAGE_FLAGS_VALID_FROM_USER_MODE))
+ + if (!Protect || Protect & ~PAGE_FLAGS_VALID_FROM_USER_MODE)
{
DPRINT1("Invalid page protection\n");
return STATUS_INVALID_PAGE_PROTECTION;
ASSERT(Process);
- if (Protect != PAGE_READONLY &&
- Protect != PAGE_READWRITE &&
- Protect != PAGE_WRITECOPY &&
- Protect != PAGE_EXECUTE &&
- Protect != PAGE_EXECUTE_READ &&
- Protect != PAGE_EXECUTE_READWRITE &&
- Protect != PAGE_EXECUTE_WRITECOPY)
- if (!(Protect & (PAGE_READONLY | PAGE_READWRITE |
- PAGE_WRITECOPY | PAGE_EXECUTE |
- PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE |
- PAGE_EXECUTE_WRITECOPY | PAGE_NOACCESS)))
+ + if (!Protect || Protect & ~PAGE_FLAGS_VALID_FOR_SECTION)
{
return STATUS_INVALID_PAGE_PROTECTION;
}
_SEH2_TRY
{
/* Write back the Session ID */
-- SessionInfo->SessionId = Process->Session;
++ SessionInfo->SessionId = PtrToUlong(Process->Session);
-
- /* Set the return length */
- Length = sizeof(PROCESS_SESSION_INFORMATION);
}
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="csrsrv" type="nativedll">
--- <importlibrary definition="csrsrv.def" />
+++ <importlibrary definition="csrsrv.spec" />
<include base="csrsrv">.</include>
<include base="csr">.</include>
<include base="ReactOS">include/reactos/subsys</include>
fprintf ( fMakefile, "PROJECT_RCFLAGS := $(PROJECT_CINCLUDES) $(PROJECT_CDEFINES)\n" );
fprintf ( fMakefile, "PROJECT_WIDLFLAGS := $(PROJECT_CINCLUDES) $(PROJECT_CDEFINES)\n" );
fprintf ( fMakefile, "PROJECT_LFLAGS := '$(shell ${TARGET_CC} -print-libgcc-file-name)' %s\n", GenerateProjectLFLAGS ().c_str () );
--- fprintf ( fMakefile, "PROJECT_LPPFLAGS := '$(shell ${TARGET_CPP} -print-file-name=libstdc++.a)' '$(shell ${TARGET_CPP} -print-file-name=libgcc.a)' '$(shell ${TARGET_CPP} -print-file-name=libmingw32.a)' '$(shell ${TARGET_CPP} -print-file-name=libmingwex.a)' '$(shell ${TARGET_CPP} -print-file-name=libcoldname.a)'\n" );
+++ fprintf ( fMakefile, "PROJECT_LPPFLAGS := '$(shell ${TARGET_CPP} -print-file-name=libstdc++.a)' '$(shell ${TARGET_CPP} -print-file-name=libgcc.a)' '$(shell ${TARGET_CPP} -print-file-name=libmingw32.a)' '$(shell ${TARGET_CPP} -print-file-name=libmingwex.a)'\n" );
++ /* hack to get libgcc_eh.a, should check mingw version or something */
++ fprintf ( fMakefile, "ifeq ($(ARCH),amd64)\n" );
++ fprintf ( fMakefile, "PROJECT_LPPFLAGS += '$(shell ${TARGET_CPP} -print-file-name=libgcc_eh.a)'\n" );
++ fprintf ( fMakefile, "endif\n" );
fprintf ( fMakefile, "PROJECT_GCCOPTIONS += -Wall\n" );
fprintf ( fMakefile, "ifneq ($(OARCH),)\n" );
fprintf ( fMakefile, "PROJECT_GCCOPTIONS += -march=$(OARCH)\n" );
module.pch->file->name + ".gch" );
}
- Rule arRule1 ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).a: $($(module_name)_OBJS) $(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).a",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
-Rule arRule1 ( "$(intermediate_path_noext).a: $($(module_name)_OBJS) $(dependencies) | $(intermediate_dir)\n",
+ +Rule arRule1 ( "$(intermediate_path_noext).a: $($(module_name)_OBJS) $(dependencies) | $(intermediate_dir)\n",
+ "$(intermediate_path_noext).a",
+ "$(intermediate_dir)$(SEP)", NULL );
Rule arRule2 ( "\t$(ECHO_AR)\n"
"\t${ar} -rc $@ $($(module_name)_OBJS)\n",
NULL );
"\t${host_ar} -rc $@ $($(module_name)_OBJS)\n",
NULL );
Rule gasRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "$(intermediate_path_unique).o: $(source)$(dependencies) | $(intermediate_dir)\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_unique).o.d: $(source) | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -x assembler-with-cpp -MF $@ -D__ASM__ $($(module_name)_CFLAGS) -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_path_unique).o.d\n"
+ + "endif\n"
+ + "$(intermediate_path_unique).o: $(source)$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_unique).o.d) $(dependencies) | $(intermediate_dir)\n"
"\t$(ECHO_GAS)\n"
"\t${gcc} -x assembler-with-cpp -o $@ -D__ASM__ $($(module_name)_CFLAGS) -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
+ "$(intermediate_path_unique).o",
+ + "$(intermediate_path_unique).o.d",
+ "$(intermediate_dir)$(SEP)", NULL );
Rule bootRule ( "$(source): ${$(module_name)_precondition}\n"
- - "$(module_output): $(source)$(dependencies) | $(OUTPUT)$(SEP)$(source_dir)\n"
+ + "$(module_output): $(source) $(dependencies) | $(OUTPUT)$(SEP)$(source_dir)\n"
"\t$(ECHO_NASM)\n"
"\t$(Q)${nasm} -f win32 $< -o $@ $($(module_name)_NASMFLAGS)\n",
"$(OUTPUT)$(SEP)$(source_dir)$(SEP)", NULL );
Rule nasmRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "$(intermediate_path_unique).o: $(source)$(dependencies) | $(intermediate_dir)\n"
+ + "$(intermediate_path_unique).o: $(source) $(dependencies) | $(intermediate_dir)\n"
"\t$(ECHO_NASM)\n"
"\t$(Q)${nasm} -f win32 $< -o $@ $($(module_name)_NASMFLAGS)\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
+ "$(intermediate_path_unique).o",
+ "$(intermediate_dir)$(SEP)", NULL );
Rule windresRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).coff: $(source)$(dependencies) $(WRC_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir) $(TEMPORARY)\n"
- "$(intermediate_path_unique).coff: $(source)$(dependencies) $(WRC_TARGET) | $(intermediate_dir) $(TEMPORARY)\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_unique).coff.d: $(source) | $(intermediate_dir) $(TEMPORARY)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -xc -M -MP -MT $@ -DRC_INVOKED ${$(module_name)_RCFLAGS} $(source) -MF $@\n"
+ + "-include $(intermediate_path_unique).coff.d\n"
+ + "endif\n"
+ + "$(intermediate_path_unique).coff: $(source)$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_unique).coff.d) $(dependencies) $(WRC_TARGET) | $(intermediate_dir) $(TEMPORARY)\n"
"\t$(ECHO_WRC)\n"
"\t${gcc} -xc -E -DRC_INVOKED ${$(module_name)_RCFLAGS} $(source) > $(TEMPORARY)$(SEP)$(module_name).$(source_name_noext).rci.tmp\n"
"\t$(Q)$(WRC_TARGET) ${$(module_name)_RCFLAGS} $(TEMPORARY)$(SEP)$(module_name).$(source_name_noext).rci.tmp $(TEMPORARY)$(SEP)$(module_name).$(source_name_noext).res.tmp\n"
"\t-@${rm} $(TEMPORARY)$(SEP)$(module_name).$(source_name_noext).rci.tmp 2>$(NUL)\n"
"\t${windres} $(TEMPORARY)$(SEP)$(module_name).$(source_name_noext).res.tmp -o $@\n"
"\t-@${rm} $(TEMPORARY)$(SEP)$(module_name).$(source_name_noext).res.tmp 2>$(NUL)\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).coff",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
- Rule wmcRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).rc $(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h: $(WMC_TARGET) $(source) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "$(intermediate_path_unique).coff",
+ + "$(intermediate_path_unique).coff.d",
+ "$(intermediate_dir)$(SEP)", NULL );
+ Rule wmcRule ( "$(intermediate_path_noext).rc $(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h: $(WMC_TARGET) $(source) | $(intermediate_dir)\n"
"\t$(ECHO_WMC)\n"
- "\t$(Q)$(WMC_TARGET) -i -H $(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h -o $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).rc $(source)\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).rc",
+ "\t$(Q)$(WMC_TARGET) -i -H $(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h -o $(intermediate_path_noext).rc $(source)\n",
+ "$(intermediate_path_noext).rc",
"$(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
- Rule winebuildPDefRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "$(intermediate_dir)$(SEP)", NULL );
-Rule winebuildPDefRule ( "$(intermediate_path_unique).spec: $(source)$(dependencies) | $(intermediate_dir)\n"
+ +Rule winebuildPDefRule ( "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_unique).spec.d: $(source) | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -xc -M -MP -MT $@ ${$(module_name)_RCFLAGS} $(source) -MF $@\n\n"
+ + "-include $(intermediate_path_unique).spec.d\n"
+ + "endif\n"
+ + "$(intermediate_path_unique).spec: $(source)$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_unique).spec.d) $(dependencies) | $(intermediate_dir)\n"
"\t$(ECHO_CPP)\n"
- "\t${gcc} -xc -E ${$(module_name)_RCFLAGS} $(source) > $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec\n\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "\t${gcc} -xc -E ${$(module_name)_RCFLAGS} $(source) > $(intermediate_path_unique).spec\n\n"
+ "$(intermediate_path_unique).auto.def: $(intermediate_path_unique).spec $(WINEBUILD_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WINEBLD)\n"
- "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def --def -E $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec --filename $(module_dllname)\n\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
- Rule winebuildPRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(intermediate_path_unique).auto.def --def -E $(intermediate_path_unique).spec --filename $(module_dllname)\n\n",
+ "$(intermediate_path_unique).spec",
+ + "$(intermediate_path_unique).spec.d",
+ "$(intermediate_path_unique).auto.def",
+ "$(intermediate_dir)$(SEP)", NULL );
+ Rule winebuildPRule ( "$(intermediate_path_unique).stubs.c: $(intermediate_path_unique).spec $(WINEBUILD_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WINEBLD)\n"
- "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $@ --pedll $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec --filename $(module_dllname)\n\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $@ --pedll $(intermediate_path_unique).spec --filename $(module_dllname)\n\n"
- "$(intermediate_path_unique).stubs.o: $(intermediate_path_unique).stubs.c | $(intermediate_dir)\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_unique).stubs.o.d: $(intermediate_path_unique).stubs.c | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -MF $@ $($(module_name)_CFLAGS)$(compiler_flags) -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_path_unique).stubs.o.d\n"
+ + "endif\n"
+ + "$(intermediate_path_unique).stubs.o: $(intermediate_path_unique).stubs.c$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_unique).stubs.o.d) | $(intermediate_dir)\n"
"\t$(ECHO_CC)\n"
"\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
- Rule winebuildDefRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def: $(source)$(dependencies) $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "$(intermediate_path_unique).spec",
+ "$(intermediate_path_unique).stubs.c",
+ "$(intermediate_path_unique).stubs.o",
+ + "$(intermediate_path_unique).stubs.o.d",
+ "$(intermediate_dir)$(SEP)", NULL );
-Rule winebuildDefRule ( "$(intermediate_path_unique).auto.def: $(source)$(dependencies) $(WINEBUILD_TARGET) | $(intermediate_dir)\n"
+ +Rule winebuildDefRule ( "$(intermediate_path_unique).auto.def: $(source) $(dependencies) $(WINEBUILD_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WINEBLD)\n"
- "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_path)$(SEP)$(source_name_noext)_$(module_name).auto.def --def -E $(source) --filename $(module_dllname)\n\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).spec",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
- Rule winebuildRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c: $(source_path)$(SEP)$(source_name_noext).spec $(WINEBUILD_TARGET)\n"
+ "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(intermediate_path_unique).auto.def --def -E $(source) --filename $(module_dllname)\n\n",
+ "$(intermediate_path_noext).spec",
+ "$(intermediate_path_unique).auto.def",
+ "$(intermediate_dir)$(SEP)", NULL );
+ Rule winebuildRule ( "$(intermediate_path_unique).stubs.c: $(source) $(WINEBUILD_TARGET)\n"
"\t$(ECHO_WINEBLD)\n"
- "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $@ --pedll $(source_path)$(SEP)$(source_name_noext).spec --filename $(module_dllname)\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $@ --pedll $(source) --filename $(module_dllname)\n"
- "$(intermediate_path_unique).stubs.o: $(intermediate_path_unique).stubs.c$(dependencies) | $(intermediate_dir)\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_unique).stubs.o.d: $(intermediate_path_unique).stubs.c | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -MF $@ $($(module_name)_CFLAGS)$(compiler_flags) -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_path_unique).stubs.o.d\n"
+ + "endif\n"
+ + "$(intermediate_path_unique).stubs.o: $(intermediate_path_unique).stubs.c$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_unique).stubs.o.d) $(dependencies) | $(intermediate_dir)\n"
"\t$(ECHO_CC)\n"
"\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
+ "$(intermediate_path_unique).stubs.c",
+ "$(intermediate_path_unique).stubs.o",
+ + "$(intermediate_path_unique).stubs.o.d",
+ "$(intermediate_dir)$(SEP)", NULL );
Rule widlHeaderRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).h: $(source)$(dependencies) $(WIDL_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "$(intermediate_path_noext).h: $(source)$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
+ + "$(intermediate_path_noext).h: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
- "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).h $(source)\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).h",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
+ "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(intermediate_path_noext).h $(source)\n",
+ "$(intermediate_path_noext).h",
+ "$(intermediate_dir)$(SEP)", NULL );
Rule widlServerRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.c $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.h: $(source)$(dependencies) $(WIDL_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "$(intermediate_path_noext)_s.c $(intermediate_path_noext)_s.h: $(source)$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
+ + "$(intermediate_path_noext)_s.c $(intermediate_path_noext)_s.h: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
- "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.h -s -S $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.c $(source)\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.c $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.h$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(intermediate_path_noext)_s.h -s -S $(intermediate_path_noext)_s.c $(source)\n"
- "$(intermediate_path_noext)_s.o: $(intermediate_path_noext)_s.c $(intermediate_path_noext)_s.h$(dependencies) | $(intermediate_dir)\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_noext)_s.o.d: $(intermediate_path_noext)_s.c | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -MF $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_path_noext)_s.o.d\n"
+ + "endif\n"
+ + "$(intermediate_path_noext)_s.o: $(intermediate_path_noext)_s.c $(intermediate_path_noext)_s.h$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_noext)_s.o.d) $(dependencies) | $(intermediate_dir)\n"
"\t$(ECHO_CC)\n"
"\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.h",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.c",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_s.o",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
+ "$(intermediate_path_noext)_s.h",
+ "$(intermediate_path_noext)_s.c",
+ "$(intermediate_path_noext)_s.o",
+ + "$(intermediate_path_noext)_s.o.d",
+ "$(intermediate_dir)$(SEP)", NULL );
Rule widlClientRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.c $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.h: $(source)$(dependencies) $(WIDL_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "$(intermediate_path_noext)_c.c $(intermediate_path_noext)_c.h: $(source)$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
+ + "$(intermediate_path_noext)_c.c $(intermediate_path_noext)_c.h: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
- "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.h -c -C $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.c $(source)\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.c $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.h$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
+ "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(intermediate_path_noext)_c.h -c -C $(intermediate_path_noext)_c.c $(source)\n"
- "$(intermediate_path_noext)_c.o: $(intermediate_path_noext)_c.c $(intermediate_path_noext)_c.h$(dependencies) | $(intermediate_dir)\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_noext)_c.o.d: $(intermediate_path_noext)_c.c | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -MF $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_path_noext)_c.o.d\n"
+ + "endif\n"
+ + "$(intermediate_path_noext)_c.o: $(intermediate_path_noext)_c.c $(intermediate_path_noext)_c.h$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_noext)_c.o.d) $(dependencies) | $(intermediate_dir)\n"
"\t$(ECHO_CC)\n"
"\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.h",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.c",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_c.o",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
+ "$(intermediate_path_noext)_c.h",
+ "$(intermediate_path_noext)_c.c",
+ "$(intermediate_path_noext)_c.o",
+ + "$(intermediate_path_noext)_c.o.d",
+ "$(intermediate_dir)$(SEP)", NULL );
Rule widlProxyRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.c $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.h: $(source)$(dependencies) $(WIDL_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "$(intermediate_path_noext)_p.c $(intermediate_path_noext)_p.h: $(source)$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
+ + "$(intermediate_path_noext)_p.c $(intermediate_path_noext)_p.h: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
- "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.h -p -P $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.c $(source)\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.c $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.h$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "\t$(ECHO_CC)\n"
- "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.h",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.c",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_p.o",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
+ "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(intermediate_path_noext)_p.h -p -P $(intermediate_path_noext)_p.c $(source)\n"
- "$(intermediate_path_noext)_p.o: $(intermediate_path_noext)_p.c $(intermediate_path_noext)_p.h$(dependencies) | $(intermediate_dir)\n"
- "\t$(ECHO_CC)\n"
- "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -c $<\n",
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_noext)_p.o.d: $(intermediate_path_noext)_p.c | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -MF $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_path_noext)_p.o.d\n"
+ + "endif\n"
+ + "$(intermediate_path_noext)_p.o: $(intermediate_path_noext)_p.c $(intermediate_path_noext)_p.h$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_noext)_p.o.d) $(dependencies) | $(intermediate_dir)\n"
+ + "\t$(ECHO_CC)\n"
+ + "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -c $<\n",
+ "$(intermediate_path_noext)_p.h",
+ "$(intermediate_path_noext)_p.c",
+ "$(intermediate_path_noext)_p.o",
+ + "$(intermediate_path_noext)_p.o.d",
+ "$(intermediate_dir)$(SEP)", NULL );
-Rule widlDlldataRule ( "$(source): $(dependencies) ${$(module_name)_precondition} $(WIDL_TARGET) | $(intermediate_dir)\n"
- "\t$(ECHO_WIDL)\n"
- "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) --dlldata-only --dlldata=$(source) $(bare_dependencies)\n"
- "$(intermediate_path_noext).o: $(source) $(dependencies) | $(intermediate_dir)\n"
- "\t$(ECHO_CC)\n"
- "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
- "$(intermediate_path_noext).o", NULL );
+ +Rule widlDlldataRule ( "$(source): $(dependencies) ${$(module_name)_precondition} $(WIDL_TARGET) | $(intermediate_dir)\n"
+ + "\t$(ECHO_WIDL)\n"
+ + "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) --dlldata-only --dlldata=$(source) $(bare_dependencies)\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_path_noext).o.d: $(source) | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t${gcc} -MF $@ $($(module_name)_CFLAGS)$(compiler_flags) -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_path_noext).o.d\n"
+ + "endif\n"
+ + "$(intermediate_path_noext).o: $(source)$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_path_noext).o.d) $(dependencies) | $(intermediate_dir)\n"
+ + "\t$(ECHO_CC)\n"
+ + "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
+ + "$(intermediate_path_noext).o",
+ + "$(intermediate_path_noext).o.d", NULL );
Rule widlTlbRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(module_name).tlb: $(source)$(dependencies) $(WIDL_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "$(intermediate_dir)$(SEP)$(module_name).tlb: $(source)$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
+ + "$(intermediate_dir)$(SEP)$(module_name).tlb: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
- "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -t -T $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).tlb $(source)\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
- Rule gccRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "\t$(ECHO_CC)\n"
- "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o", NULL );
+ "\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -t -T $(intermediate_path_noext).tlb $(source)\n",
+ "$(intermediate_dir)$(SEP)", NULL );
-Rule gccRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(intermediate_path_unique).o: $(source)$(dependencies) | $(intermediate_dir)\n"
- "\t$(ECHO_CC)\n"
- "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
- "$(intermediate_path_unique).o", NULL );
+ +Rule gccRule ( "$(eval $(call RBUILD_GCC_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n",
+ + "$(intermediate_path_unique).o",
+ + "$(intermediate_path_unique).o.d", NULL );
Rule gccHostRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "\t$(ECHO_CC)\n"
- "$(intermediate_path_unique).o: $(source)$(dependencies) | $(intermediate_dir)\n"
+ + "$(intermediate_path_unique).o: $(source) $(dependencies) | $(intermediate_dir)\n"
+ "\t$(ECHO_HOSTCC)\n"
"\t${host_gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o", NULL );
- Rule gppRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "\t$(ECHO_CC)\n"
- "\t${gpp} -o $@ $($(module_name)_CXXFLAGS)$(compiler_flags) -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o", NULL );
+ "$(intermediate_path_unique).o", NULL );
-Rule gppRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(intermediate_path_unique).o: $(source)$(dependencies) | $(intermediate_dir)\n"
- "\t$(ECHO_CC)\n"
- "\t${gpp} -o $@ $($(module_name)_CXXFLAGS)$(compiler_flags) -c $<\n",
- "$(intermediate_path_unique).o", NULL );
+ +Rule gppRule ( "$(eval $(call RBUILD_GPP_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n",
+ + "$(intermediate_path_unique).o",
+ + "$(intermediate_path_unique).o.d", NULL );
Rule gppHostRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
- "\t$(ECHO_CC)\n"
- "$(intermediate_path_unique).o: $(source)$(dependencies) | $(intermediate_dir)\n"
+ + "$(intermediate_path_unique).o: $(source) $(dependencies) | $(intermediate_dir)\n"
+ "\t$(ECHO_HOSTCC)\n"
"\t${host_gpp} -o $@ $($(module_name)_CXXFLAGS)$(compiler_flags) -c $<\n",
- "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o", NULL );
+ "$(intermediate_path_unique).o", NULL );
+ +Rule pchRule ( "$(source): ${$(module_name)_precondition}\n"
+ + "ifeq ($(ROS_BUILDDEPS),full)\n"
+ + "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch.d: $(source) | $(intermediate_dir)\n"
+ + "\t$(ECHO_DEPENDS)\n"
+ + "\t$(pch_cc) -MF $@ $(pch_ccflags)$(compiler_flags) -x $(pch_language) -M -MP -MT $@ $<\n"
+ + "-include $(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch.d\n"
+ + "endif\n"
+ + "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch: $(source)$(if $(subst _full,,_$(ROS_BUILDDEPS)),, $(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch.d) $(dependencies) | $(intermediate_dir)$(SEP).gch_$(module_name)\n"
+ + "\t$(ECHO_PCH)\n"
+ + "\t$(pch_cc) -o $@ $(pch_ccflags)$(compiler_flags) -x $(pch_language) -c $<\n",
+ + "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch",
+ + "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch.d", NULL );
Rule emptyRule ( "", NULL );
void
vector<FileLocation> rpcDependencies;
GetRpcHeaderDependencies ( rpcDependencies );
if ( rpcDependencies.size () > 0 )
- - dependencies += " " + v2s ( backend, rpcDependencies, 5 );
- - fprintf ( fMakefile,
- - "%s: %s | %s\n",
- - backend->GetFullName ( *pchFilename ).c_str(),
- - dependencies.c_str(),
- - backend->GetFullPath ( *pchFilename ).c_str() );
- - fprintf ( fMakefile, "\t$(ECHO_PCH)\n" );
- - fprintf ( fMakefile,
- "\t%s -o %s %s %s %s %s\n\n",
- module.cplusplus ? cppc.c_str() : cc.c_str(),
- "\t%s -o %s %s %s -gstabs+ -x %s %s\n\n",
- cc.c_str(),
- - backend->GetFullName ( *pchFilename ).c_str(),
- - module.cplusplus ? cxxflagsMacro.c_str() : cflagsMacro.c_str(),
- - GenerateCompilerParametersFromVector ( module.non_if_data.compilerFlags, module.cplusplus ? CompilerTypeCPP : CompilerTypeCC ).c_str(),
- DEBUG_FORMAT,
- module.cplusplus ? "c++-header" : "c-header",
- - backend->GetFullName ( baseHeaderFile ).c_str() );
- - delete pchFilename;
+ + dependencies = " " + v2s ( backend, rpcDependencies, 5 );
+ +
+ + pchRule.Execute ( fMakefile,
+ + backend,
+ + module,
+ + module.pch->file,
+ + clean_files,
+ + dependencies,
+ + GenerateCompilerParametersFromVector ( module.non_if_data.compilerFlags, module.cplusplus ? CompilerTypeCPP : CompilerTypeCC ).c_str(),
+ + vars );
+ + fprintf ( fMakefile, "\n" );
}
GenerateObjectFileTargets ( module.non_if_data );