jscript: Added JSGlobal typelib.
diff --git a/.gitignore b/.gitignore
index 56e6721..0f2152c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,7 @@
dlls/display.drv16
dlls/gdi.exe16
dlls/imm.dll16
+dlls/jscript/jsglobal.tlb
dlls/kernel32/nls/winerr_deu.mc.rc
dlls/kernel32/nls/winerr_enu.mc.rc
dlls/kernel32/nls/winerr_fra.mc.rc
diff --git a/dlls/jscript/Makefile.in b/dlls/jscript/Makefile.in
index 04cc952..ecf6ffe 100644
--- a/dlls/jscript/Makefile.in
+++ b/dlls/jscript/Makefile.in
@@ -11,6 +11,8 @@
jscript.c \
jscript_main.c
+IDL_TLB_SRCS = jsglobal.idl
+
@MAKE_DLL_RULES@
@DEPENDENCIES@ # everything below this line is overwritten by make depend
diff --git a/dlls/jscript/jsglobal.idl b/dlls/jscript/jsglobal.idl
new file mode 100644
index 0000000..bd91a60
--- /dev/null
+++ b/dlls/jscript/jsglobal.idl
@@ -0,0 +1,1051 @@
+/*
+ * Copyright 2008 Jacek Caban for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "jsglobal_dispid.h"
+
+import "oaidl.idl";
+
+[
+ uuid(3eef9759-35fc-11d1-8ce4-00c04fc2b085),
+ version(1.0),
+]
+library JSGlobal
+{
+ importlib("stdole2.tlb");
+
+ interface StringInstance;
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b086)
+ ]
+ dispinterface GlobalObj {
+ properties:
+ [id(DISPID_GLOBAL_NAN), readonly]
+ VARIANT NaN;
+
+ [id(DISPID_GLOBAL_INFINITY), readonly]
+ VARIANT Infinity;
+
+ methods:
+ [id(DISPID_GLOBAL_ARRAY)]
+ VARIANT Array();
+
+ [id(DISPID_GLOBAL_BOOLEAN)]
+ VARIANT Boolean();
+
+ [id(DISPID_GLOBAL_DATE)]
+ VARIANT Date();
+
+ [id(DISPID_GLOBAL_FUNCTION)]
+ VARIANT Function();
+
+ [id(DISPID_GLOBAL_NUMBER)]
+ VARIANT Number();
+
+ [id(DISPID_GLOBAL_OBJECT)]
+ VARIANT Object();
+
+ [id(DISPID_GLOBAL_STRING)]
+ VARIANT String();
+
+ [id(DISPID_GLOBAL_REGEXP)]
+ VARIANT RegExp();
+
+ [id(DISPID_GLOBAL_ACTIVEXOBJ)]
+ VARIANT ActiveXObject();
+
+ [id(DISPID_GLOBAL_VBARRAY)]
+ VARIANT VBArray();
+
+ [id(DISPID_GLOBAL_ENUMERATOR)]
+ VARIANT Enumerator();
+
+ [id(DISPID_GLOBAL_ESCAPE)]
+ VARIANT escape(VARIANT String);
+
+ [id(DISPID_GLOBAL_EVAL)]
+ VARIANT eval(VARIANT x);
+
+ [id(DISPID_GLOBAL_ISNAN)]
+ VARIANT isNaN(VARIANT Number);
+
+ [id(DISPID_GLOBAL_ISFINITE)]
+ VARIANT isFinite(VARIANT Number);
+
+ [id(DISPID_GLOBAL_PARSEINT)]
+ VARIANT parseInt(
+ VARIANT String,
+ VARIANT radix);
+
+ [id(DISPID_GLOBAL_PARSEFLOAT)]
+ VARIANT parseFloat(VARIANT String);
+
+ [id(DISPID_GLOBAL_UNESCAPE)]
+ VARIANT unescape(VARIANT String);
+
+ [id(DISPID_GLOBAL_GETOBJECT)]
+ VARIANT GetObject(
+ [optional] VARIANT path,
+ [optional] VARIANT classname);
+
+ [id(DISPID_GLOBAL_SCRIPTENGINE)]
+ VARIANT ScriptEngine();
+
+ [id(DISPID_GLOBAL_MAJORVER)]
+ VARIANT ScriptEngineMajorVersion();
+
+ [id(DISPID_GLOBAL_MINORVER)]
+ VARIANT ScriptEngineMinorVersion();
+
+ [id(DISPID_GLOBAL_BUILDVER)]
+ VARIANT ScriptEngineBuildVersion();
+
+ [id(DISPID_GLOBAL_COLLECT)]
+ VARIANT CollectGarbage();
+
+ [id(DISPID_GLOBAL_MATH)]
+ VARIANT Math();
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b087)
+ ]
+ dispinterface DateObj {
+ properties:
+ methods:
+ [id(DISPID_DATEOBJ_PARSE)]
+ VARIANT parse(VARIANT String);
+
+ [id(DISPID_DATEOBJ_UTC)]
+ VARIANT UTC(
+ VARIANT year,
+ [optional] VARIANT month,
+ [optional] VARIANT Date,
+ [optional] VARIANT hours,
+ [optional] VARIANT minutes,
+ [optional] VARIANT seconds,
+ [optional] VARIANT ms);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b088)
+ ]
+ dispinterface MathObj {
+ properties:
+ [id(DISPID_MATHOBJ_E), readonly]
+ VARIANT E;
+
+ [id(DISPID_MATHOBJ_LOG2E), readonly]
+ VARIANT LOG2E;
+
+ [id(DISPID_MATHOBJ_LOG10E), readonly]
+ VARIANT LOG10E;
+
+ [id(DISPID_MATHOBJ_LN2), readonly]
+ VARIANT LN2;
+
+ [id(DISPID_MATHOBJ_LN10), readonly]
+ VARIANT LN10;
+
+ [id(DISPID_MATHOBJ_PI), readonly]
+ VARIANT PI;
+
+ [id(DISPID_MATHOBJ_SQRT2), readonly]
+ VARIANT SQRT2;
+
+ [id(DISPID_MATHOBJ_SQRT1_2), readonly]
+ VARIANT SQRT1_2;
+
+ methods:
+ [id(DISPID_MATHOBJ_ABS)]
+ VARIANT abs(VARIANT x);
+
+ [id(DISPID_MATHOBJ_ACOS)]
+ VARIANT acos(VARIANT x);
+
+ [id(DISPID_MATHOBJ_ASIN)]
+ VARIANT asin(VARIANT x);
+
+ [id(DISPID_MATHOBJ_ATAN)]
+ VARIANT atan(VARIANT x);
+
+ [id(DISPID_MATHOBJ_ATAN2)]
+ VARIANT atan2(VARIANT x, VARIANT y);
+
+ [id(DISPID_MATHOBJ_CEIL)]
+ VARIANT ceil(VARIANT x);
+
+ [id(DISPID_MATHOBJ_COS)]
+ VARIANT cos(VARIANT x);
+
+ [id(DISPID_MATHOBJ_EXP)]
+ VARIANT exp(VARIANT x);
+
+ [id(DISPID_MATHOBJ_FLOOR)]
+ VARIANT floor(VARIANT x);
+
+ [id(DISPID_MATHOBJ_LOG)]
+ VARIANT log(VARIANT x);
+
+ [id(DISPID_MATHOBJ_MAX)]
+ VARIANT max(VARIANT x, VARIANT y);
+
+ [id(DISPID_MATHOBJ_MIN)]
+ VARIANT min(VARIANT x, VARIANT y);
+
+ [id(DISPID_MATHOBJ_POW)]
+ VARIANT pow(VARIANT x, VARIANT y);
+
+ [id(DISPID_MATHOBJ_RANDOM)]
+ VARIANT random();
+
+ [id(DISPID_MATHOBJ_ROUND)]
+ VARIANT round(VARIANT x);
+
+ [id(DISPID_MATHOBJ_SIN)]
+ VARIANT sin(VARIANT x);
+
+ [id(DISPID_MATHOBJ_SQRT)]
+ VARIANT sqrt(VARIANT x);
+
+ [id(DISPID_MATHOBJ_TAN)]
+ VARIANT tan(VARIANT x);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b089)
+ ]
+ dispinterface NumberObj {
+ properties:
+ [id(DISPID_NUMBEROBJ_MAX_VALUE), readonly]
+ VARIANT MAX_VALUE;
+
+ [id(DISPID_NUMBEROBJ_MIN_VALUE), readonly]
+ VARIANT MIN_VALUE;
+
+ [id(DISPID_NUMBEROBJ_NAN), readonly]
+ VARIANT NaN;
+
+ [id(DISPID_NUMBEROBJ_NEGATIVE_INFINITY), readonly]
+ VARIANT NEGATIVE_INFINITY;
+
+ [id(DISPID_NUMBEROBJ_POSITIVE_INFINITY), readonly]
+ VARIANT POSITIVE_INFINITY;
+
+ methods:
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b090)
+ ]
+ dispinterface RegExpObj {
+ properties:
+ [id(DISPID_REGEXPOBJ_INDEX), readonly]
+ VARIANT index;
+
+ [id(DISPID_REGEXPOBJ_INPUT), readonly]
+ VARIANT input;
+
+ [id(DISPID_REGEXPOBJ_LASTINDEX), readonly]
+ VARIANT lastIndex;
+
+ methods:
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b091)
+ ]
+ dispinterface StringObj {
+ properties:
+ methods:
+ [id(DISPID_STRINGOBJ_FROMCHARCODE)]
+ VARIANT fromCharCode(VARIANT char0);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b092)
+ ]
+ dispinterface ArrayInstance {
+ properties:
+ [id(DISPID_ARRAY_LENGTH)]
+ VARIANT length;
+
+ methods:
+ [id(DISPID_ARRAY_CONCAT)]
+ ArrayInstance *concat(VARIANT Array);
+
+ [id(DISPID_ARRAY_JOIN)]
+ StringInstance *join(VARIANT separator);
+
+ [id(DISPID_ARRAY_POP)]
+ VARIANT pop();
+
+ [id(DISPID_ARRAY_PUSH)]
+ VARIANT push(VARIANT value);
+
+ [id(DISPID_ARRAY_REVERSE)]
+ ArrayInstance *reverse();
+
+ [id(DISPID_ARRAY_SHIFT)]
+ VARIANT shift();
+
+ [id(DISPID_ARRAY_SLICE)]
+ ArrayInstance *slice(
+ VARIANT start,
+ VARIANT end);
+
+ [id(DISPID_ARRAY_SORT)]
+ ArrayInstance *sort(VARIANT sortfunction);
+
+ [id(DISPID_ARRAY_SPLICE)]
+ ArrayInstance *splice(
+ VARIANT start,
+ VARIANT deletecount);
+
+ [id(DISPID_ARRAY_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ARRAY_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ARRAY_VALUEOF)]
+ ArrayInstance *valueOf();
+
+ [id(DISPID_ARRAY_UNSHIFT)]
+ VARIANT unshift(VARIANT value);
+
+ [id(DISPID_ARRAY_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ARRAY_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ARRAY_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b093)
+ ]
+ dispinterface FunctionInstance {
+ properties:
+ [id(DISPID_FUNCTION_LENGTH)]
+ VARIANT length;
+ methods:
+ [id(DISPID_FUNCTION_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_FUNCTION_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_FUNCTION_VALUEOF)]
+ FunctionInstance *valueOf();
+
+ [id(DISPID_FUNCTION_APPLY)]
+ VARIANT apply(
+ VARIANT thisValue,
+ VARIANT argArray);
+
+ [id(DISPID_FUNCTION_CALL)]
+ VARIANT call(VARIANT thisValue);
+
+ [id(DISPID_FUNCTION_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_FUNCTION_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_FUNCTION_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b094)
+ ]
+ dispinterface StringInstance {
+ properties:
+ [id(DISPID_STRING_LENGTH)]
+ VARIANT length;
+ methods:
+ [id(DISPID_STRING_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_STRING_VALUEOF)]
+ StringInstance *valueOf();
+
+ [id(DISPID_STRING_ANCHOR)]
+ StringInstance *anchor(VARIANT anchorString);
+
+ [id(DISPID_STRING_BIG)]
+ StringInstance *big();
+
+ [id(DISPID_STRING_BLINK)]
+ StringInstance *blink();
+
+ [id(DISPID_STRING_BOLD)]
+ StringInstance *bold();
+
+ [id(DISPID_STRING_CHARAT)]
+ StringInstance *charAt(VARIANT index);
+
+ [id(DISPID_STRING_CHARCODEAT)]
+ VARIANT charCodeAt(VARIANT index);
+
+ [id(DISPID_STRING_CONCAT)]
+ StringInstance *concat(VARIANT String);
+
+ [id(DISPID_STRING_FIXED)]
+ StringInstance *fixed();
+
+ [id(DISPID_STRING_FONTCOLOR)]
+ StringInstance *fontcolor(VARIANT colorval);
+
+ [id(DISPID_STRING_FONTSIZE)]
+ StringInstance *fontsize(VARIANT size);
+
+ [id(DISPID_STRING_INDEXOF)]
+ VARIANT indexOf(
+ VARIANT substring,
+ VARIANT startindex);
+
+ [id(DISPID_STRING_ITALICS)]
+ StringInstance *italics();
+
+ [id(DISPID_STRING_LASTINDEXOF)]
+ VARIANT lastIndexOf(
+ VARIANT substring,
+ VARIANT startindex);
+
+ [id(DISPID_STRING_LINK)]
+ StringInstance *link(VARIANT linkstring);
+
+ [id(DISPID_STRING_MATCH)]
+ VARIANT match(VARIANT RegExp);
+
+ [id(DISPID_STRING_REPLACE)]
+ StringInstance *replace(
+ VARIANT RegExp,
+ VARIANT replacetext);
+
+ [id(DISPID_STRING_SEARCH)]
+ VARIANT search(VARIANT RegExp);
+
+ [id(DISPID_STRING_SLICE)]
+ StringInstance *slice(
+ VARIANT start,
+ VARIANT end);
+
+ [id(DISPID_STRING_SMALL)]
+ StringInstance *_small(); /* FIXME */
+
+ [id(DISPID_STRING_SPLIT)]
+ ArrayInstance *split(VARIANT RegExp);
+
+ [id(DISPID_STRING_STRIKE)]
+ StringInstance *strike();
+
+ [id(DISPID_STRING_SUB)]
+ StringInstance *sub();
+
+ [id(DISPID_STRING_SUBSTRING)]
+ StringInstance *substring(
+ VARIANT start,
+ VARIANT end);
+
+ [id(DISPID_STRING_SUBSTR)]
+ StringInstance *substr(
+ VARIANT start,
+ VARIANT length);
+
+ [id(DISPID_STRING_SUP)]
+ StringInstance *sup();
+
+ [id(DISPID_STRING_TOLOWERCASE)]
+ StringInstance *toLowerCase();
+
+ [id(DISPID_STRING_TOUPPERCASE)]
+ StringInstance *toUpperCase();
+
+ [id(DISPID_STRING_TOLOCLOWERCASE)]
+ StringInstance *toLocaleLowerCase();
+
+ [id(DISPID_STRING_TOLOCUPPERCASE)]
+ StringInstance *toLocaleUpperCase();
+
+ [id(DISPID_STRING_LOCCOMPARE)]
+ VARIANT localeCompare(VARIANT that);
+
+ [id(DISPID_STRING_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_STRING_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_STRING_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b095)
+ ]
+ dispinterface BoolInstance {
+ properties:
+ methods:
+ [id(DISPID_BOOL_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_BOOL_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_BOOL_VALUEOF)]
+ VARIANT valueOf();
+
+ [id(DISPID_BOOL_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_BOOL_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_BOOL_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b096)
+ ]
+ dispinterface NumberInstance {
+ properties:
+ methods:
+ [id(DISPID_NUMBER_TOSTRING)]
+ StringInstance *toString(VARIANT radix);
+
+ [id(DISPID_NUMBER_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_NUMBER_TOFIXED)]
+ StringInstance *toFixed(VARIANT fractionDigits);
+
+ [id(DISPID_NUMBER_TOEXPONENTIAL)]
+ StringInstance *toExponential(VARIANT fractionDigits);
+
+ [id(DISPID_NUMBER_TOPRECISION)]
+ StringInstance *toPrecision(VARIANT precision);
+
+ [id(DISPID_NUMBER_VALUEOF)]
+ VARIANT valueOf();
+
+ [id(DISPID_NUMBER_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_NUMBER_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_NUMBER_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b097)
+ ]
+ dispinterface ObjectInstance {
+ properties:
+ methods:
+ [id(DISPID_OBJECT_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_OBJECT_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_OBJECT_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_OBJECT_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_OBJECT_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+
+ [id(DISPID_OBJECT_VALUEOF)]
+ ObjectInstance *valueOf();
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b098)
+ ]
+ dispinterface DateInstance {
+ properties:
+ methods:
+ [id(DISPID_DATE_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_DATE_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_DATE_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_DATE_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_DATE_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+
+ [id(DISPID_DATE_VALUEOF)]
+ DateInstance *valueOf();
+
+ [id(DISPID_DATE_TOUTCSTRING)]
+ StringInstance *toUTCString();
+
+ [id(DISPID_DATE_TODATESTRING)]
+ StringInstance *toDateString();
+
+ [id(DISPID_DATE_TOTIMESTRING)]
+ StringInstance *toTimeString();
+
+ [id(DISPID_DATE_TOLOCDATESTRING)]
+ StringInstance *toLocaleDateString();
+
+ [id(DISPID_DATE_TOLOCTIMESTRING)]
+ StringInstance *toLocaleTimeString();
+
+ [id(DISPID_DATE_GETTIME)]
+ VARIANT getTime();
+
+ [id(DISPID_DATE_GETFULLYEAR)]
+ VARIANT getFullYear();
+
+ [id(DISPID_DATE_GETUTCFULLYEAR)]
+ VARIANT getUTCFullYear();
+
+ [id(DISPID_DATE_GETMONTH)]
+ VARIANT getMonth();
+
+ [id(DISPID_DATE_GETUTCMONTH)]
+ VARIANT getUTCMonth();
+
+ [id(DISPID_DATE_GETDATE)]
+ VARIANT getDate();
+
+ [id(DISPID_DATE_GETUTCDATE)]
+ VARIANT getUTCDate();
+
+ [id(DISPID_DATE_GETDAY)]
+ VARIANT getDay();
+
+ [id(DISPID_DATE_GETUTCDAY)]
+ VARIANT getUTCDay();
+
+ [id(DISPID_DATE_GETHOURS)]
+ VARIANT getHours();
+
+ [id(DISPID_DATE_GETUTCHOURS)]
+ VARIANT getUTCHours();
+
+ [id(DISPID_DATE_GETMINUTES)]
+ VARIANT getMinutes();
+
+ [id(DISPID_DATE_GETUTCMINUTES)]
+ VARIANT getUTCMinutes();
+
+ [id(DISPID_DATE_GETSECONDS)]
+ VARIANT getSeconds();
+
+ [id(DISPID_DATE_GETUTCSECONDS)]
+ VARIANT getUTCSeconds();
+
+ [id(DISPID_DATE_GETMILLISECONDS)]
+ VARIANT getMilliseconds();
+
+ [id(DISPID_DATE_GETUTCMILLISECONDS)]
+ VARIANT getUTCMilliseconds();
+
+ [id(DISPID_DATE_GETTIMEZONEOFFSET)]
+ VARIANT getTimezoneOffset();
+
+ [id(DISPID_DATE_SETTIME)]
+ DateInstance *setTime(VARIANT time);
+
+ [id(DISPID_DATE_SETMILLISECONDS)]
+ DateInstance *setMilliseconds(VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETUTCMILLISECONDS)]
+ DateInstance *setUTCMilliseconds(VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETSECONDS)]
+ DateInstance *setSeconds(
+ VARIANT seconds,
+ [optional] VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETUTCSECONDS)]
+ DateInstance *setUTCSeconds(
+ VARIANT seconds,
+ [optional] VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETMINUTES)]
+ DateInstance *setMinutes(
+ VARIANT minutes,
+ [optional] VARIANT seconds,
+ [optional] VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETUTCMINUTES)]
+ DateInstance *setUTCMinutes(
+ VARIANT minutes,
+ [optional] VARIANT seconds,
+ [optional] VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETHOURS)]
+ DateInstance *setHours(
+ VARIANT hours,
+ [optional] VARIANT minutes,
+ [optional] VARIANT seconds,
+ [optional] VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETUTCHOURS)]
+ DateInstance *setUTCHours(
+ VARIANT hours,
+ [optional] VARIANT minutes,
+ [optional] VARIANT seconds,
+ [optional] VARIANT milliseconds);
+
+ [id(DISPID_DATE_SETDATE)]
+ DateInstance *setDate(VARIANT Date);
+
+ [id(DISPID_DATE_SETUTCDATE)]
+ DateInstance *setUTCDate(VARIANT Date);
+
+ [id(DISPID_DATE_SETMONTH)]
+ DateInstance *setMonth(
+ VARIANT month,
+ [optional] VARIANT Date);
+
+ [id(DISPID_DATE_SETUTCMONTH)]
+ DateInstance *setUTCMonth(
+ VARIANT month,
+ [optional] VARIANT Date);
+
+ [id(DISPID_DATE_SETFULLYEAR)]
+ DateInstance *setFullYear(
+ VARIANT year,
+ [optional] VARIANT month,
+ [optional] VARIANT Date);
+
+ [id(DISPID_DATE_SETUTCFULLYEAR)]
+ DateInstance *setUTCFullYear(
+ VARIANT year,
+ [optional] VARIANT month,
+ [optional] VARIANT Date);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04Fc2b099)
+ ]
+ dispinterface RegExpInstance {
+ properties:
+ [id(DISPID_REGEXP_SOURCE)]
+ StringInstance *source;
+
+ [id(DISPID_REGEXP_GLOBAL)]
+ VARIANT global;
+
+ [id(DISPID_REGEXP_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_REGEXP_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_REGEXP_LASTINDEX)]
+ VARIANT lastIndex;
+ methods:
+ [id(DISPID_REGEXP_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_REGEXP_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_REGEXP_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_REGEXP_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_REGEXP_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+
+ [id(DISPID_REGEXP_EXEC)]
+ ArrayInstance *exec(VARIANT String);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09a)
+ ]
+ dispinterface ErrorInstance {
+ properties:
+ [id(DISPID_ERROR_NAME)]
+ StringInstance *name;
+
+ [id(DISPID_ERROR_MESSAGE)]
+ StringInstance *message;
+
+ [id(DISPID_ERROR_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_ERROR_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_ERROR_LASTINDEX)]
+ VARIANT lastIndex;
+
+ methods:
+ [id(DISPID_ERROR_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ERROR_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ERROR_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ERROR_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ERROR_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09b)
+ ]
+ dispinterface EvalErrorInstance {
+ properties:
+ [id(DISPID_ERROR_NAME)]
+ StringInstance *name;
+
+ [id(DISPID_ERROR_MESSAGE)]
+ StringInstance *message;
+
+ [id(DISPID_ERROR_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_ERROR_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_ERROR_LASTINDEX)]
+ VARIANT lastIndex;
+
+ methods:
+ [id(DISPID_ERROR_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ERROR_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ERROR_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ERROR_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ERROR_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09c)
+ ]
+ dispinterface RangeErrorInstance {
+ properties:
+ [id(DISPID_ERROR_NAME)]
+ StringInstance *name;
+
+ [id(DISPID_ERROR_MESSAGE)]
+ StringInstance *message;
+
+ [id(DISPID_ERROR_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_ERROR_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_ERROR_LASTINDEX)]
+ VARIANT lastIndex;
+
+ methods:
+ [id(DISPID_ERROR_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ERROR_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ERROR_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ERROR_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ERROR_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09d)
+ ]
+ dispinterface ReferenceErrorInstance {
+ properties:
+ [id(DISPID_ERROR_NAME)]
+ StringInstance *name;
+
+ [id(DISPID_ERROR_MESSAGE)]
+ StringInstance *message;
+
+ [id(DISPID_ERROR_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_ERROR_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_ERROR_LASTINDEX)]
+ VARIANT lastIndex;
+
+ methods:
+ [id(DISPID_ERROR_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ERROR_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ERROR_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ERROR_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ERROR_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09e)
+ ]
+ dispinterface SyntaxErrorInstance {
+ properties:
+ [id(DISPID_ERROR_NAME)]
+ StringInstance *name;
+
+ [id(DISPID_ERROR_MESSAGE)]
+ StringInstance *message;
+
+ [id(DISPID_ERROR_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_ERROR_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_ERROR_LASTINDEX)]
+ VARIANT lastIndex;
+
+ methods:
+ [id(DISPID_ERROR_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ERROR_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ERROR_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ERROR_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ERROR_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09f)
+ ]
+ dispinterface TypeErrorInstance {
+ properties:
+ [id(DISPID_ERROR_NAME)]
+ StringInstance *name;
+
+ [id(DISPID_ERROR_MESSAGE)]
+ StringInstance *message;
+
+ [id(DISPID_ERROR_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_ERROR_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_ERROR_LASTINDEX)]
+ VARIANT lastIndex;
+
+ methods:
+ [id(DISPID_ERROR_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ERROR_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ERROR_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ERROR_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ERROR_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+
+ [
+ uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b0a0)
+ ]
+ dispinterface URIErrorInstance {
+ properties:
+ [id(DISPID_ERROR_NAME)]
+ StringInstance *name;
+
+ [id(DISPID_ERROR_MESSAGE)]
+ StringInstance *message;
+
+ [id(DISPID_ERROR_IGNORECASE)]
+ VARIANT ignoreCase;
+
+ [id(DISPID_ERROR_MULTILINE)]
+ VARIANT multiline;
+
+ [id(DISPID_ERROR_LASTINDEX)]
+ VARIANT lastIndex;
+
+ methods:
+ [id(DISPID_ERROR_TOSTRING)]
+ StringInstance *toString();
+
+ [id(DISPID_ERROR_TOLOCSTRING)]
+ StringInstance *toLocaleString();
+
+ [id(DISPID_ERROR_HASOWNPROP)]
+ VARIANT hasOwnProperty(VARIANT propertyName);
+
+ [id(DISPID_ERROR_PROPISENUM)]
+ VARIANT propertyIsEnumerable(VARIANT propertyName);
+
+ [id(DISPID_ERROR_ISPROTOF)]
+ VARIANT isPrototypeOf(VARIANT obj);
+ }
+}
diff --git a/dlls/jscript/jsglobal_dispid.h b/dlls/jscript/jsglobal_dispid.h
new file mode 100644
index 0000000..3922622
--- /dev/null
+++ b/dlls/jscript/jsglobal_dispid.h
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2008 Jacek Caban for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* GlobalObj */
+#define DISPID_GLOBAL_NAN 0x0000
+#define DISPID_GLOBAL_INFINITY 0x0001
+#define DISPID_GLOBAL_ARRAY 0x0002
+#define DISPID_GLOBAL_BOOLEAN 0x0003
+#define DISPID_GLOBAL_DATE 0x0004
+#define DISPID_GLOBAL_FUNCTION 0x0005
+#define DISPID_GLOBAL_NUMBER 0x0006
+#define DISPID_GLOBAL_OBJECT 0x0007
+#define DISPID_GLOBAL_STRING 0x0008
+#define DISPID_GLOBAL_REGEXP 0x0009
+#define DISPID_GLOBAL_ACTIVEXOBJ 0x000a
+#define DISPID_GLOBAL_VBARRAY 0x000b
+#define DISPID_GLOBAL_ENUMERATOR 0x000c
+#define DISPID_GLOBAL_ESCAPE 0x000d
+#define DISPID_GLOBAL_EVAL 0x000e
+#define DISPID_GLOBAL_ISNAN 0x000f
+#define DISPID_GLOBAL_ISFINITE 0x0010
+#define DISPID_GLOBAL_PARSEINT 0x0011
+#define DISPID_GLOBAL_PARSEFLOAT 0x0012
+#define DISPID_GLOBAL_UNESCAPE 0x0013
+#define DISPID_GLOBAL_GETOBJECT 0x0014
+#define DISPID_GLOBAL_SCRIPTENGINE 0x0015
+#define DISPID_GLOBAL_MAJORVER 0x0016
+#define DISPID_GLOBAL_MINORVER 0x0017
+#define DISPID_GLOBAL_BUILDVER 0x0018
+#define DISPID_GLOBAL_COLLECT 0x0019
+#define DISPID_GLOBAL_MATH 0x001a
+
+
+/* DateObj */
+#define DISPID_DATEOBJ_PARSE 0x0064
+#define DISPID_DATEOBJ_UTC 0x0065
+
+
+/* MathObj */
+#define DISPID_MATHOBJ_E 0x00c8
+#define DISPID_MATHOBJ_LOG2E 0x00c9
+#define DISPID_MATHOBJ_LOG10E 0x00ca
+#define DISPID_MATHOBJ_LN2 0x00cb
+#define DISPID_MATHOBJ_LN10 0x00cc
+#define DISPID_MATHOBJ_PI 0x00cd
+#define DISPID_MATHOBJ_SQRT2 0x00ce
+#define DISPID_MATHOBJ_SQRT1_2 0x00cf
+#define DISPID_MATHOBJ_ABS 0x00d0
+#define DISPID_MATHOBJ_ACOS 0x00d1
+#define DISPID_MATHOBJ_ASIN 0x00d2
+#define DISPID_MATHOBJ_ATAN 0x00d3
+#define DISPID_MATHOBJ_ATAN2 0x00d4
+#define DISPID_MATHOBJ_CEIL 0x00d5
+#define DISPID_MATHOBJ_COS 0x00d6
+#define DISPID_MATHOBJ_EXP 0x00d7
+#define DISPID_MATHOBJ_FLOOR 0x00d8
+#define DISPID_MATHOBJ_LOG 0x00d9
+#define DISPID_MATHOBJ_MAX 0x00da
+#define DISPID_MATHOBJ_MIN 0x00db
+#define DISPID_MATHOBJ_POW 0x00dc
+#define DISPID_MATHOBJ_RANDOM 0x00dd
+#define DISPID_MATHOBJ_ROUND 0x00de
+#define DISPID_MATHOBJ_SIN 0x00df
+#define DISPID_MATHOBJ_SQRT 0x00e0
+#define DISPID_MATHOBJ_TAN 0x00e1
+
+
+/* NumberObj */
+#define DISPID_NUMBEROBJ_MAX_VALUE 0x012c
+#define DISPID_NUMBEROBJ_MIN_VALUE 0x012d
+#define DISPID_NUMBEROBJ_NAN 0x012e
+#define DISPID_NUMBEROBJ_NEGATIVE_INFINITY 0x012f
+#define DISPID_NUMBEROBJ_POSITIVE_INFINITY 0x0130
+
+
+/* RegExpObj */
+#define DISPID_REGEXPOBJ_INDEX 0x0190
+#define DISPID_REGEXPOBJ_INPUT 0x0191
+#define DISPID_REGEXPOBJ_LASTINDEX 0x0192
+
+
+/* StringObj */
+#define DISPID_STRINGOBJ_FROMCHARCODE 0x01f4
+
+
+/* ArrayInstance */
+#define DISPID_ARRAY_LENGTH 0x0258
+#define DISPID_ARRAY_CONCAT 0x0259
+#define DISPID_ARRAY_JOIN 0x025a
+#define DISPID_ARRAY_POP 0x025b
+#define DISPID_ARRAY_PUSH 0x025c
+#define DISPID_ARRAY_REVERSE 0x025d
+#define DISPID_ARRAY_SHIFT 0x025e
+#define DISPID_ARRAY_SLICE 0x025f
+#define DISPID_ARRAY_SORT 0x0260
+#define DISPID_ARRAY_SPLICE 0x0261
+#define DISPID_ARRAY_TOSTRING 0x0262
+#define DISPID_ARRAY_TOLOCSTRING 0x0263
+#define DISPID_ARRAY_VALUEOF 0x0264
+#define DISPID_ARRAY_UNSHIFT 0x0265
+#define DISPID_ARRAY_HASOWNPROP 0x0266
+#define DISPID_ARRAY_PROPISENUM 0x0267
+#define DISPID_ARRAY_ISPROTOF 0x0268
+
+
+/* FunctionInstance */
+#define DISPID_FUNCTION_LENGTH 0x02bc
+#define DISPID_FUNCTION_TOSTRING 0x02bd
+#define DISPID_FUNCTION_TOLOCSTRING 0x02be
+#define DISPID_FUNCTION_VALUEOF 0x02bf
+#define DISPID_FUNCTION_APPLY 0x02c0
+#define DISPID_FUNCTION_CALL 0x02c1
+#define DISPID_FUNCTION_HASOWNPROP 0x02c2
+#define DISPID_FUNCTION_PROPISENUM 0x02c3
+#define DISPID_FUNCTION_ISPROTOF 0x02c4
+
+
+/* StringInstance */
+#define DISPID_STRING_LENGTH 0x0320
+#define DISPID_STRING_TOSTRING 0x0321
+#define DISPID_STRING_VALUEOF 0x0322
+#define DISPID_STRING_ANCHOR 0x0323
+#define DISPID_STRING_BIG 0x0324
+#define DISPID_STRING_BLINK 0x0325
+#define DISPID_STRING_BOLD 0x0326
+#define DISPID_STRING_CHARAT 0x0327
+#define DISPID_STRING_CHARCODEAT 0x0328
+#define DISPID_STRING_CONCAT 0x0329
+#define DISPID_STRING_FIXED 0x032a
+#define DISPID_STRING_FONTCOLOR 0x032b
+#define DISPID_STRING_FONTSIZE 0x032c
+#define DISPID_STRING_INDEXOF 0x032d
+#define DISPID_STRING_ITALICS 0x032e
+#define DISPID_STRING_LASTINDEXOF 0x032f
+#define DISPID_STRING_LINK 0x0330
+#define DISPID_STRING_MATCH 0x0331
+#define DISPID_STRING_REPLACE 0x0332
+#define DISPID_STRING_SEARCH 0x0333
+#define DISPID_STRING_SLICE 0x0334
+#define DISPID_STRING_SMALL 0x0335
+#define DISPID_STRING_SPLIT 0x0336
+#define DISPID_STRING_STRIKE 0x0337
+#define DISPID_STRING_SUB 0x0338
+#define DISPID_STRING_SUBSTRING 0x0339
+#define DISPID_STRING_SUBSTR 0x033a
+#define DISPID_STRING_SUP 0x033b
+#define DISPID_STRING_TOLOWERCASE 0x033c
+#define DISPID_STRING_TOUPPERCASE 0x033d
+#define DISPID_STRING_TOLOCLOWERCASE 0x033e
+#define DISPID_STRING_TOLOCUPPERCASE 0x033f
+#define DISPID_STRING_LOCCOMPARE 0x0340
+#define DISPID_STRING_HASOWNPROP 0x0341
+#define DISPID_STRING_PROPISENUM 0x0342
+#define DISPID_STRING_ISPROTOF 0x0343
+
+
+/* BoolInstance */
+#define DISPID_BOOL_TOSTRING 0x0384
+#define DISPID_BOOL_TOLOCSTRING 0x0385
+#define DISPID_BOOL_VALUEOF 0x0386
+#define DISPID_BOOL_HASOWNPROP 0x0387
+#define DISPID_BOOL_PROPISENUM 0x0388
+#define DISPID_BOOL_ISPROTOF 0x0389
+
+
+/* NumberInstance */
+#define DISPID_NUMBER_TOSTRING 0x03e8
+#define DISPID_NUMBER_TOLOCSTRING 0x03e9
+#define DISPID_NUMBER_TOFIXED 0x03ea
+#define DISPID_NUMBER_TOEXPONENTIAL 0x03eb
+#define DISPID_NUMBER_TOPRECISION 0x03ec
+#define DISPID_NUMBER_VALUEOF 0x03ed
+#define DISPID_NUMBER_HASOWNPROP 0x03ee
+#define DISPID_NUMBER_PROPISENUM 0x03ef
+#define DISPID_NUMBER_ISPROTOF 0x03f0
+
+
+/* ObjectInstance */
+#define DISPID_OBJECT_TOSTRING 0x044c
+#define DISPID_OBJECT_TOLOCSTRING 0x044d
+#define DISPID_OBJECT_HASOWNPROP 0x044e
+#define DISPID_OBJECT_PROPISENUM 0x044f
+#define DISPID_OBJECT_ISPROTOF 0x0450
+#define DISPID_OBJECT_VALUEOF 0x0451
+
+
+/* DateInstance */
+#define DISPID_DATE_TOSTRING 0x04b0
+#define DISPID_DATE_TOLOCSTRING 0x04b1
+#define DISPID_DATE_HASOWNPROP 0x04b2
+#define DISPID_DATE_PROPISENUM 0x04b3
+#define DISPID_DATE_ISPROTOF 0x04b4
+#define DISPID_DATE_VALUEOF 0x04b5
+#define DISPID_DATE_TOUTCSTRING 0x04b6
+#define DISPID_DATE_TODATESTRING 0x04b7
+#define DISPID_DATE_TOTIMESTRING 0x04b8
+#define DISPID_DATE_TOLOCDATESTRING 0x04b9
+#define DISPID_DATE_TOLOCTIMESTRING 0x04ba
+#define DISPID_DATE_GETTIME 0x04bb
+#define DISPID_DATE_GETFULLYEAR 0x04bc
+#define DISPID_DATE_GETUTCFULLYEAR 0x04bd
+#define DISPID_DATE_GETMONTH 0x04be
+#define DISPID_DATE_GETUTCMONTH 0x04bf
+#define DISPID_DATE_GETDATE 0x04c0
+#define DISPID_DATE_GETUTCDATE 0x04c1
+#define DISPID_DATE_GETDAY 0x04c2
+#define DISPID_DATE_GETUTCDAY 0x04c3
+#define DISPID_DATE_GETHOURS 0x04c4
+#define DISPID_DATE_GETUTCHOURS 0x04c5
+#define DISPID_DATE_GETMINUTES 0x04c6
+#define DISPID_DATE_GETUTCMINUTES 0x04c7
+#define DISPID_DATE_GETSECONDS 0x04c8
+#define DISPID_DATE_GETUTCSECONDS 0x04c9
+#define DISPID_DATE_GETMILLISECONDS 0x04ca
+#define DISPID_DATE_GETUTCMILLISECONDS 0x04cb
+#define DISPID_DATE_GETTIMEZONEOFFSET 0x04cc
+#define DISPID_DATE_SETTIME 0x04cd
+#define DISPID_DATE_SETMILLISECONDS 0x04ce
+#define DISPID_DATE_SETUTCMILLISECONDS 0x04cf
+#define DISPID_DATE_SETSECONDS 0x04d0
+#define DISPID_DATE_SETUTCSECONDS 0x04d1
+#define DISPID_DATE_SETMINUTES 0x04d2
+#define DISPID_DATE_SETUTCMINUTES 0x04d3
+#define DISPID_DATE_SETHOURS 0x04d4
+#define DISPID_DATE_SETUTCHOURS 0x04d5
+#define DISPID_DATE_SETDATE 0x04d6
+#define DISPID_DATE_SETUTCDATE 0x04d7
+#define DISPID_DATE_SETMONTH 0x04d8
+#define DISPID_DATE_SETUTCMONTH 0x04d9
+#define DISPID_DATE_SETFULLYEAR 0x04da
+#define DISPID_DATE_SETUTCFULLYEAR 0x04db
+
+
+/* RegExpInstance */
+#define DISPID_REGEXP_SOURCE 0x0514
+#define DISPID_REGEXP_GLOBAL 0x0515
+#define DISPID_REGEXP_IGNORECASE 0x0516
+#define DISPID_REGEXP_MULTILINE 0x0517
+#define DISPID_REGEXP_LASTINDEX 0x0518
+#define DISPID_REGEXP_TOSTRING 0x0519
+#define DISPID_REGEXP_TOLOCSTRING 0x051a
+#define DISPID_REGEXP_HASOWNPROP 0x051b
+#define DISPID_REGEXP_PROPISENUM 0x051c
+#define DISPID_REGEXP_ISPROTOF 0x051d
+#define DISPID_REGEXP_EXEC 0x051e
+
+
+/* ErrorInstance */
+#define DISPID_ERROR_NAME 0x0578
+#define DISPID_ERROR_MESSAGE 0x0579
+#define DISPID_ERROR_IGNORECASE 0x057a
+#define DISPID_ERROR_MULTILINE 0x057b
+#define DISPID_ERROR_LASTINDEX 0x057c
+#define DISPID_ERROR_TOSTRING 0x057d
+#define DISPID_ERROR_TOLOCSTRING 0x057e
+#define DISPID_ERROR_HASOWNPROP 0x057f
+#define DISPID_ERROR_PROPISENUM 0x0580
+#define DISPID_ERROR_ISPROTOF 0x0581
diff --git a/dlls/jscript/rsrc.rc b/dlls/jscript/rsrc.rc
index 7a08b79..cb0f31a 100644
--- a/dlls/jscript/rsrc.rc
+++ b/dlls/jscript/rsrc.rc
@@ -18,3 +18,6 @@
/* @makedep: jscript.inf */
REGINST REGINST jscript.inf
+
+/* @makedep: jsglobal.tlb */
+1 TYPELIB LOADONCALL DISCARDABLE jsglobal.tlb