Change the translation of the "Help" menu item to "?", so that the menu can be displa...
[reactos.git] / rosapps / smartpdf / fitz / apps / mozilla / npupp.h
1 /* -*- Mode: C; tab-width: 4; -*- */
2 /*
3 * npupp.h $Revision: 1.41 $
4 * function call mecahnics needed by platform specific glue code.
5 */
6
7
8 #ifndef _NPUPP_H_
9 #define _NPUPP_H_
10
11 #ifndef GENERATINGCFM
12 #define GENERATINGCFM 0
13 #endif
14
15 #ifndef _NPAPI_H_
16 #include "npapi.h"
17 #endif
18
19 #include "jri.h"
20
21 /******************************************************************************************
22 plug-in function table macros
23 for each function in and out of the plugin API we define
24 typedef NPP_FooUPP
25 #define NewNPP_FooProc
26 #define CallNPP_FooProc
27 for mac, define the UPP magic for PPC/68K calling
28 *******************************************************************************************/
29
30
31 /* NPP_Initialize */
32
33 #if GENERATINGCFM
34 typedef UniversalProcPtr NPP_InitializeUPP;
35
36 enum {
37 uppNPP_InitializeProcInfo = kThinkCStackBased
38 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
39 | RESULT_SIZE(SIZE_CODE(0))
40 };
41
42 #define NewNPP_InitializeProc(FUNC) \
43 (NPP_InitializeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_InitializeProcInfo, GetCurrentArchitecture())
44 #define CallNPP_InitializeProc(FUNC) \
45 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_InitializeProcInfo)
46
47 #else
48
49 typedef void (*NPP_InitializeUPP)(void);
50 #define NewNPP_InitializeProc(FUNC) \
51 ((NPP_InitializeUPP) (FUNC))
52 #define CallNPP_InitializeProc(FUNC) \
53 (*(FUNC))()
54
55 #endif
56
57
58 /* NPP_Shutdown */
59
60 #if GENERATINGCFM
61 typedef UniversalProcPtr NPP_ShutdownUPP;
62
63 enum {
64 uppNPP_ShutdownProcInfo = kThinkCStackBased
65 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
66 | RESULT_SIZE(SIZE_CODE(0))
67 };
68
69 #define NewNPP_ShutdownProc(FUNC) \
70 (NPP_ShutdownUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_ShutdownProcInfo, GetCurrentArchitecture())
71 #define CallNPP_ShutdownProc(FUNC) \
72 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_ShutdownProcInfo)
73
74 #else
75
76 typedef void (*NPP_ShutdownUPP)(void);
77 #define NewNPP_ShutdownProc(FUNC) \
78 ((NPP_ShutdownUPP) (FUNC))
79 #define CallNPP_ShutdownProc(FUNC) \
80 (*(FUNC))()
81
82 #endif
83
84
85 /* NPP_New */
86
87 #if GENERATINGCFM
88 typedef UniversalProcPtr NPP_NewUPP;
89
90 enum {
91 uppNPP_NewProcInfo = kThinkCStackBased
92 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPMIMEType)))
93 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPP)))
94 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(uint16)))
95 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int16)))
96 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(char **)))
97 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(char **)))
98 | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(NPSavedData *)))
99 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
100 };
101
102 #define NewNPP_NewProc(FUNC) \
103 (NPP_NewUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewProcInfo, GetCurrentArchitecture())
104 #define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
105 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewProcInfo, \
106 (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
107 #else
108
109 typedef NPError (*NPP_NewUPP)(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved);
110 #define NewNPP_NewProc(FUNC) \
111 ((NPP_NewUPP) (FUNC))
112 #define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
113 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
114
115 #endif
116
117
118 /* NPP_Destroy */
119
120 #if GENERATINGCFM
121
122 typedef UniversalProcPtr NPP_DestroyUPP;
123 enum {
124 uppNPP_DestroyProcInfo = kThinkCStackBased
125 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
126 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPSavedData **)))
127 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
128 };
129 #define NewNPP_DestroyProc(FUNC) \
130 (NPP_DestroyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyProcInfo, GetCurrentArchitecture())
131 #define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
132 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyProcInfo, (ARG1), (ARG2))
133 #else
134
135 typedef NPError (*NPP_DestroyUPP)(NPP instance, NPSavedData** save);
136 #define NewNPP_DestroyProc(FUNC) \
137 ((NPP_DestroyUPP) (FUNC))
138 #define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
139 (*(FUNC))((ARG1), (ARG2))
140
141 #endif
142
143
144 /* NPP_SetWindow */
145
146 #if GENERATINGCFM
147
148 typedef UniversalProcPtr NPP_SetWindowUPP;
149 enum {
150 uppNPP_SetWindowProcInfo = kThinkCStackBased
151 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
152 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPWindow *)))
153 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
154 };
155 #define NewNPP_SetWindowProc(FUNC) \
156 (NPP_SetWindowUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_SetWindowProcInfo, GetCurrentArchitecture())
157 #define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
158 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_SetWindowProcInfo, (ARG1), (ARG2))
159
160 #else
161
162 typedef NPError (*NPP_SetWindowUPP)(NPP instance, NPWindow* window);
163 #define NewNPP_SetWindowProc(FUNC) \
164 ((NPP_SetWindowUPP) (FUNC))
165 #define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
166 (*(FUNC))((ARG1), (ARG2))
167
168 #endif
169
170
171 /* NPP_NewStream */
172
173 #if GENERATINGCFM
174
175 typedef UniversalProcPtr NPP_NewStreamUPP;
176 enum {
177 uppNPP_NewStreamProcInfo = kThinkCStackBased
178 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
179 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType)))
180 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPStream *)))
181 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPBool)))
182 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(uint16 *)))
183 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
184 };
185 #define NewNPP_NewStreamProc(FUNC) \
186 (NPP_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewStreamProcInfo, GetCurrentArchitecture())
187 #define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
188 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewStreamProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
189 #else
190
191 typedef NPError (*NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype);
192 #define NewNPP_NewStreamProc(FUNC) \
193 ((NPP_NewStreamUPP) (FUNC))
194 #define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
195 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
196 #endif
197
198
199 /* NPP_DestroyStream */
200
201 #if GENERATINGCFM
202
203 typedef UniversalProcPtr NPP_DestroyStreamUPP;
204 enum {
205 uppNPP_DestroyStreamProcInfo = kThinkCStackBased
206 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
207 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
208 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
209 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
210 };
211 #define NewNPP_DestroyStreamProc(FUNC) \
212 (NPP_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, GetCurrentArchitecture())
213 #define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
214 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, (NPParg), (NPStreamPtr), (NPReasonArg))
215
216 #else
217
218 typedef NPError (*NPP_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
219 #define NewNPP_DestroyStreamProc(FUNC) \
220 ((NPP_DestroyStreamUPP) (FUNC))
221 #define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
222 (*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg))
223
224 #endif
225
226
227 /* NPP_WriteReady */
228
229 #if GENERATINGCFM
230
231 typedef UniversalProcPtr NPP_WriteReadyUPP;
232 enum {
233 uppNPP_WriteReadyProcInfo = kThinkCStackBased
234 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
235 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
236 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
237 };
238 #define NewNPP_WriteReadyProc(FUNC) \
239 (NPP_WriteReadyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, GetCurrentArchitecture())
240 #define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
241 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, (NPParg), (NPStreamPtr))
242
243 #else
244
245 typedef int32 (*NPP_WriteReadyUPP)(NPP instance, NPStream* stream);
246 #define NewNPP_WriteReadyProc(FUNC) \
247 ((NPP_WriteReadyUPP) (FUNC))
248 #define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
249 (*(FUNC))((NPParg), (NPStreamPtr))
250
251 #endif
252
253
254 /* NPP_Write */
255
256 #if GENERATINGCFM
257
258 typedef UniversalProcPtr NPP_WriteUPP;
259 enum {
260 uppNPP_WriteProcInfo = kThinkCStackBased
261 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
262 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
263 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32)))
264 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int32)))
265 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(void*)))
266 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
267 };
268 #define NewNPP_WriteProc(FUNC) \
269 (NPP_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteProcInfo, GetCurrentArchitecture())
270 #define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
271 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteProcInfo, (NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
272
273 #else
274
275 typedef int32 (*NPP_WriteUPP)(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer);
276 #define NewNPP_WriteProc(FUNC) \
277 ((NPP_WriteUPP) (FUNC))
278 #define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
279 (*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
280
281 #endif
282
283
284 /* NPP_StreamAsFile */
285
286 #if GENERATINGCFM
287
288 typedef UniversalProcPtr NPP_StreamAsFileUPP;
289 enum {
290 uppNPP_StreamAsFileProcInfo = kThinkCStackBased
291 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
292 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
293 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *)))
294 | RESULT_SIZE(SIZE_CODE(0))
295 };
296 #define NewNPP_StreamAsFileProc(FUNC) \
297 (NPP_StreamAsFileUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, GetCurrentArchitecture())
298 #define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
299 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, (ARG1), (ARG2), (ARG3))
300
301 #else
302
303 typedef void (*NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, const char* fname);
304 #define NewNPP_StreamAsFileProc(FUNC) \
305 ((NPP_StreamAsFileUPP) (FUNC))
306 #define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
307 (*(FUNC))((ARG1), (ARG2), (ARG3))
308 #endif
309
310
311 /* NPP_Print */
312
313 #if GENERATINGCFM
314
315 typedef UniversalProcPtr NPP_PrintUPP;
316 enum {
317 uppNPP_PrintProcInfo = kThinkCStackBased
318 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
319 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPrint *)))
320 | RESULT_SIZE(SIZE_CODE(0))
321 };
322 #define NewNPP_PrintProc(FUNC) \
323 (NPP_PrintUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_PrintProcInfo, GetCurrentArchitecture())
324 #define CallNPP_PrintProc(FUNC, NPParg, voidPtr) \
325 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_PrintProcInfo, (NPParg), (voidPtr))
326
327 #else
328
329 typedef void (*NPP_PrintUPP)(NPP instance, NPPrint* platformPrint);
330 #define NewNPP_PrintProc(FUNC) \
331 ((NPP_PrintUPP) (FUNC))
332 #define CallNPP_PrintProc(FUNC, NPParg, NPPrintArg) \
333 (*(FUNC))((NPParg), (NPPrintArg))
334
335 #endif
336
337
338 /* NPP_HandleEvent */
339
340 #if GENERATINGCFM
341
342 typedef UniversalProcPtr NPP_HandleEventUPP;
343 enum {
344 uppNPP_HandleEventProcInfo = kThinkCStackBased
345 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
346 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void *)))
347 | RESULT_SIZE(SIZE_CODE(sizeof(int16)))
348 };
349 #define NewNPP_HandleEventProc(FUNC) \
350 (NPP_HandleEventUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_HandleEventProcInfo, GetCurrentArchitecture())
351 #define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
352 (int16)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_HandleEventProcInfo, (NPParg), (voidPtr))
353
354 #else
355
356 typedef int16 (*NPP_HandleEventUPP)(NPP instance, void* event);
357 #define NewNPP_HandleEventProc(FUNC) \
358 ((NPP_HandleEventUPP) (FUNC))
359 #define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
360 (*(FUNC))((NPParg), (voidPtr))
361
362 #endif
363
364
365 /* NPP_URLNotify */
366
367 #if GENERATINGCFM
368
369 typedef UniversalProcPtr NPP_URLNotifyUPP;
370 enum {
371 uppNPP_URLNotifyProcInfo = kThinkCStackBased
372 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
373 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
374 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
375 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
376 | RESULT_SIZE(SIZE_CODE(SIZE_CODE(0)))
377 };
378 #define NewNPP_URLNotifyProc(FUNC) \
379 (NPP_URLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, GetCurrentArchitecture())
380 #define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
381 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
382
383 #else
384
385 typedef void (*NPP_URLNotifyUPP)(NPP instance, const char* url, NPReason reason, void* notifyData);
386 #define NewNPP_URLNotifyProc(FUNC) \
387 ((NPP_URLNotifyUPP) (FUNC))
388 #define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
389 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
390
391 #endif
392
393
394 /* NPP_GetValue */
395
396 #if GENERATINGCFM
397
398 typedef UniversalProcPtr NPP_GetValueUPP;
399 enum {
400 uppNPP_GetValueProcInfo = kThinkCStackBased
401 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
402 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPVariable)))
403 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
404 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
405 };
406 #define NewNPP_GetValueProc(FUNC) \
407 (NPP_GetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_GetValueProcInfo, GetCurrentArchitecture())
408 #define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
409 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_GetValueProcInfo, (ARG1), (ARG2), (ARG3))
410 #else
411
412 typedef NPError (*NPP_GetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
413 #define NewNPP_GetValueProc(FUNC) \
414 ((NPP_GetValueUPP) (FUNC))
415 #define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
416 (*(FUNC))((ARG1), (ARG2), (ARG3))
417 #endif
418
419
420 /* NPP_SetValue */
421
422 #if GENERATINGCFM
423
424 typedef UniversalProcPtr NPP_SetValueUPP;
425 enum {
426 uppNPP_SetValueProcInfo = kThinkCStackBased
427 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
428 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPNVariable)))
429 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
430 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
431 };
432 #define NewNPP_SetValueProc(FUNC) \
433 (NPP_SetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_SetValueProcInfo, GetCurrentArchitecture())
434 #define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
435 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_SetValueProcInfo, (ARG1), (ARG2), (ARG3))
436 #else
437
438 typedef NPError (*NPP_SetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
439 #define NewNPP_SetValueProc(FUNC) \
440 ((NPP_SetValueUPP) (FUNC))
441 #define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
442 (*(FUNC))((ARG1), (ARG2), (ARG3))
443 #endif
444
445
446
447
448 /*
449 * Netscape entry points
450 */
451
452
453 /* NPN_GetValue */
454
455 #if GENERATINGCFM
456
457 typedef UniversalProcPtr NPN_GetValueUPP;
458 enum {
459 uppNPN_GetValueProcInfo = kThinkCStackBased
460 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
461 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPNVariable)))
462 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
463 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
464 };
465 #define NewNPN_GetValueProc(FUNC) \
466 (NPN_GetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetValueProcInfo, GetCurrentArchitecture())
467 #define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
468 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetValueProcInfo, (ARG1), (ARG2), (ARG3))
469 #else
470
471 typedef NPError (*NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
472 #define NewNPN_GetValueProc(FUNC) \
473 ((NPN_GetValueUPP) (FUNC))
474 #define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
475 (*(FUNC))((ARG1), (ARG2), (ARG3))
476 #endif
477
478
479 /* NPN_SetValue */
480
481 #if GENERATINGCFM
482
483 typedef UniversalProcPtr NPN_SetValueUPP;
484 enum {
485 uppNPN_SetValueProcInfo = kThinkCStackBased
486 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
487 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPVariable)))
488 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
489 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
490 };
491 #define NewNPN_SetValueProc(FUNC) \
492 (NPN_SetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_SetValueProcInfo, GetCurrentArchitecture())
493 #define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
494 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_SetValueProcInfo, (ARG1), (ARG2), (ARG3))
495 #else
496
497 typedef NPError (*NPN_SetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
498 #define NewNPN_SetValueProc(FUNC) \
499 ((NPN_SetValueUPP) (FUNC))
500 #define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
501 (*(FUNC))((ARG1), (ARG2), (ARG3))
502 #endif
503
504
505 /* NPN_GetUrlNotify */
506
507 #if GENERATINGCFM
508
509 typedef UniversalProcPtr NPN_GetURLNotifyUPP;
510 enum {
511 uppNPN_GetURLNotifyProcInfo = kThinkCStackBased
512 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
513 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
514 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
515 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
516 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
517 };
518 #define NewNPN_GetURLNotifyProc(FUNC) \
519 (NPN_GetURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, GetCurrentArchitecture())
520 #define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
521 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
522 #else
523
524 typedef NPError (*NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData);
525 #define NewNPN_GetURLNotifyProc(FUNC) \
526 ((NPN_GetURLNotifyUPP) (FUNC))
527 #define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
528 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
529 #endif
530
531
532 /* NPN_PostUrlNotify */
533
534 #if GENERATINGCFM
535
536 typedef UniversalProcPtr NPN_PostURLNotifyUPP;
537 enum {
538 uppNPN_PostURLNotifyProcInfo = kThinkCStackBased
539 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
540 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
541 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
542 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32)))
543 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*)))
544 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool)))
545 | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(void*)))
546 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
547 };
548 #define NewNPN_PostURLNotifyProc(FUNC) \
549 (NPN_PostURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, GetCurrentArchitecture())
550 #define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
551 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
552 #else
553
554 typedef NPError (*NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData);
555 #define NewNPN_PostURLNotifyProc(FUNC) \
556 ((NPN_PostURLNotifyUPP) (FUNC))
557 #define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
558 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
559 #endif
560
561
562 /* NPN_GetUrl */
563
564 #if GENERATINGCFM
565
566 typedef UniversalProcPtr NPN_GetURLUPP;
567 enum {
568 uppNPN_GetURLProcInfo = kThinkCStackBased
569 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
570 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
571 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
572 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
573 };
574 #define NewNPN_GetURLProc(FUNC) \
575 (NPN_GetURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLProcInfo, GetCurrentArchitecture())
576 #define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
577 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLProcInfo, (ARG1), (ARG2), (ARG3))
578 #else
579
580 typedef NPError (*NPN_GetURLUPP)(NPP instance, const char* url, const char* window);
581 #define NewNPN_GetURLProc(FUNC) \
582 ((NPN_GetURLUPP) (FUNC))
583 #define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
584 (*(FUNC))((ARG1), (ARG2), (ARG3))
585 #endif
586
587
588 /* NPN_PostUrl */
589
590 #if GENERATINGCFM
591
592 typedef UniversalProcPtr NPN_PostURLUPP;
593 enum {
594 uppNPN_PostURLProcInfo = kThinkCStackBased
595 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
596 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
597 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
598 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32)))
599 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*)))
600 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool)))
601 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
602 };
603 #define NewNPN_PostURLProc(FUNC) \
604 (NPN_PostURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLProcInfo, GetCurrentArchitecture())
605 #define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
606 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
607 #else
608
609 typedef NPError (*NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file);
610 #define NewNPN_PostURLProc(FUNC) \
611 ((NPN_PostURLUPP) (FUNC))
612 #define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
613 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
614 #endif
615
616
617 /* NPN_RequestRead */
618
619 #if GENERATINGCFM
620
621 typedef UniversalProcPtr NPN_RequestReadUPP;
622 enum {
623 uppNPN_RequestReadProcInfo = kThinkCStackBased
624 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPStream *)))
625 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPByteRange *)))
626 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
627 };
628 #define NewNPN_RequestReadProc(FUNC) \
629 (NPN_RequestReadUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_RequestReadProcInfo, GetCurrentArchitecture())
630 #define CallNPN_RequestReadProc(FUNC, stream, range) \
631 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_RequestReadProcInfo, (stream), (range))
632
633 #else
634
635 typedef NPError (*NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList);
636 #define NewNPN_RequestReadProc(FUNC) \
637 ((NPN_RequestReadUPP) (FUNC))
638 #define CallNPN_RequestReadProc(FUNC, stream, range) \
639 (*(FUNC))((stream), (range))
640
641 #endif
642
643
644 /* NPN_NewStream */
645
646 #if GENERATINGCFM
647
648 typedef UniversalProcPtr NPN_NewStreamUPP;
649 enum {
650 uppNPN_NewStreamProcInfo = kThinkCStackBased
651 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
652 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType)))
653 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *)))
654 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPStream **)))
655 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
656 };
657 #define NewNPN_NewStreamProc(FUNC) \
658 (NPN_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_NewStreamProcInfo, GetCurrentArchitecture())
659 #define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
660 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_NewStreamProcInfo, (npp), (type), (window), (stream))
661
662 #else
663
664 typedef NPError (*NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
665 #define NewNPN_NewStreamProc(FUNC) \
666 ((NPN_NewStreamUPP) (FUNC))
667 #define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
668 (*(FUNC))((npp), (type), (window), (stream))
669
670 #endif
671
672
673 /* NPN_Write */
674
675 #if GENERATINGCFM
676
677 typedef UniversalProcPtr NPN_WriteUPP;
678 enum {
679 uppNPN_WriteProcInfo = kThinkCStackBased
680 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
681 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
682 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32)))
683 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
684 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
685 };
686 #define NewNPN_WriteProc(FUNC) \
687 (NPN_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_WriteProcInfo, GetCurrentArchitecture())
688 #define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
689 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_WriteProcInfo, (npp), (stream), (len), (buffer))
690
691 #else
692
693 typedef int32 (*NPN_WriteUPP)(NPP instance, NPStream* stream, int32 len, void* buffer);
694 #define NewNPN_WriteProc(FUNC) \
695 ((NPN_WriteUPP) (FUNC))
696 #define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
697 (*(FUNC))((npp), (stream), (len), (buffer))
698
699 #endif
700
701
702 /* NPN_DestroyStream */
703
704 #if GENERATINGCFM
705
706 typedef UniversalProcPtr NPN_DestroyStreamUPP;
707 enum {
708 uppNPN_DestroyStreamProcInfo = kThinkCStackBased
709 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP )))
710 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
711 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
712 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
713 };
714 #define NewNPN_DestroyStreamProc(FUNC) \
715 (NPN_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, GetCurrentArchitecture())
716 #define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
717 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, (npp), (stream), (reason))
718
719 #else
720
721 typedef NPError (*NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
722 #define NewNPN_DestroyStreamProc(FUNC) \
723 ((NPN_DestroyStreamUPP) (FUNC))
724 #define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
725 (*(FUNC))((npp), (stream), (reason))
726
727 #endif
728
729
730 /* NPN_Status */
731
732 #if GENERATINGCFM
733
734 typedef UniversalProcPtr NPN_StatusUPP;
735 enum {
736 uppNPN_StatusProcInfo = kThinkCStackBased
737 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
738 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char *)))
739 };
740
741 #define NewNPN_StatusProc(FUNC) \
742 (NPN_StatusUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_StatusProcInfo, GetCurrentArchitecture())
743 #define CallNPN_StatusProc(FUNC, npp, msg) \
744 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_StatusProcInfo, (npp), (msg))
745
746 #else
747
748 typedef void (*NPN_StatusUPP)(NPP instance, const char* message);
749 #define NewNPN_StatusProc(FUNC) \
750 ((NPN_StatusUPP) (FUNC))
751 #define CallNPN_StatusProc(FUNC, npp, msg) \
752 (*(FUNC))((npp), (msg))
753
754 #endif
755
756
757 /* NPN_UserAgent */
758 #if GENERATINGCFM
759
760 typedef UniversalProcPtr NPN_UserAgentUPP;
761 enum {
762 uppNPN_UserAgentProcInfo = kThinkCStackBased
763 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
764 | RESULT_SIZE(SIZE_CODE(sizeof(const char *)))
765 };
766
767 #define NewNPN_UserAgentProc(FUNC) \
768 (NPN_UserAgentUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_UserAgentProcInfo, GetCurrentArchitecture())
769 #define CallNPN_UserAgentProc(FUNC, ARG1) \
770 (const char*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_UserAgentProcInfo, (ARG1))
771
772 #else
773
774 typedef const char* (*NPN_UserAgentUPP)(NPP instance);
775 #define NewNPN_UserAgentProc(FUNC) \
776 ((NPN_UserAgentUPP) (FUNC))
777 #define CallNPN_UserAgentProc(FUNC, ARG1) \
778 (*(FUNC))((ARG1))
779
780 #endif
781
782
783 /* NPN_MemAlloc */
784 #if GENERATINGCFM
785
786 typedef UniversalProcPtr NPN_MemAllocUPP;
787 enum {
788 uppNPN_MemAllocProcInfo = kThinkCStackBased
789 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32)))
790 | RESULT_SIZE(SIZE_CODE(sizeof(void *)))
791 };
792
793 #define NewNPN_MemAllocProc(FUNC) \
794 (NPN_MemAllocUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemAllocProcInfo, GetCurrentArchitecture())
795 #define CallNPN_MemAllocProc(FUNC, ARG1) \
796 (void*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemAllocProcInfo, (ARG1))
797
798 #else
799
800 typedef void* (*NPN_MemAllocUPP)(uint32 size);
801 #define NewNPN_MemAllocProc(FUNC) \
802 ((NPN_MemAllocUPP) (FUNC))
803 #define CallNPN_MemAllocProc(FUNC, ARG1) \
804 (*(FUNC))((ARG1))
805
806 #endif
807
808
809 /* NPN__MemFree */
810
811 #if GENERATINGCFM
812
813 typedef UniversalProcPtr NPN_MemFreeUPP;
814 enum {
815 uppNPN_MemFreeProcInfo = kThinkCStackBased
816 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void *)))
817 };
818
819 #define NewNPN_MemFreeProc(FUNC) \
820 (NPN_MemFreeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFreeProcInfo, GetCurrentArchitecture())
821 #define CallNPN_MemFreeProc(FUNC, ARG1) \
822 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFreeProcInfo, (ARG1))
823
824 #else
825
826 typedef void (*NPN_MemFreeUPP)(void* ptr);
827 #define NewNPN_MemFreeProc(FUNC) \
828 ((NPN_MemFreeUPP) (FUNC))
829 #define CallNPN_MemFreeProc(FUNC, ARG1) \
830 (*(FUNC))((ARG1))
831
832 #endif
833
834
835 /* NPN_MemFlush */
836
837 #if GENERATINGCFM
838
839 typedef UniversalProcPtr NPN_MemFlushUPP;
840 enum {
841 uppNPN_MemFlushProcInfo = kThinkCStackBased
842 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32)))
843 | RESULT_SIZE(SIZE_CODE(sizeof(uint32)))
844 };
845
846 #define NewNPN_MemFlushProc(FUNC) \
847 (NPN_MemFlushUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFlushProcInfo, GetCurrentArchitecture())
848 #define CallNPN_MemFlushProc(FUNC, ARG1) \
849 (uint32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFlushProcInfo, (ARG1))
850
851 #else
852
853 typedef uint32 (*NPN_MemFlushUPP)(uint32 size);
854 #define NewNPN_MemFlushProc(FUNC) \
855 ((NPN_MemFlushUPP) (FUNC))
856 #define CallNPN_MemFlushProc(FUNC, ARG1) \
857 (*(FUNC))((ARG1))
858
859 #endif
860
861
862
863 /* NPN_ReloadPlugins */
864
865 #if GENERATINGCFM
866
867 typedef UniversalProcPtr NPN_ReloadPluginsUPP;
868 enum {
869 uppNPN_ReloadPluginsProcInfo = kThinkCStackBased
870 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPBool)))
871 | RESULT_SIZE(SIZE_CODE(0))
872 };
873
874 #define NewNPN_ReloadPluginsProc(FUNC) \
875 (NPN_ReloadPluginsUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, GetCurrentArchitecture())
876 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
877 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, (ARG1))
878
879 #else
880
881 typedef void (*NPN_ReloadPluginsUPP)(NPBool reloadPages);
882 #define NewNPN_ReloadPluginsProc(FUNC) \
883 ((NPN_ReloadPluginsUPP) (FUNC))
884 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
885 (*(FUNC))((ARG1))
886
887 #endif
888
889
890 /* NPN_GetJavaEnv */
891
892 #if GENERATINGCFM
893
894 typedef UniversalProcPtr NPN_GetJavaEnvUPP;
895 enum {
896 uppNPN_GetJavaEnvProcInfo = kThinkCStackBased
897 | RESULT_SIZE(SIZE_CODE(sizeof(JRIEnv*)))
898 };
899
900 #define NewNPN_GetJavaEnvProc(FUNC) \
901 (NPN_GetJavaEnvUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo, GetCurrentArchitecture())
902 #define CallNPN_GetJavaEnvProc(FUNC) \
903 (JRIEnv*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo)
904
905 #else
906
907 typedef JRIEnv* (*NPN_GetJavaEnvUPP)(void);
908 #define NewNPN_GetJavaEnvProc(FUNC) \
909 ((NPN_GetJavaEnvUPP) (FUNC))
910 #define CallNPN_GetJavaEnvProc(FUNC) \
911 (*(FUNC))()
912
913 #endif
914
915
916 /* NPN_GetJavaPeer */
917
918 #if GENERATINGCFM
919
920 typedef UniversalProcPtr NPN_GetJavaPeerUPP;
921 enum {
922 uppNPN_GetJavaPeerProcInfo = kThinkCStackBased
923 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
924 | RESULT_SIZE(SIZE_CODE(sizeof(jref)))
925 };
926
927 #define NewNPN_GetJavaPeerProc(FUNC) \
928 (NPN_GetJavaPeerUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, GetCurrentArchitecture())
929 #define CallNPN_GetJavaPeerProc(FUNC, ARG1) \
930 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, (ARG1))
931
932 #else
933
934 typedef jref (*NPN_GetJavaPeerUPP)(NPP instance);
935 #define NewNPN_GetJavaPeerProc(FUNC) \
936 ((NPN_GetJavaPeerUPP) (FUNC))
937 #define CallNPN_GetJavaPeerProc(FUNC, ARG1) \
938 (*(FUNC))((ARG1))
939
940 #endif
941
942
943 /* NPN_InvalidateRect */
944
945 #if GENERATINGCFM
946
947 typedef UniversalProcPtr NPN_InvalidateRectUPP;
948 enum {
949 uppNPN_InvalidateRectProcInfo = kThinkCStackBased
950 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
951 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPRect *)))
952 | RESULT_SIZE(SIZE_CODE(0))
953 };
954
955 #define NewNPN_InvalidateRectProc(FUNC) \
956 (NPN_InvalidateRectUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvalidateRectProcInfo, GetCurrentArchitecture())
957 #define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \
958 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvalidateRectProcInfo, (ARG1), (ARG2))
959
960 #else
961
962 typedef void (*NPN_InvalidateRectUPP)(NPP instance, NPRect *rect);
963 #define NewNPN_InvalidateRectProc(FUNC) \
964 ((NPN_InvalidateRectUPP) (FUNC))
965 #define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \
966 (*(FUNC))((ARG1), (ARG2))
967
968 #endif
969
970
971 /* NPN_InvalidateRegion */
972
973 #if GENERATINGCFM
974
975 typedef UniversalProcPtr NPN_InvalidateRegionUPP;
976 enum {
977 uppNPN_InvalidateRegionProcInfo = kThinkCStackBased
978 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
979 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPRegion)))
980 | RESULT_SIZE(SIZE_CODE(0))
981 };
982
983 #define NewNPN_InvalidateRegionProc(FUNC) \
984 (NPN_InvalidateRegionUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvalidateRegionProcInfo, GetCurrentArchitecture())
985 #define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \
986 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvalidateRegionProcInfo, (ARG1), (ARG2))
987
988 #else
989
990 typedef void (*NPN_InvalidateRegionUPP)(NPP instance, NPRegion region);
991 #define NewNPN_InvalidateRegionProc(FUNC) \
992 ((NPN_InvalidateRegionUPP) (FUNC))
993 #define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \
994 (*(FUNC))((ARG1), (ARG2))
995
996 #endif
997
998 /* NPN_ForceRedraw */
999
1000 #if GENERATINGCFM
1001
1002 typedef UniversalProcPtr NPN_ForceRedrawUPP;
1003 enum {
1004 uppNPN_ForceRedrawProcInfo = kThinkCStackBased
1005 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
1006 | RESULT_SIZE(SIZE_CODE(sizeof(0)))
1007 };
1008
1009 #define NewNPN_ForceRedrawProc(FUNC) \
1010 (NPN_ForceRedrawUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ForceRedrawProcInfo, GetCurrentArchitecture())
1011 #define CallNPN_ForceRedrawProc(FUNC, ARG1) \
1012 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ForceRedrawProcInfo, (ARG1))
1013
1014 #else
1015
1016 typedef void (*NPN_ForceRedrawUPP)(NPP instance);
1017 #define NewNPN_ForceRedrawProc(FUNC) \
1018 ((NPN_ForceRedrawUPP) (FUNC))
1019 #define CallNPN_ForceRedrawProc(FUNC, ARG1) \
1020 (*(FUNC))((ARG1))
1021
1022 #endif
1023
1024
1025 /******************************************************************************************
1026 * The actual plugin function table definitions
1027 *******************************************************************************************/
1028
1029 #ifdef XP_MAC
1030 #pragma align=mac68k
1031 #endif
1032
1033 typedef struct _NPPluginFuncs {
1034 uint16 size;
1035 uint16 version;
1036 NPP_NewUPP newp;
1037 NPP_DestroyUPP destroy;
1038 NPP_SetWindowUPP setwindow;
1039 NPP_NewStreamUPP newstream;
1040 NPP_DestroyStreamUPP destroystream;
1041 NPP_StreamAsFileUPP asfile;
1042 NPP_WriteReadyUPP writeready;
1043 NPP_WriteUPP write;
1044 NPP_PrintUPP print;
1045 NPP_HandleEventUPP event;
1046 NPP_URLNotifyUPP urlnotify;
1047 JRIGlobalRef javaClass;
1048 NPP_GetValueUPP getvalue;
1049 NPP_SetValueUPP setvalue;
1050 } NPPluginFuncs;
1051
1052 typedef struct _NPNetscapeFuncs {
1053 uint16 size;
1054 uint16 version;
1055 NPN_GetURLUPP geturl;
1056 NPN_PostURLUPP posturl;
1057 NPN_RequestReadUPP requestread;
1058 NPN_NewStreamUPP newstream;
1059 NPN_WriteUPP write;
1060 NPN_DestroyStreamUPP destroystream;
1061 NPN_StatusUPP status;
1062 NPN_UserAgentUPP uagent;
1063 NPN_MemAllocUPP memalloc;
1064 NPN_MemFreeUPP memfree;
1065 NPN_MemFlushUPP memflush;
1066 NPN_ReloadPluginsUPP reloadplugins;
1067 NPN_GetJavaEnvUPP getJavaEnv;
1068 NPN_GetJavaPeerUPP getJavaPeer;
1069 NPN_GetURLNotifyUPP geturlnotify;
1070 NPN_PostURLNotifyUPP posturlnotify;
1071 NPN_GetValueUPP getvalue;
1072 NPN_SetValueUPP setvalue;
1073 NPN_InvalidateRectUPP invalidaterect;
1074 NPN_InvalidateRegionUPP invalidateregion;
1075 NPN_ForceRedrawUPP forceredraw;
1076 } NPNetscapeFuncs;
1077
1078 #ifdef XP_MAC
1079 #pragma align=reset
1080 #endif
1081
1082
1083 #ifdef XP_MAC
1084 /******************************************************************************************
1085 * Mac platform-specific plugin glue stuff
1086 *******************************************************************************************/
1087
1088 /*
1089 * Main entry point of the plugin.
1090 * This routine will be called when the plugin is loaded. The function
1091 * tables are passed in and the plugin fills in the NPPluginFuncs table
1092 * and NPPShutdownUPP for Netscape's use.
1093 */
1094
1095 #if GENERATINGCFM
1096
1097 typedef UniversalProcPtr NPP_MainEntryUPP;
1098 enum {
1099 uppNPP_MainEntryProcInfo = kThinkCStackBased
1100 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPNetscapeFuncs*)))
1101 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPluginFuncs*)))
1102 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPP_ShutdownUPP*)))
1103 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
1104 };
1105 #define NewNPP_MainEntryProc(FUNC) \
1106 (NPP_MainEntryUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_MainEntryProcInfo, GetCurrentArchitecture())
1107 #define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
1108 CallUniversalProc((UniversalProcPtr)(FUNC), (ProcInfoType)uppNPP_MainEntryProcInfo, (netscapeFunc), (pluginFunc), (shutdownUPP))
1109
1110 #else
1111
1112 typedef NPError (*NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*);
1113 #define NewNPP_MainEntryProc(FUNC) \
1114 ((NPP_MainEntryUPP) (FUNC))
1115 #define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
1116 (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP))
1117
1118 #endif
1119 #endif /* MAC */
1120
1121
1122 #ifdef _WINDOWS
1123
1124 #ifdef __cplusplus
1125 extern "C" {
1126 #endif
1127
1128 /* plugin meta member functions */
1129
1130 NPError WINAPI NP_GetEntryPoints(NPPluginFuncs* pFuncs);
1131
1132 NPError WINAPI NP_Initialize(NPNetscapeFuncs* pFuncs);
1133
1134 NPError WINAPI NP_Shutdown();
1135
1136 #ifdef __cplusplus
1137 }
1138 #endif
1139
1140 #endif /* _WINDOWS */
1141
1142 #ifdef XP_UNIX
1143
1144 #ifdef __cplusplus
1145 extern "C" {
1146 #endif
1147
1148 /* plugin meta member functions */
1149
1150 char* NP_GetMIMEDescription(void);
1151 NPError NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*);
1152 NPError NP_Shutdown(void);
1153
1154 #ifdef __cplusplus
1155 }
1156 #endif
1157
1158 #endif /* XP_UNIX */
1159
1160 #endif /* _NPUPP_H_ */