1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
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