1 /* -*- Mode: C; tab-width: 4; -*- */
3 * npupp.h $Revision: 1.41 $
4 * function call mecahnics needed by platform specific glue code.
12 #define GENERATINGCFM 0
21 /******************************************************************************************
22 plug-in function table macros
23 for each function in and out of the plugin API we define
25 #define NewNPP_FooProc
26 #define CallNPP_FooProc
27 for mac, define the UPP magic for PPC/68K calling
28 *******************************************************************************************/
34 typedef UniversalProcPtr NPP_InitializeUPP
;
37 uppNPP_InitializeProcInfo
= kThinkCStackBased
38 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
39 | RESULT_SIZE(SIZE_CODE(0))
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)
49 typedef void (*NPP_InitializeUPP
)(void);
50 #define NewNPP_InitializeProc(FUNC) \
51 ((NPP_InitializeUPP) (FUNC))
52 #define CallNPP_InitializeProc(FUNC) \
61 typedef UniversalProcPtr NPP_ShutdownUPP
;
64 uppNPP_ShutdownProcInfo
= kThinkCStackBased
65 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
66 | RESULT_SIZE(SIZE_CODE(0))
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)
76 typedef void (*NPP_ShutdownUPP
)(void);
77 #define NewNPP_ShutdownProc(FUNC) \
78 ((NPP_ShutdownUPP) (FUNC))
79 #define CallNPP_ShutdownProc(FUNC) \
88 typedef UniversalProcPtr NPP_NewUPP
;
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
)))
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))
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))
122 typedef UniversalProcPtr NPP_DestroyUPP
;
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
)))
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))
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))
148 typedef UniversalProcPtr NPP_SetWindowUPP
;
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
)))
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))
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))
175 typedef UniversalProcPtr NPP_NewStreamUPP
;
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
)))
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))
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))
199 /* NPP_DestroyStream */
203 typedef UniversalProcPtr NPP_DestroyStreamUPP
;
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
)))
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))
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))
231 typedef UniversalProcPtr NPP_WriteReadyUPP
;
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
)))
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))
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))
258 typedef UniversalProcPtr NPP_WriteUPP
;
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
)))
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))
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))
284 /* NPP_StreamAsFile */
288 typedef UniversalProcPtr NPP_StreamAsFileUPP
;
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))
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))
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))
315 typedef UniversalProcPtr NPP_PrintUPP
;
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))
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))
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))
338 /* NPP_HandleEvent */
342 typedef UniversalProcPtr NPP_HandleEventUPP
;
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
)))
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))
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))
369 typedef UniversalProcPtr NPP_URLNotifyUPP
;
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)))
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))
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))
398 typedef UniversalProcPtr NPP_GetValueUPP
;
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
)))
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))
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))
424 typedef UniversalProcPtr NPP_SetValueUPP
;
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
)))
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))
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))
449 * Netscape entry points
457 typedef UniversalProcPtr NPN_GetValueUPP
;
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
)))
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))
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))
483 typedef UniversalProcPtr NPN_SetValueUPP
;
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
)))
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))
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))
505 /* NPN_GetUrlNotify */
509 typedef UniversalProcPtr NPN_GetURLNotifyUPP
;
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
)))
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))
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))
532 /* NPN_PostUrlNotify */
536 typedef UniversalProcPtr NPN_PostURLNotifyUPP
;
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
)))
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))
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))
566 typedef UniversalProcPtr NPN_GetURLUPP
;
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
)))
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))
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))
592 typedef UniversalProcPtr NPN_PostURLUPP
;
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
)))
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))
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))
617 /* NPN_RequestRead */
621 typedef UniversalProcPtr NPN_RequestReadUPP
;
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
)))
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))
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))
648 typedef UniversalProcPtr NPN_NewStreamUPP
;
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
)))
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))
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))
677 typedef UniversalProcPtr NPN_WriteUPP
;
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
)))
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))
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))
702 /* NPN_DestroyStream */
706 typedef UniversalProcPtr NPN_DestroyStreamUPP
;
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
)))
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))
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))
734 typedef UniversalProcPtr NPN_StatusUPP
;
736 uppNPN_StatusProcInfo
= kThinkCStackBased
737 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP
)))
738 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char *)))
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))
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))
760 typedef UniversalProcPtr NPN_UserAgentUPP
;
762 uppNPN_UserAgentProcInfo
= kThinkCStackBased
763 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP
)))
764 | RESULT_SIZE(SIZE_CODE(sizeof(const char *)))
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))
774 typedef const char* (*NPN_UserAgentUPP
)(NPP instance
);
775 #define NewNPN_UserAgentProc(FUNC) \
776 ((NPN_UserAgentUPP) (FUNC))
777 #define CallNPN_UserAgentProc(FUNC, ARG1) \
786 typedef UniversalProcPtr NPN_MemAllocUPP
;
788 uppNPN_MemAllocProcInfo
= kThinkCStackBased
789 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32
)))
790 | RESULT_SIZE(SIZE_CODE(sizeof(void *)))
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))
800 typedef void* (*NPN_MemAllocUPP
)(uint32 size
);
801 #define NewNPN_MemAllocProc(FUNC) \
802 ((NPN_MemAllocUPP) (FUNC))
803 #define CallNPN_MemAllocProc(FUNC, ARG1) \
813 typedef UniversalProcPtr NPN_MemFreeUPP
;
815 uppNPN_MemFreeProcInfo
= kThinkCStackBased
816 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void *)))
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))
826 typedef void (*NPN_MemFreeUPP
)(void* ptr
);
827 #define NewNPN_MemFreeProc(FUNC) \
828 ((NPN_MemFreeUPP) (FUNC))
829 #define CallNPN_MemFreeProc(FUNC, ARG1) \
839 typedef UniversalProcPtr NPN_MemFlushUPP
;
841 uppNPN_MemFlushProcInfo
= kThinkCStackBased
842 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32
)))
843 | RESULT_SIZE(SIZE_CODE(sizeof(uint32
)))
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))
853 typedef uint32 (*NPN_MemFlushUPP
)(uint32 size
);
854 #define NewNPN_MemFlushProc(FUNC) \
855 ((NPN_MemFlushUPP) (FUNC))
856 #define CallNPN_MemFlushProc(FUNC, ARG1) \
863 /* NPN_ReloadPlugins */
867 typedef UniversalProcPtr NPN_ReloadPluginsUPP
;
869 uppNPN_ReloadPluginsProcInfo
= kThinkCStackBased
870 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPBool
)))
871 | RESULT_SIZE(SIZE_CODE(0))
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))
881 typedef void (*NPN_ReloadPluginsUPP
)(NPBool reloadPages
);
882 #define NewNPN_ReloadPluginsProc(FUNC) \
883 ((NPN_ReloadPluginsUPP) (FUNC))
884 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
894 typedef UniversalProcPtr NPN_GetJavaEnvUPP
;
896 uppNPN_GetJavaEnvProcInfo
= kThinkCStackBased
897 | RESULT_SIZE(SIZE_CODE(sizeof(JRIEnv
*)))
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)
907 typedef JRIEnv
* (*NPN_GetJavaEnvUPP
)(void);
908 #define NewNPN_GetJavaEnvProc(FUNC) \
909 ((NPN_GetJavaEnvUPP) (FUNC))
910 #define CallNPN_GetJavaEnvProc(FUNC) \
916 /* NPN_GetJavaPeer */
920 typedef UniversalProcPtr NPN_GetJavaPeerUPP
;
922 uppNPN_GetJavaPeerProcInfo
= kThinkCStackBased
923 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP
)))
924 | RESULT_SIZE(SIZE_CODE(sizeof(jref
)))
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))
934 typedef jref (*NPN_GetJavaPeerUPP
)(NPP instance
);
935 #define NewNPN_GetJavaPeerProc(FUNC) \
936 ((NPN_GetJavaPeerUPP) (FUNC))
937 #define CallNPN_GetJavaPeerProc(FUNC, ARG1) \
943 /* NPN_InvalidateRect */
947 typedef UniversalProcPtr NPN_InvalidateRectUPP
;
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))
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))
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))
971 /* NPN_InvalidateRegion */
975 typedef UniversalProcPtr NPN_InvalidateRegionUPP
;
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))
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))
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))
998 /* NPN_ForceRedraw */
1002 typedef UniversalProcPtr NPN_ForceRedrawUPP
;
1004 uppNPN_ForceRedrawProcInfo
= kThinkCStackBased
1005 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP
)))
1006 | RESULT_SIZE(SIZE_CODE(sizeof(0)))
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))
1016 typedef void (*NPN_ForceRedrawUPP
)(NPP instance
);
1017 #define NewNPN_ForceRedrawProc(FUNC) \
1018 ((NPN_ForceRedrawUPP) (FUNC))
1019 #define CallNPN_ForceRedrawProc(FUNC, ARG1) \
1025 /******************************************************************************************
1026 * The actual plugin function table definitions
1027 *******************************************************************************************/
1030 #pragma align=mac68k
1033 typedef struct _NPPluginFuncs
{
1037 NPP_DestroyUPP destroy
;
1038 NPP_SetWindowUPP setwindow
;
1039 NPP_NewStreamUPP newstream
;
1040 NPP_DestroyStreamUPP destroystream
;
1041 NPP_StreamAsFileUPP asfile
;
1042 NPP_WriteReadyUPP writeready
;
1045 NPP_HandleEventUPP event
;
1046 NPP_URLNotifyUPP urlnotify
;
1047 JRIGlobalRef javaClass
;
1048 NPP_GetValueUPP getvalue
;
1049 NPP_SetValueUPP setvalue
;
1052 typedef struct _NPNetscapeFuncs
{
1055 NPN_GetURLUPP geturl
;
1056 NPN_PostURLUPP posturl
;
1057 NPN_RequestReadUPP requestread
;
1058 NPN_NewStreamUPP newstream
;
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
;
1084 /******************************************************************************************
1085 * Mac platform-specific plugin glue stuff
1086 *******************************************************************************************/
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.
1097 typedef UniversalProcPtr NPP_MainEntryUPP
;
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
)))
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))
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))
1128 /* plugin meta member functions */
1130 NPError WINAPI
NP_GetEntryPoints(NPPluginFuncs
* pFuncs
);
1132 NPError WINAPI
NP_Initialize(NPNetscapeFuncs
* pFuncs
);
1134 NPError WINAPI
NP_Shutdown();
1140 #endif /* _WINDOWS */
1148 /* plugin meta member functions */
1150 char* NP_GetMIMEDescription(void);
1151 NPError
NP_Initialize(NPNetscapeFuncs
*, NPPluginFuncs
*);
1152 NPError
NP_Shutdown(void);
1158 #endif /* XP_UNIX */
1160 #endif /* _NPUPP_H_ */