1<?xml version='1.0'?>
2<!DOCTYPE signatures SYSTEM "file://localhost/System/Library/DTDs/BridgeSupport.dtd">
3<signatures version='1.0'>
4  <depends_on path='/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation' />
5  <struct name='JSClassDefinition' type='{_JSClassDefinition="version"i"attributes"I"className"*"parentClass"^{OpaqueJSClass}"staticValues"^{?}"staticFunctions"^{?}"initialize"^?"finalize"^?"hasProperty"^?"getProperty"^?"setProperty"^?"deleteProperty"^?"getPropertyNames"^?"callAsFunction"^?"callAsConstructor"^?"hasInstance"^?"convertToType"^?}' type64='{_JSClassDefinition="version"i"attributes"I"className"*"parentClass"^{OpaqueJSClass}"staticValues"^{?}"staticFunctions"^{?}"initialize"^?"finalize"^?"hasProperty"^?"getProperty"^?"setProperty"^?"deleteProperty"^?"getPropertyNames"^?"callAsFunction"^?"callAsConstructor"^?"hasInstance"^?"convertToType"^?}' />
6  <struct name='JSStaticFunction' type='{_JSStaticFunction="name"*"callAsFunction"^?"attributes"I}' type64='{_JSStaticFunction="name"*"callAsFunction"^?"attributes"I}' />
7  <struct name='JSStaticValue' type='{_JSStaticValue="name"*"getProperty"^?"setProperty"^?"attributes"I}' type64='{_JSStaticValue="name"*"getProperty"^?"setProperty"^?"attributes"I}' />
8  <opaque name='JSClassRef' type='^{OpaqueJSClass=}' type64='^{OpaqueJSClass=}' />
9  <opaque name='JSContextRef' type='^{OpaqueJSContext=}' type64='^{OpaqueJSContext=}' />
10  <opaque name='JSGlobalContextRef' type='^{OpaqueJSContext=}' type64='^{OpaqueJSContext=}' />
11  <opaque name='JSObjectRef' type='^{OpaqueJSValue=}' type64='^{OpaqueJSValue=}' />
12  <opaque name='JSPropertyNameAccumulatorRef' type='^{OpaqueJSPropertyNameAccumulator=}' type64='^{OpaqueJSPropertyNameAccumulator=}' />
13  <opaque name='JSPropertyNameArrayRef' type='^{OpaqueJSPropertyNameArray=}' type64='^{OpaqueJSPropertyNameArray=}' />
14  <opaque name='JSStringRef' type='^{OpaqueJSString=}' type64='^{OpaqueJSString=}' />
15  <opaque name='JSValueRef' type='^{OpaqueJSValue=}' type64='^{OpaqueJSValue=}' />
16  <constant name='kJSClassDefinitionEmpty' type='{JSClassDefinition=iI*^{OpaqueJSClass}^{?}^{?}^?^?^?^?^?^?^?^?^?^?^?}' />
17  <enum name='kJSClassAttributeNoAutomaticPrototype' value='2' />
18  <enum name='kJSClassAttributeNone' value='0' />
19  <enum name='kJSPropertyAttributeDontDelete' value='8' />
20  <enum name='kJSPropertyAttributeDontEnum' value='4' />
21  <enum name='kJSPropertyAttributeNone' value='0' />
22  <enum name='kJSPropertyAttributeReadOnly' value='2' />
23  <enum name='kJSTypeBoolean' value='2' />
24  <enum name='kJSTypeNull' value='1' />
25  <enum name='kJSTypeNumber' value='3' />
26  <enum name='kJSTypeObject' value='5' />
27  <enum name='kJSTypeString' value='4' />
28  <enum name='kJSTypeUndefined' value='0' />
29  <function name='JSCheckScriptSyntax'>
30    <retval type='B' />
31    <arg type='^{OpaqueJSContext=}' />
32    <arg type='^{OpaqueJSString=}' />
33    <arg type='^{OpaqueJSString=}' />
34    <arg type='i' />
35    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
36  </function>
37  <function name='JSClassCreate'>
38    <retval type='^{OpaqueJSClass=}' />
39    <arg type='^{?=iI*^{OpaqueJSClass}^{?}^{?}^?^?^?^?^?^?^?^?^?^?^?}' type64='^{?=iI*^{OpaqueJSClass}^{?}^{?}^?^?^?^?^?^?^?^?^?^?^?}' />
40  </function>
41  <function name='JSClassRelease'>
42    <arg type='^{OpaqueJSClass=}' />
43  </function>
44  <function name='JSClassRetain'>
45    <retval type='^{OpaqueJSClass=}' />
46    <arg type='^{OpaqueJSClass=}' />
47  </function>
48  <function name='JSContextGetGlobalObject'>
49    <retval type='^{OpaqueJSValue=}' />
50    <arg type='^{OpaqueJSContext=}' />
51  </function>
52  <function name='JSEvaluateScript'>
53    <retval type='^{OpaqueJSValue=}' />
54    <arg type='^{OpaqueJSContext=}' />
55    <arg type='^{OpaqueJSString=}' />
56    <arg type='^{OpaqueJSValue=}' />
57    <arg type='^{OpaqueJSString=}' />
58    <arg type='i' />
59    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
60  </function>
61  <function name='JSGarbageCollect'>
62    <arg type='^{OpaqueJSContext=}' />
63  </function>
64  <function name='JSGlobalContextCreate'>
65    <retval type='^{OpaqueJSContext=}' />
66    <arg type='^{OpaqueJSClass=}' />
67  </function>
68  <function name='JSGlobalContextRelease'>
69    <arg type='^{OpaqueJSContext=}' />
70  </function>
71  <function name='JSGlobalContextRetain'>
72    <retval type='^{OpaqueJSContext=}' />
73    <arg type='^{OpaqueJSContext=}' />
74  </function>
75  <function name='JSObjectCallAsConstructor'>
76    <retval type='^{OpaqueJSValue=}' />
77    <arg type='^{OpaqueJSContext=}' />
78    <arg type='^{OpaqueJSValue=}' />
79    <arg type='L' type64='L' />
80    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
81    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
82  </function>
83  <function name='JSObjectCallAsFunction'>
84    <retval type='^{OpaqueJSValue=}' />
85    <arg type='^{OpaqueJSContext=}' />
86    <arg type='^{OpaqueJSValue=}' />
87    <arg type='^{OpaqueJSValue=}' />
88    <arg type='L' type64='L' />
89    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
90    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
91  </function>
92  <function name='JSObjectCopyPropertyNames'>
93    <retval type='^{OpaqueJSPropertyNameArray=}' />
94    <arg type='^{OpaqueJSContext=}' />
95    <arg type='^{OpaqueJSValue=}' />
96  </function>
97  <function name='JSObjectDeleteProperty'>
98    <retval type='B' />
99    <arg type='^{OpaqueJSContext=}' />
100    <arg type='^{OpaqueJSValue=}' />
101    <arg type='^{OpaqueJSString=}' />
102    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
103  </function>
104  <function name='JSObjectGetPrivate'>
105    <retval type='^v' type64='^v' />
106    <arg type='^{OpaqueJSValue=}' />
107  </function>
108  <function name='JSObjectGetProperty'>
109    <retval type='^{OpaqueJSValue=}' />
110    <arg type='^{OpaqueJSContext=}' />
111    <arg type='^{OpaqueJSValue=}' />
112    <arg type='^{OpaqueJSString=}' />
113    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
114  </function>
115  <function name='JSObjectGetPropertyAtIndex'>
116    <retval type='^{OpaqueJSValue=}' />
117    <arg type='^{OpaqueJSContext=}' />
118    <arg type='^{OpaqueJSValue=}' />
119    <arg type='I' />
120    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
121  </function>
122  <function name='JSObjectGetPrototype'>
123    <retval type='^{OpaqueJSValue=}' />
124    <arg type='^{OpaqueJSContext=}' />
125    <arg type='^{OpaqueJSValue=}' />
126  </function>
127  <function name='JSObjectHasProperty'>
128    <retval type='B' />
129    <arg type='^{OpaqueJSContext=}' />
130    <arg type='^{OpaqueJSValue=}' />
131    <arg type='^{OpaqueJSString=}' />
132  </function>
133  <function name='JSObjectIsConstructor'>
134    <retval type='B' />
135    <arg type='^{OpaqueJSContext=}' />
136    <arg type='^{OpaqueJSValue=}' />
137  </function>
138  <function name='JSObjectIsFunction'>
139    <retval type='B' />
140    <arg type='^{OpaqueJSContext=}' />
141    <arg type='^{OpaqueJSValue=}' />
142  </function>
143  <function name='JSObjectMake'>
144    <retval type='^{OpaqueJSValue=}' />
145    <arg type='^{OpaqueJSContext=}' />
146    <arg type='^{OpaqueJSClass=}' />
147    <arg type='^v' type64='^v' />
148  </function>
149  <function name='JSObjectMakeConstructor'>
150    <retval type='^{OpaqueJSValue=}' />
151    <arg type='^{OpaqueJSContext=}' />
152    <arg type='^{OpaqueJSClass=}' />
153    <arg type='^?' type64='^?' />
154  </function>
155  <function name='JSObjectMakeFunction'>
156    <retval type='^{OpaqueJSValue=}' />
157    <arg type='^{OpaqueJSContext=}' />
158    <arg type='^{OpaqueJSString=}' />
159    <arg type='I' />
160    <arg type='^r^{OpaqueJSString}' type64='^r^{OpaqueJSString}' />
161    <arg type='^{OpaqueJSString=}' />
162    <arg type='^{OpaqueJSString=}' />
163    <arg type='i' />
164    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
165  </function>
166  <function name='JSObjectMakeFunctionWithCallback'>
167    <retval type='^{OpaqueJSValue=}' />
168    <arg type='^{OpaqueJSContext=}' />
169    <arg type='^{OpaqueJSString=}' />
170    <arg type='^?' type64='^?' />
171  </function>
172  <function name='JSObjectSetPrivate'>
173    <retval type='B' />
174    <arg type='^{OpaqueJSValue=}' />
175    <arg type='^v' type64='^v' />
176  </function>
177  <function name='JSObjectSetProperty'>
178    <arg type='^{OpaqueJSContext=}' />
179    <arg type='^{OpaqueJSValue=}' />
180    <arg type='^{OpaqueJSString=}' />
181    <arg type='^{OpaqueJSValue=}' />
182    <arg type='I' />
183    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
184  </function>
185  <function name='JSObjectSetPropertyAtIndex'>
186    <arg type='^{OpaqueJSContext=}' />
187    <arg type='^{OpaqueJSValue=}' />
188    <arg type='I' />
189    <arg type='^{OpaqueJSValue=}' />
190    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
191  </function>
192  <function name='JSObjectSetPrototype'>
193    <arg type='^{OpaqueJSContext=}' />
194    <arg type='^{OpaqueJSValue=}' />
195    <arg type='^{OpaqueJSValue=}' />
196  </function>
197  <function name='JSPropertyNameAccumulatorAddName'>
198    <arg type='^{OpaqueJSPropertyNameAccumulator=}' />
199    <arg type='^{OpaqueJSString=}' />
200  </function>
201  <function name='JSPropertyNameArrayGetCount'>
202    <retval type='L' type64='Q' />
203    <arg type='^{OpaqueJSPropertyNameArray=}' />
204  </function>
205  <function name='JSPropertyNameArrayGetNameAtIndex'>
206    <retval type='^{OpaqueJSString=}' />
207    <arg type='^{OpaqueJSPropertyNameArray=}' />
208    <arg type='L' type64='L' />
209  </function>
210  <function name='JSPropertyNameArrayRelease'>
211    <arg type='^{OpaqueJSPropertyNameArray=}' />
212  </function>
213  <function name='JSPropertyNameArrayRetain'>
214    <retval type='^{OpaqueJSPropertyNameArray=}' />
215    <arg type='^{OpaqueJSPropertyNameArray=}' />
216  </function>
217  <function name='JSStringCopyCFString'>
218    <retval already_cfretained='true' type='^{__CFString=}' />
219    <arg type='^{__CFAllocator=}' />
220    <arg type='^{OpaqueJSString=}' />
221  </function>
222  <function name='JSStringCreateWithCFString'>
223    <retval type='^{OpaqueJSString=}' />
224    <arg type='^{__CFString=}' />
225  </function>
226  <function name='JSStringCreateWithCharacters'>
227    <retval type='^{OpaqueJSString=}' />
228    <arg type='^S' type64='^S' />
229    <arg type='L' type64='L' />
230  </function>
231  <function name='JSStringCreateWithUTF8CString'>
232    <retval type='^{OpaqueJSString=}' />
233    <arg numeric='false' type='*' type64='*' />
234  </function>
235  <function name='JSStringGetCharactersPtr'>
236    <retval type='^S' type64='^S' />
237    <arg type='^{OpaqueJSString=}' />
238  </function>
239  <function name='JSStringGetLength'>
240    <retval type='L' type64='Q' />
241    <arg type='^{OpaqueJSString=}' />
242  </function>
243  <function name='JSStringGetMaximumUTF8CStringSize'>
244    <retval type='L' type64='Q' />
245    <arg type='^{OpaqueJSString=}' />
246  </function>
247  <function name='JSStringGetUTF8CString'>
248    <retval type='L' type64='Q' />
249    <arg type='^{OpaqueJSString=}' />
250    <arg index='1' type='t' type64='t' c_array_length_in_arg='2' c_array_length_in_retval='true' type_modifier='o' />
251    <arg type='L' type64='L' />
252  </function>
253  <function name='JSStringIsEqual'>
254    <retval type='B' />
255    <arg type='^{OpaqueJSString=}' />
256    <arg type='^{OpaqueJSString=}' />
257  </function>
258  <function name='JSStringIsEqualToUTF8CString'>
259    <retval type='B' />
260    <arg type='^{OpaqueJSString=}' />
261    <arg numeric='false' type='*' type64='*' />
262  </function>
263  <function name='JSStringRelease'>
264    <arg type='^{OpaqueJSString=}' />
265  </function>
266  <function name='JSStringRetain'>
267    <retval type='^{OpaqueJSString=}' />
268    <arg type='^{OpaqueJSString=}' />
269  </function>
270  <function name='JSValueGetType'>
271    <retval type='i' />
272    <arg type='^{OpaqueJSContext=}' />
273    <arg type='^{OpaqueJSValue=}' />
274  </function>
275  <function name='JSValueIsBoolean'>
276    <retval type='B' />
277    <arg type='^{OpaqueJSContext=}' />
278    <arg type='^{OpaqueJSValue=}' />
279  </function>
280  <function name='JSValueIsEqual'>
281    <retval type='B' />
282    <arg type='^{OpaqueJSContext=}' />
283    <arg type='^{OpaqueJSValue=}' />
284    <arg type='^{OpaqueJSValue=}' />
285    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
286  </function>
287  <function name='JSValueIsInstanceOfConstructor'>
288    <retval type='B' />
289    <arg type='^{OpaqueJSContext=}' />
290    <arg type='^{OpaqueJSValue=}' />
291    <arg type='^{OpaqueJSValue=}' />
292    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
293  </function>
294  <function name='JSValueIsNull'>
295    <retval type='B' />
296    <arg type='^{OpaqueJSContext=}' />
297    <arg type='^{OpaqueJSValue=}' />
298  </function>
299  <function name='JSValueIsNumber'>
300    <retval type='B' />
301    <arg type='^{OpaqueJSContext=}' />
302    <arg type='^{OpaqueJSValue=}' />
303  </function>
304  <function name='JSValueIsObject'>
305    <retval type='B' />
306    <arg type='^{OpaqueJSContext=}' />
307    <arg type='^{OpaqueJSValue=}' />
308  </function>
309  <function name='JSValueIsObjectOfClass'>
310    <retval type='B' />
311    <arg type='^{OpaqueJSContext=}' />
312    <arg type='^{OpaqueJSValue=}' />
313    <arg type='^{OpaqueJSClass=}' />
314  </function>
315  <function name='JSValueIsStrictEqual'>
316    <retval type='B' />
317    <arg type='^{OpaqueJSContext=}' />
318    <arg type='^{OpaqueJSValue=}' />
319    <arg type='^{OpaqueJSValue=}' />
320  </function>
321  <function name='JSValueIsString'>
322    <retval type='B' />
323    <arg type='^{OpaqueJSContext=}' />
324    <arg type='^{OpaqueJSValue=}' />
325  </function>
326  <function name='JSValueIsUndefined'>
327    <retval type='B' />
328    <arg type='^{OpaqueJSContext=}' />
329    <arg type='^{OpaqueJSValue=}' />
330  </function>
331  <function name='JSValueMakeBoolean'>
332    <retval type='^{OpaqueJSValue=}' />
333    <arg type='^{OpaqueJSContext=}' />
334    <arg type='B' />
335  </function>
336  <function name='JSValueMakeNull'>
337    <retval type='^{OpaqueJSValue=}' />
338    <arg type='^{OpaqueJSContext=}' />
339  </function>
340  <function name='JSValueMakeNumber'>
341    <retval type='^{OpaqueJSValue=}' />
342    <arg type='^{OpaqueJSContext=}' />
343    <arg type='d' />
344  </function>
345  <function name='JSValueMakeString'>
346    <retval type='^{OpaqueJSValue=}' />
347    <arg type='^{OpaqueJSContext=}' />
348    <arg type='^{OpaqueJSString=}' />
349  </function>
350  <function name='JSValueMakeUndefined'>
351    <retval type='^{OpaqueJSValue=}' />
352    <arg type='^{OpaqueJSContext=}' />
353  </function>
354  <function name='JSValueProtect'>
355    <arg type='^{OpaqueJSContext=}' />
356    <arg type='^{OpaqueJSValue=}' />
357  </function>
358  <function name='JSValueToBoolean'>
359    <retval type='B' />
360    <arg type='^{OpaqueJSContext=}' />
361    <arg type='^{OpaqueJSValue=}' />
362  </function>
363  <function name='JSValueToNumber'>
364    <retval type='d' />
365    <arg type='^{OpaqueJSContext=}' />
366    <arg type='^{OpaqueJSValue=}' />
367    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
368  </function>
369  <function name='JSValueToObject'>
370    <retval type='^{OpaqueJSValue=}' />
371    <arg type='^{OpaqueJSContext=}' />
372    <arg type='^{OpaqueJSValue=}' />
373    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
374  </function>
375  <function name='JSValueToStringCopy'>
376    <retval type='^{OpaqueJSString=}' />
377    <arg type='^{OpaqueJSContext=}' />
378    <arg type='^{OpaqueJSValue=}' />
379    <arg type='^^{OpaqueJSValue}' type64='^^{OpaqueJSValue}' />
380  </function>
381  <function name='JSValueUnprotect'>
382    <arg type='^{OpaqueJSContext=}' />
383    <arg type='^{OpaqueJSValue=}' />
384  </function>
385</signatures>
386
387