00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045 #ifndef _NPUPP_H_
00046 #define _NPUPP_H_
00047
00048 #if defined(__OS2__)
00049 #pragma pack(1)
00050 #endif
00051
00052 #ifndef GENERATINGCFM
00053 #define GENERATINGCFM 0
00054 #endif
00055
00056 #ifndef _NPAPI_H_
00057 #include "npapi.h"
00058 #endif
00059
00060 #include "npruntime.h"
00061 #include "npfunctions.h"
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075 #define _NPUPP_USE_UPP_ (TARGET_RT_MAC_CFM && !TARGET_API_MAC_CARBON)
00076
00077 #if _NPUPP_USE_UPP_
00078 typedef UniversalProcPtr NPP_InitializeUPP;
00079
00080 enum {
00081 uppNPP_InitializeProcInfo = kThinkCStackBased
00082 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
00083 | RESULT_SIZE(SIZE_CODE(0))
00084 };
00085
00086 #define NewNPP_InitializeProc(FUNC) \
00087 (NPP_InitializeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_InitializeProcInfo, GetCurrentArchitecture())
00088 #define CallNPP_InitializeProc(FUNC) \
00089 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_InitializeProcInfo)
00090
00091 #else
00092
00093 typedef void (* NP_LOADDS NPP_InitializeUPP)(void);
00094 #define NewNPP_InitializeProc(FUNC) \
00095 ((NPP_InitializeUPP) (FUNC))
00096 #define CallNPP_InitializeProc(FUNC) \
00097 (*(FUNC))()
00098
00099 #endif
00100
00101
00102
00103
00104 #if _NPUPP_USE_UPP_
00105 typedef UniversalProcPtr NPP_ShutdownUPP;
00106
00107 enum {
00108 uppNPP_ShutdownProcInfo = kThinkCStackBased
00109 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
00110 | RESULT_SIZE(SIZE_CODE(0))
00111 };
00112
00113 #define NewNPP_ShutdownProc(FUNC) \
00114 (NPP_ShutdownUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_ShutdownProcInfo, GetCurrentArchitecture())
00115 #define CallNPP_ShutdownProc(FUNC) \
00116 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_ShutdownProcInfo)
00117
00118 #else
00119
00120 typedef void (* NP_LOADDS NPP_ShutdownUPP)(void);
00121 #define NewNPP_ShutdownProc(FUNC) \
00122 ((NPP_ShutdownUPP) (FUNC))
00123 #define CallNPP_ShutdownProc(FUNC) \
00124 (*(FUNC))()
00125
00126 #endif
00127
00128
00129
00130
00131 #if _NPUPP_USE_UPP_
00132 typedef UniversalProcPtr NPP_NewUPP;
00133
00134 enum {
00135 uppNPP_NewProcInfo = kThinkCStackBased
00136 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPMIMEType)))
00137 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPP)))
00138 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(uint16)))
00139 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int16)))
00140 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(char **)))
00141 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(char **)))
00142 | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(NPSavedData *)))
00143 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00144 };
00145
00146 #define NewNPP_NewProc(FUNC) \
00147 (NPP_NewUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewProcInfo, GetCurrentArchitecture())
00148 #define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00149 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewProcInfo, \
00150 (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00151 #else
00152
00153 typedef NPError (* NP_LOADDS NPP_NewUPP)(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved);
00154 #define NewNPP_NewProc(FUNC) \
00155 ((NPP_NewUPP) (FUNC))
00156 #define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00157 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00158
00159 #endif
00160
00161
00162
00163
00164 #if _NPUPP_USE_UPP_
00165
00166 typedef UniversalProcPtr NPP_DestroyUPP;
00167 enum {
00168 uppNPP_DestroyProcInfo = kThinkCStackBased
00169 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00170 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPSavedData **)))
00171 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00172 };
00173 #define NewNPP_DestroyProc(FUNC) \
00174 (NPP_DestroyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyProcInfo, GetCurrentArchitecture())
00175 #define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
00176 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyProcInfo, (ARG1), (ARG2))
00177 #else
00178
00179 typedef NPError (* NP_LOADDS NPP_DestroyUPP)(NPP instance, NPSavedData** save);
00180 #define NewNPP_DestroyProc(FUNC) \
00181 ((NPP_DestroyUPP) (FUNC))
00182 #define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
00183 (*(FUNC))((ARG1), (ARG2))
00184
00185 #endif
00186
00187
00188
00189
00190 #if _NPUPP_USE_UPP_
00191
00192 typedef UniversalProcPtr NPP_SetWindowUPP;
00193 enum {
00194 uppNPP_SetWindowProcInfo = kThinkCStackBased
00195 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00196 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPWindow *)))
00197 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00198 };
00199 #define NewNPP_SetWindowProc(FUNC) \
00200 (NPP_SetWindowUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_SetWindowProcInfo, GetCurrentArchitecture())
00201 #define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
00202 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_SetWindowProcInfo, (ARG1), (ARG2))
00203
00204 #else
00205
00206 typedef NPError (* NP_LOADDS NPP_SetWindowUPP)(NPP instance, NPWindow* window);
00207 #define NewNPP_SetWindowProc(FUNC) \
00208 ((NPP_SetWindowUPP) (FUNC))
00209 #define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
00210 (*(FUNC))((ARG1), (ARG2))
00211
00212 #endif
00213
00214
00215
00216
00217 #if _NPUPP_USE_UPP_
00218
00219 typedef UniversalProcPtr NPP_NewStreamUPP;
00220 enum {
00221 uppNPP_NewStreamProcInfo = kThinkCStackBased
00222 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00223 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType)))
00224 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPStream *)))
00225 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPBool)))
00226 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(uint16 *)))
00227 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00228 };
00229 #define NewNPP_NewStreamProc(FUNC) \
00230 (NPP_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewStreamProcInfo, GetCurrentArchitecture())
00231 #define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
00232 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewStreamProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
00233 #else
00234
00235 typedef NPError (* NP_LOADDS NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype);
00236 #define NewNPP_NewStreamProc(FUNC) \
00237 ((NPP_NewStreamUPP) (FUNC))
00238 #define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
00239 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
00240 #endif
00241
00242
00243
00244
00245 #if _NPUPP_USE_UPP_
00246
00247 typedef UniversalProcPtr NPP_DestroyStreamUPP;
00248 enum {
00249 uppNPP_DestroyStreamProcInfo = kThinkCStackBased
00250 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00251 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00252 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
00253 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00254 };
00255 #define NewNPP_DestroyStreamProc(FUNC) \
00256 (NPP_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, GetCurrentArchitecture())
00257 #define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
00258 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, (NPParg), (NPStreamPtr), (NPReasonArg))
00259
00260 #else
00261
00262 typedef NPError (* NP_LOADDS NPP_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
00263 #define NewNPP_DestroyStreamProc(FUNC) \
00264 ((NPP_DestroyStreamUPP) (FUNC))
00265 #define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
00266 (*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg))
00267
00268 #endif
00269
00270
00271
00272
00273 #if _NPUPP_USE_UPP_
00274
00275 typedef UniversalProcPtr NPP_WriteReadyUPP;
00276 enum {
00277 uppNPP_WriteReadyProcInfo = kThinkCStackBased
00278 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00279 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00280 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
00281 };
00282 #define NewNPP_WriteReadyProc(FUNC) \
00283 (NPP_WriteReadyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, GetCurrentArchitecture())
00284 #define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
00285 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, (NPParg), (NPStreamPtr))
00286
00287 #else
00288
00289 typedef int32_t (* NP_LOADDS NPP_WriteReadyUPP)(NPP instance, NPStream* stream);
00290 #define NewNPP_WriteReadyProc(FUNC) \
00291 ((NPP_WriteReadyUPP) (FUNC))
00292 #define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
00293 (*(FUNC))((NPParg), (NPStreamPtr))
00294
00295 #endif
00296
00297
00298
00299
00300 #if _NPUPP_USE_UPP_
00301
00302 typedef UniversalProcPtr NPP_WriteUPP;
00303 enum {
00304 uppNPP_WriteProcInfo = kThinkCStackBased
00305 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00306 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00307 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32)))
00308 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int32)))
00309 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(void*)))
00310 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
00311 };
00312 #define NewNPP_WriteProc(FUNC) \
00313 (NPP_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteProcInfo, GetCurrentArchitecture())
00314 #define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
00315 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteProcInfo, (NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
00316
00317 #else
00318
00319 typedef int32_t (* NP_LOADDS NPP_WriteUPP)(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer);
00320 #define NewNPP_WriteProc(FUNC) \
00321 ((NPP_WriteUPP) (FUNC))
00322 #define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
00323 (*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
00324
00325 #endif
00326
00327
00328
00329
00330 #if _NPUPP_USE_UPP_
00331
00332 typedef UniversalProcPtr NPP_StreamAsFileUPP;
00333 enum {
00334 uppNPP_StreamAsFileProcInfo = kThinkCStackBased
00335 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00336 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00337 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *)))
00338 | RESULT_SIZE(SIZE_CODE(0))
00339 };
00340 #define NewNPP_StreamAsFileProc(FUNC) \
00341 (NPP_StreamAsFileUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, GetCurrentArchitecture())
00342 #define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
00343 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, (ARG1), (ARG2), (ARG3))
00344
00345 #else
00346
00347 typedef void (* NP_LOADDS NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, const char* fname);
00348 #define NewNPP_StreamAsFileProc(FUNC) \
00349 ((NPP_StreamAsFileUPP) (FUNC))
00350 #define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
00351 (*(FUNC))((ARG1), (ARG2), (ARG3))
00352 #endif
00353
00354
00355
00356
00357 #if _NPUPP_USE_UPP_
00358
00359 typedef UniversalProcPtr NPP_PrintUPP;
00360 enum {
00361 uppNPP_PrintProcInfo = kThinkCStackBased
00362 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00363 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPrint *)))
00364 | RESULT_SIZE(SIZE_CODE(0))
00365 };
00366 #define NewNPP_PrintProc(FUNC) \
00367 (NPP_PrintUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_PrintProcInfo, GetCurrentArchitecture())
00368 #define CallNPP_PrintProc(FUNC, NPParg, voidPtr) \
00369 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_PrintProcInfo, (NPParg), (voidPtr))
00370
00371 #else
00372
00373 typedef void (* NP_LOADDS NPP_PrintUPP)(NPP instance, NPPrint* platformPrint);
00374 #define NewNPP_PrintProc(FUNC) \
00375 ((NPP_PrintUPP) (FUNC))
00376 #define CallNPP_PrintProc(FUNC, NPParg, NPPrintArg) \
00377 (*(FUNC))((NPParg), (NPPrintArg))
00378
00379 #endif
00380
00381
00382
00383
00384 #if _NPUPP_USE_UPP_
00385
00386 typedef UniversalProcPtr NPP_HandleEventUPP;
00387 enum {
00388 uppNPP_HandleEventProcInfo = kThinkCStackBased
00389 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00390 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void *)))
00391 | RESULT_SIZE(SIZE_CODE(sizeof(int16)))
00392 };
00393 #define NewNPP_HandleEventProc(FUNC) \
00394 (NPP_HandleEventUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_HandleEventProcInfo, GetCurrentArchitecture())
00395 #define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
00396 (int16)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_HandleEventProcInfo, (NPParg), (voidPtr))
00397
00398 #else
00399
00400 typedef int16_t (* NP_LOADDS NPP_HandleEventUPP)(NPP instance, void* event);
00401 #define NewNPP_HandleEventProc(FUNC) \
00402 ((NPP_HandleEventUPP) (FUNC))
00403 #define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
00404 (*(FUNC))((NPParg), (voidPtr))
00405
00406 #endif
00407
00408
00409
00410
00411 #if _NPUPP_USE_UPP_
00412
00413 typedef UniversalProcPtr NPP_URLNotifyUPP;
00414 enum {
00415 uppNPP_URLNotifyProcInfo = kThinkCStackBased
00416 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00417 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00418 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
00419 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
00420 | RESULT_SIZE(SIZE_CODE(SIZE_CODE(0)))
00421 };
00422 #define NewNPP_URLNotifyProc(FUNC) \
00423 (NPP_URLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, GetCurrentArchitecture())
00424 #define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00425 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
00426
00427 #else
00428
00429 typedef void (* NP_LOADDS NPP_URLNotifyUPP)(NPP instance, const char* url, NPReason reason, void* notifyData);
00430 #define NewNPP_URLNotifyProc(FUNC) \
00431 ((NPP_URLNotifyUPP) (FUNC))
00432 #define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00433 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00434
00435 #endif
00436
00437
00438
00439
00440 #if _NPUPP_USE_UPP_
00441
00442 typedef UniversalProcPtr NPP_GetValueUPP;
00443 enum {
00444 uppNPP_GetValueProcInfo = kThinkCStackBased
00445 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00446 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPVariable)))
00447 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
00448 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00449 };
00450 #define NewNPP_GetValueProc(FUNC) \
00451 (NPP_GetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_GetValueProcInfo, GetCurrentArchitecture())
00452 #define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
00453 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_GetValueProcInfo, (ARG1), (ARG2), (ARG3))
00454 #else
00455
00456 typedef NPError (* NP_LOADDS NPP_GetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
00457 #define NewNPP_GetValueProc(FUNC) \
00458 ((NPP_GetValueUPP) (FUNC))
00459 #define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
00460 (*(FUNC))((ARG1), (ARG2), (ARG3))
00461 #endif
00462
00463
00464
00465
00466 #if _NPUPP_USE_UPP_
00467
00468 typedef UniversalProcPtr NPP_SetValueUPP;
00469 enum {
00470 uppNPP_SetValueProcInfo = kThinkCStackBased
00471 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00472 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPNVariable)))
00473 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
00474 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00475 };
00476 #define NewNPP_SetValueProc(FUNC) \
00477 (NPP_SetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_SetValueProcInfo, GetCurrentArchitecture())
00478 #define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
00479 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_SetValueProcInfo, (ARG1), (ARG2), (ARG3))
00480 #else
00481
00482 typedef NPError (* NP_LOADDS NPP_SetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
00483 #define NewNPP_SetValueProc(FUNC) \
00484 ((NPP_SetValueUPP) (FUNC))
00485 #define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
00486 (*(FUNC))((ARG1), (ARG2), (ARG3))
00487 #endif
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497 #if _NPUPP_USE_UPP_
00498
00499 typedef UniversalProcPtr NPN_GetValueUPP;
00500 enum {
00501 uppNPN_GetValueProcInfo = kThinkCStackBased
00502 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00503 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPNVariable)))
00504 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
00505 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00506 };
00507 #define NewNPN_GetValueProc(FUNC) \
00508 (NPN_GetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetValueProcInfo, GetCurrentArchitecture())
00509 #define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
00510 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetValueProcInfo, (ARG1), (ARG2), (ARG3))
00511 #else
00512
00513 typedef NPError (* NP_LOADDS NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
00514 #define NewNPN_GetValueProc(FUNC) \
00515 ((NPN_GetValueUPP) (FUNC))
00516 #define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
00517 (*(FUNC))((ARG1), (ARG2), (ARG3))
00518 #endif
00519
00520
00521
00522
00523 #if _NPUPP_USE_UPP_
00524
00525 typedef UniversalProcPtr NPN_SetValueUPP;
00526 enum {
00527 uppNPN_SetValueProcInfo = kThinkCStackBased
00528 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00529 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPVariable)))
00530 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
00531 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00532 };
00533 #define NewNPN_SetValueProc(FUNC) \
00534 (NPN_SetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_SetValueProcInfo, GetCurrentArchitecture())
00535 #define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
00536 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_SetValueProcInfo, (ARG1), (ARG2), (ARG3))
00537 #else
00538
00539 typedef NPError (* NP_LOADDS NPN_SetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
00540 #define NewNPN_SetValueProc(FUNC) \
00541 ((NPN_SetValueUPP) (FUNC))
00542 #define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
00543 (*(FUNC))((ARG1), (ARG2), (ARG3))
00544 #endif
00545
00546
00547
00548
00549 #if _NPUPP_USE_UPP_
00550
00551 typedef UniversalProcPtr NPN_GetURLNotifyUPP;
00552 enum {
00553 uppNPN_GetURLNotifyProcInfo = kThinkCStackBased
00554 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00555 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00556 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00557 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
00558 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00559 };
00560 #define NewNPN_GetURLNotifyProc(FUNC) \
00561 (NPN_GetURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, GetCurrentArchitecture())
00562 #define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00563 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
00564 #else
00565
00566 typedef NPError (* NP_LOADDS NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData);
00567 #define NewNPN_GetURLNotifyProc(FUNC) \
00568 ((NPN_GetURLNotifyUPP) (FUNC))
00569 #define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00570 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00571 #endif
00572
00573
00574
00575
00576 #if _NPUPP_USE_UPP_
00577
00578 typedef UniversalProcPtr NPN_PostURLNotifyUPP;
00579 enum {
00580 uppNPN_PostURLNotifyProcInfo = kThinkCStackBased
00581 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00582 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00583 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00584 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32)))
00585 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*)))
00586 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool)))
00587 | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(void*)))
00588 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00589 };
00590 #define NewNPN_PostURLNotifyProc(FUNC) \
00591 (NPN_PostURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, GetCurrentArchitecture())
00592 #define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00593 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00594 #else
00595
00596 typedef NPError (* NP_LOADDS NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData);
00597 #define NewNPN_PostURLNotifyProc(FUNC) \
00598 ((NPN_PostURLNotifyUPP) (FUNC))
00599 #define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00600 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00601 #endif
00602
00603
00604
00605
00606 #if _NPUPP_USE_UPP_
00607 typedef UniversalProcPtr NPN_GetURLUPP;
00608 enum {
00609 uppNPN_GetURLProcInfo = kThinkCStackBased
00610 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00611 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00612 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00613 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00614 };
00615 #define NewNPN_GetURLProc(FUNC) \
00616 (NPN_GetURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLProcInfo, GetCurrentArchitecture())
00617 #define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
00618 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLProcInfo, (ARG1), (ARG2), (ARG3))
00619 #else
00620
00621 typedef NPError (* NP_LOADDS NPN_GetURLUPP)(NPP instance, const char* url, const char* window);
00622 #define NewNPN_GetURLProc(FUNC) \
00623 ((NPN_GetURLUPP) (FUNC))
00624 #define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
00625 (*(FUNC))((ARG1), (ARG2), (ARG3))
00626 #endif
00627
00628
00629
00630
00631 #if _NPUPP_USE_UPP_
00632
00633 typedef UniversalProcPtr NPN_PostURLUPP;
00634 enum {
00635 uppNPN_PostURLProcInfo = kThinkCStackBased
00636 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00637 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00638 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00639 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32)))
00640 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*)))
00641 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool)))
00642 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00643 };
00644 #define NewNPN_PostURLProc(FUNC) \
00645 (NPN_PostURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLProcInfo, GetCurrentArchitecture())
00646 #define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
00647 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
00648 #else
00649
00650 typedef NPError (* NP_LOADDS NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file);
00651 #define NewNPN_PostURLProc(FUNC) \
00652 ((NPN_PostURLUPP) (FUNC))
00653 #define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
00654 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
00655 #endif
00656
00657
00658
00659
00660 #if _NPUPP_USE_UPP_
00661
00662 typedef UniversalProcPtr NPN_RequestReadUPP;
00663 enum {
00664 uppNPN_RequestReadProcInfo = kThinkCStackBased
00665 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPStream *)))
00666 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPByteRange *)))
00667 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00668 };
00669 #define NewNPN_RequestReadProc(FUNC) \
00670 (NPN_RequestReadUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_RequestReadProcInfo, GetCurrentArchitecture())
00671 #define CallNPN_RequestReadProc(FUNC, stream, range) \
00672 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_RequestReadProcInfo, (stream), (range))
00673
00674 #else
00675
00676 typedef NPError (* NP_LOADDS NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList);
00677 #define NewNPN_RequestReadProc(FUNC) \
00678 ((NPN_RequestReadUPP) (FUNC))
00679 #define CallNPN_RequestReadProc(FUNC, stream, range) \
00680 (*(FUNC))((stream), (range))
00681
00682 #endif
00683
00684
00685
00686
00687 #if _NPUPP_USE_UPP_
00688
00689 typedef UniversalProcPtr NPN_NewStreamUPP;
00690 enum {
00691 uppNPN_NewStreamProcInfo = kThinkCStackBased
00692 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00693 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType)))
00694 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *)))
00695 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPStream **)))
00696 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00697 };
00698 #define NewNPN_NewStreamProc(FUNC) \
00699 (NPN_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_NewStreamProcInfo, GetCurrentArchitecture())
00700 #define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
00701 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_NewStreamProcInfo, (npp), (type), (window), (stream))
00702
00703 #else
00704
00705 typedef NPError (* NP_LOADDS NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
00706 #define NewNPN_NewStreamProc(FUNC) \
00707 ((NPN_NewStreamUPP) (FUNC))
00708 #define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
00709 (*(FUNC))((npp), (type), (window), (stream))
00710
00711 #endif
00712
00713
00714
00715
00716 #if _NPUPP_USE_UPP_
00717
00718 typedef UniversalProcPtr NPN_WriteUPP;
00719 enum {
00720 uppNPN_WriteProcInfo = kThinkCStackBased
00721 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00722 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00723 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32)))
00724 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
00725 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
00726 };
00727 #define NewNPN_WriteProc(FUNC) \
00728 (NPN_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_WriteProcInfo, GetCurrentArchitecture())
00729 #define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
00730 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_WriteProcInfo, (npp), (stream), (len), (buffer))
00731
00732 #else
00733
00734 typedef int32_t (* NP_LOADDS NPN_WriteUPP)(NPP instance, NPStream* stream, int32_t len, void* buffer);
00735 #define NewNPN_WriteProc(FUNC) \
00736 ((NPN_WriteUPP) (FUNC))
00737 #define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
00738 (*(FUNC))((npp), (stream), (len), (buffer))
00739
00740 #endif
00741
00742
00743
00744
00745 #if _NPUPP_USE_UPP_
00746
00747 typedef UniversalProcPtr NPN_DestroyStreamUPP;
00748 enum {
00749 uppNPN_DestroyStreamProcInfo = kThinkCStackBased
00750 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP )))
00751 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00752 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
00753 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00754 };
00755 #define NewNPN_DestroyStreamProc(FUNC) \
00756 (NPN_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, GetCurrentArchitecture())
00757 #define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
00758 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, (npp), (stream), (reason))
00759
00760 #else
00761
00762 typedef NPError (* NP_LOADDS NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
00763 #define NewNPN_DestroyStreamProc(FUNC) \
00764 ((NPN_DestroyStreamUPP) (FUNC))
00765 #define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
00766 (*(FUNC))((npp), (stream), (reason))
00767
00768 #endif
00769
00770
00771
00772
00773 #if _NPUPP_USE_UPP_
00774
00775 typedef UniversalProcPtr NPN_StatusUPP;
00776 enum {
00777 uppNPN_StatusProcInfo = kThinkCStackBased
00778 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00779 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char *)))
00780 };
00781
00782 #define NewNPN_StatusProc(FUNC) \
00783 (NPN_StatusUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_StatusProcInfo, GetCurrentArchitecture())
00784 #define CallNPN_StatusProc(FUNC, npp, msg) \
00785 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_StatusProcInfo, (npp), (msg))
00786
00787 #else
00788
00789 typedef void (* NP_LOADDS NPN_StatusUPP)(NPP instance, const char* message);
00790 #define NewNPN_StatusProc(FUNC) \
00791 ((NPN_StatusUPP) (FUNC))
00792 #define CallNPN_StatusProc(FUNC, npp, msg) \
00793 (*(FUNC))((npp), (msg))
00794
00795 #endif
00796
00797
00798
00799 #if _NPUPP_USE_UPP_
00800
00801 typedef UniversalProcPtr NPN_UserAgentUPP;
00802 enum {
00803 uppNPN_UserAgentProcInfo = kThinkCStackBased
00804 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00805 | RESULT_SIZE(SIZE_CODE(sizeof(const char *)))
00806 };
00807
00808 #define NewNPN_UserAgentProc(FUNC) \
00809 (NPN_UserAgentUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_UserAgentProcInfo, GetCurrentArchitecture())
00810 #define CallNPN_UserAgentProc(FUNC, ARG1) \
00811 (const char*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_UserAgentProcInfo, (ARG1))
00812
00813 #else
00814
00815 typedef const char* (* NP_LOADDS NPN_UserAgentUPP)(NPP instance);
00816 #define NewNPN_UserAgentProc(FUNC) \
00817 ((NPN_UserAgentUPP) (FUNC))
00818 #define CallNPN_UserAgentProc(FUNC, ARG1) \
00819 (*(FUNC))((ARG1))
00820
00821 #endif
00822
00823
00824
00825 #if _NPUPP_USE_UPP_
00826
00827 typedef UniversalProcPtr NPN_MemAllocUPP;
00828 enum {
00829 uppNPN_MemAllocProcInfo = kThinkCStackBased
00830 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32)))
00831 | RESULT_SIZE(SIZE_CODE(sizeof(void *)))
00832 };
00833
00834 #define NewNPN_MemAllocProc(FUNC) \
00835 (NPN_MemAllocUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemAllocProcInfo, GetCurrentArchitecture())
00836 #define CallNPN_MemAllocProc(FUNC, ARG1) \
00837 (void*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemAllocProcInfo, (ARG1))
00838
00839 #else
00840
00841 typedef void* (* NP_LOADDS NPN_MemAllocUPP)(uint32_t size);
00842 #define NewNPN_MemAllocProc(FUNC) \
00843 ((NPN_MemAllocUPP) (FUNC))
00844 #define CallNPN_MemAllocProc(FUNC, ARG1) \
00845 (*(FUNC))((ARG1))
00846
00847 #endif
00848
00849
00850
00851
00852 #if _NPUPP_USE_UPP_
00853
00854 typedef UniversalProcPtr NPN_MemFreeUPP;
00855 enum {
00856 uppNPN_MemFreeProcInfo = kThinkCStackBased
00857 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void *)))
00858 };
00859
00860 #define NewNPN_MemFreeProc(FUNC) \
00861 (NPN_MemFreeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFreeProcInfo, GetCurrentArchitecture())
00862 #define CallNPN_MemFreeProc(FUNC, ARG1) \
00863 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFreeProcInfo, (ARG1))
00864
00865 #else
00866
00867 typedef void (* NP_LOADDS NPN_MemFreeUPP)(void* ptr);
00868 #define NewNPN_MemFreeProc(FUNC) \
00869 ((NPN_MemFreeUPP) (FUNC))
00870 #define CallNPN_MemFreeProc(FUNC, ARG1) \
00871 (*(FUNC))((ARG1))
00872
00873 #endif
00874
00875
00876
00877
00878 #if _NPUPP_USE_UPP_
00879
00880 typedef UniversalProcPtr NPN_MemFlushUPP;
00881 enum {
00882 uppNPN_MemFlushProcInfo = kThinkCStackBased
00883 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32)))
00884 | RESULT_SIZE(SIZE_CODE(sizeof(uint32)))
00885 };
00886
00887 #define NewNPN_MemFlushProc(FUNC) \
00888 (NPN_MemFlushUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFlushProcInfo, GetCurrentArchitecture())
00889 #define CallNPN_MemFlushProc(FUNC, ARG1) \
00890 (uint32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFlushProcInfo, (ARG1))
00891
00892 #else
00893
00894 typedef uint32_t (* NP_LOADDS NPN_MemFlushUPP)(uint32_t size);
00895 #define NewNPN_MemFlushProc(FUNC) \
00896 ((NPN_MemFlushUPP) (FUNC))
00897 #define CallNPN_MemFlushProc(FUNC, ARG1) \
00898 (*(FUNC))((ARG1))
00899
00900 #endif
00901
00902
00903
00904
00905
00906 #if _NPUPP_USE_UPP_
00907
00908 typedef UniversalProcPtr NPN_ReloadPluginsUPP;
00909 enum {
00910 uppNPN_ReloadPluginsProcInfo = kThinkCStackBased
00911 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPBool)))
00912 | RESULT_SIZE(SIZE_CODE(0))
00913 };
00914
00915 #define NewNPN_ReloadPluginsProc(FUNC) \
00916 (NPN_ReloadPluginsUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, GetCurrentArchitecture())
00917 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
00918 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, (ARG1))
00919
00920 #else
00921
00922 typedef void (* NP_LOADDS NPN_ReloadPluginsUPP)(NPBool reloadPages);
00923 #define NewNPN_ReloadPluginsProc(FUNC) \
00924 ((NPN_ReloadPluginsUPP) (FUNC))
00925 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
00926 (*(FUNC))((ARG1))
00927
00928 #endif
00929
00930
00931
00932 #if _NPUPP_USE_UPP_
00933
00934 typedef UniversalProcPtr NPN_InvalidateRectUPP;
00935 enum {
00936 uppNPN_InvalidateRectProcInfo = kThinkCStackBased
00937 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00938 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPRect *)))
00939 | RESULT_SIZE(SIZE_CODE(0))
00940 };
00941
00942 #define NewNPN_InvalidateRectProc(FUNC) \
00943 (NPN_InvalidateRectUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvalidateRectProcInfo, GetCurrentArchitecture())
00944 #define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \
00945 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvalidateRectProcInfo, (ARG1), (ARG2))
00946
00947 #else
00948
00949 typedef void (* NP_LOADDS NPN_InvalidateRectUPP)(NPP instance, NPRect *rect);
00950 #define NewNPN_InvalidateRectProc(FUNC) \
00951 ((NPN_InvalidateRectUPP) (FUNC))
00952 #define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \
00953 (*(FUNC))((ARG1), (ARG2))
00954
00955 #endif
00956
00957
00958
00959
00960 #if _NPUPP_USE_UPP_
00961
00962 typedef UniversalProcPtr NPN_InvalidateRegionUPP;
00963 enum {
00964 uppNPN_InvalidateRegionProcInfo = kThinkCStackBased
00965 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00966 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPRegion)))
00967 | RESULT_SIZE(SIZE_CODE(0))
00968 };
00969
00970 #define NewNPN_InvalidateRegionProc(FUNC) \
00971 (NPN_InvalidateRegionUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvalidateRegionProcInfo, GetCurrentArchitecture())
00972 #define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \
00973 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvalidateRegionProcInfo, (ARG1), (ARG2))
00974
00975 #else
00976
00977 typedef void (* NP_LOADDS NPN_InvalidateRegionUPP)(NPP instance, NPRegion region);
00978 #define NewNPN_InvalidateRegionProc(FUNC) \
00979 ((NPN_InvalidateRegionUPP) (FUNC))
00980 #define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \
00981 (*(FUNC))((ARG1), (ARG2))
00982
00983 #endif
00984
00985
00986
00987 #if _NPUPP_USE_UPP_
00988
00989 typedef UniversalProcPtr NPN_ForceRedrawUPP;
00990 enum {
00991 uppNPN_ForceRedrawProcInfo = kThinkCStackBased
00992 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00993 | RESULT_SIZE(SIZE_CODE(sizeof(0)))
00994 };
00995
00996 #define NewNPN_ForceRedrawProc(FUNC) \
00997 (NPN_ForceRedrawUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ForceRedrawProcInfo, GetCurrentArchitecture())
00998 #define CallNPN_ForceRedrawProc(FUNC, ARG1) \
00999 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ForceRedrawProcInfo, (ARG1))
01000
01001 #else
01002
01003 typedef void (* NP_LOADDS NPN_ForceRedrawUPP)(NPP instance);
01004 #define NewNPN_ForceRedrawProc(FUNC) \
01005 ((NPN_ForceRedrawUPP) (FUNC))
01006 #define CallNPN_ForceRedrawProc(FUNC, ARG1) \
01007 (*(FUNC))((ARG1))
01008
01009 #endif
01010
01011
01012
01013 #if _NPUPP_USE_UPP_
01014
01015 typedef UniversalProcPtr NPN_GetStringIdentifierUPP;
01016 enum {
01017 uppNPN_GetStringIdentifierProcInfo = kThinkCStackBased
01018 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(const NPUTF8*)))
01019 | RESULT_SIZE(SIZE_CODE(sizeof(NPIdentifier)))
01020 };
01021
01022 #define NewNPN_GetStringIdentifierProc(FUNC) \
01023 (NPN_GetStringIdentifierUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetStringIdentifierProcInfo, GetCurrentArchitecture())
01024 #define CallNPN_GetStringIdentifierProc(FUNC, ARG1) \
01025 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetStringIdentifierProcInfo, (ARG1))
01026
01027 #else
01028
01029 typedef NPIdentifier (* NP_LOADDS NPN_GetStringIdentifierUPP)(const NPUTF8* name);
01030 #define NewNPN_GetStringIdentifierProc(FUNC) \
01031 ((NPN_GetStringIdentifierUPP) (FUNC))
01032 #define CallNPN_GetStringIdentifierProc(FUNC, ARG1) \
01033 (*(FUNC))((ARG1))
01034
01035 #endif
01036
01037
01038
01039 #if _NPUPP_USE_UPP_
01040
01041 typedef UniversalProcPtr NPN_GetStringIdentifiersUPP;
01042 enum {
01043 uppNPN_GetStringIdentifiersProcInfo = kThinkCStackBased
01044 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(const NPUTF8**)))
01045 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(int32_t)))
01046 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPIdentifier*)))
01047 | RESULT_SIZE(SIZE_CODE(0))
01048 };
01049
01050 #define NewNPN_GetStringIdentifiersProc(FUNC) \
01051 (NPN_GetStringIdentifiersUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetStringIdentifiersProcInfo, GetCurrentArchitecture())
01052 #define CallNPN_GetStringIdentifiersProc(FUNC, ARG1, ARG2, ARG3) \
01053 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetStringIdentifiersProcInfo, (ARG1), (ARG2), (ARG3))
01054
01055 #else
01056
01057 typedef void (* NP_LOADDS NPN_GetStringIdentifiersUPP)(const NPUTF8** names,
01058 int32_t nameCount,
01059 NPIdentifier* identifiers);
01060 #define NewNPN_GetStringIdentifiersProc(FUNC) \
01061 ((NPN_GetStringIdentifiersUPP) (FUNC))
01062 #define CallNPN_GetStringIdentifiersProc(FUNC, ARG1, ARG2, ARG3) \
01063 (*(FUNC))((ARG1), (ARG2), (ARG3))
01064
01065 #endif
01066
01067
01068
01069 #if _NPUPP_USE_UPP_
01070
01071 typedef UniversalProcPtr NPN_GetIntIdentifierUPP;
01072 enum {
01073 uppNPN_GetIntIdentifierProcInfo = kThinkCStackBased
01074 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(int32_t)))
01075 | RESULT_SIZE(SIZE_CODE(sizeof(NPIdentifier)))
01076 };
01077
01078 #define NewNPN_GetIntIdentifierProc(FUNC) \
01079 (NPN_GetIntIdentifierUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetIntIdentifierProcInfo, GetCurrentArchitecture())
01080 #define CallNPN_GetIntIdentifierProc(FUNC, ARG1) \
01081 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetIntIdentifierProcInfo, (ARG1))
01082
01083 #else
01084
01085 typedef NPIdentifier (* NP_LOADDS NPN_GetIntIdentifierUPP)(int32_t intid);
01086 #define NewNPN_GetIntIdentifierProc(FUNC) \
01087 ((NPN_GetIntIdentifierUPP) (FUNC))
01088 #define CallNPN_GetIntIdentifierProc(FUNC, ARG1) \
01089 (*(FUNC))((ARG1))
01090
01091 #endif
01092
01093
01094
01095 #if _NPUPP_USE_UPP_
01096
01097 typedef UniversalProcPtr NPN_IdentifierIsStringUPP;
01098 enum {
01099 uppNPN_IdentifierIsStringProcInfo = kThinkCStackBased
01100 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPIdentifier identifier)))
01101 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01102 };
01103
01104 #define NewNPN_IdentifierIsStringProc(FUNC) \
01105 (NPN_IdentifierIsStringUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_IdentifierIsStringProcInfo, GetCurrentArchitecture())
01106 #define CallNPN_IdentifierIsStringProc(FUNC, ARG1) \
01107 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_IdentifierIsStringProcInfo, (ARG1))
01108
01109 #else
01110
01111 typedef bool (* NP_LOADDS NPN_IdentifierIsStringUPP)(NPIdentifier identifier);
01112 #define NewNPN_IdentifierIsStringProc(FUNC) \
01113 ((NPN_IdentifierIsStringUPP) (FUNC))
01114 #define CallNPN_IdentifierIsStringProc(FUNC, ARG1) \
01115 (*(FUNC))((ARG1))
01116
01117 #endif
01118
01119
01120
01121 #if _NPUPP_USE_UPP_
01122
01123 typedef UniversalProcPtr NPN_UTF8FromIdentifierUPP;
01124 enum {
01125 uppNPN_UTF8FromIdentifierProcInfo = kThinkCStackBased
01126 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPIdentifier)))
01127 | RESULT_SIZE(SIZE_CODE(sizeof(NPUTF8*)))
01128 };
01129
01130 #define NewNPN_UTF8FromIdentifierProc(FUNC) \
01131 (NPN_UTF8FromIdentifierUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_UTF8FromIdentifierProcInfo, GetCurrentArchitecture())
01132 #define CallNPN_UTF8FromIdentifierProc(FUNC, ARG1) \
01133 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_UTF8FromIdentifierProcInfo, (ARG1))
01134
01135 #else
01136
01137 typedef NPUTF8* (* NP_LOADDS NPN_UTF8FromIdentifierUPP)(NPIdentifier identifier);
01138 #define NewNPN_UTF8FromIdentifierProc(FUNC) \
01139 ((NPN_UTF8FromIdentifierUPP) (FUNC))
01140 #define CallNPN_UTF8FromIdentifierProc(FUNC, ARG1) \
01141 (*(FUNC))((ARG1))
01142
01143 #endif
01144
01145
01146
01147 #if _NPUPP_USE_UPP_
01148
01149 typedef UniversalProcPtr NPN_IntFromIdentifierUPP;
01150 enum {
01151 uppNPN_IntFromIdentifierProcInfo = kThinkCStackBased
01152 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPIdentifier)))
01153 | RESULT_SIZE(SIZE_CODE(sizeof(int32_t)))
01154 };
01155
01156 #define NewNPN_IntFromIdentifierProc(FUNC) \
01157 (NPN_IntFromIdentifierUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_IntFromIdentifierProcInfo, GetCurrentArchitecture())
01158 #define CallNPN_IntFromIdentifierProc(FUNC, ARG1) \
01159 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_IntFromIdentifierProcInfo, (ARG1))
01160
01161 #else
01162
01163 typedef int32_t (* NP_LOADDS NPN_IntFromIdentifierUPP)(NPIdentifier identifier);
01164 #define NewNPN_IntFromIdentifierProc(FUNC) \
01165 ((NPN_IntFromIdentifierUPP) (FUNC))
01166 #define CallNPN_IntFromIdentifierProc(FUNC, ARG1) \
01167 (*(FUNC))((ARG1))
01168
01169 #endif
01170
01171
01172
01173 #if _NPUPP_USE_UPP_
01174
01175 typedef UniversalProcPtr NPN_CreateObjectUPP;
01176 enum {
01177 uppNPN_CreateObjectProcInfo = kThinkCStackBased
01178 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01179 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPClass*)))
01180 | RESULT_SIZE(SIZE_CODE(sizeof(NPObject*)))
01181 };
01182
01183 #define NewNPN_CreateObjectProc(FUNC) \
01184 (NPN_CreateObjectUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_CreateObjectProcInfo, GetCurrentArchitecture())
01185 #define CallNPN_CreateObjectProc(FUNC, ARG1, ARG2) \
01186 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_CreateObjectProcInfo, (ARG1), (ARG2))
01187
01188 #else
01189
01190 typedef NPObject* (* NP_LOADDS NPN_CreateObjectUPP)(NPP npp, NPClass *aClass);
01191 #define NewNPN_CreateObjectProc(FUNC) \
01192 ((NPN_CreateObjectUPP) (FUNC))
01193 #define CallNPN_CreateObjectProc(FUNC, ARG1, ARG2) \
01194 (*(FUNC))((ARG1), (ARG2))
01195
01196 #endif
01197
01198
01199
01200 #if _NPUPP_USE_UPP_
01201
01202 typedef UniversalProcPtr NPN_RetainObjectUPP;
01203 enum {
01204 uppNPN_RetainObjectProcInfo = kThinkCStackBased
01205 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPObject*)))
01206 | RESULT_SIZE(SIZE_CODE(sizeof(NPObject*)))
01207 };
01208
01209 #define NewNPN_RetainObjectProc(FUNC) \
01210 (NPN_RetainObjectUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_RetainObjectProcInfo, GetCurrentArchitecture())
01211 #define CallNPN_RetainObjectProc(FUNC, ARG1) \
01212 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_RetainObjectProcInfo, (ARG1))
01213
01214 #else
01215
01216 typedef NPObject* (* NP_LOADDS NPN_RetainObjectUPP)(NPObject *obj);
01217 #define NewNPN_RetainObjectProc(FUNC) \
01218 ((NPN_RetainObjectUPP) (FUNC))
01219 #define CallNPN_RetainObjectProc(FUNC, ARG1) \
01220 (*(FUNC))((ARG1))
01221
01222 #endif
01223
01224
01225
01226 #if _NPUPP_USE_UPP_
01227
01228 typedef UniversalProcPtr NPN_ReleaseObjectUPP;
01229 enum {
01230 uppNPN_ReleaseObjectProcInfo = kThinkCStackBased
01231 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPObject*)))
01232 | RESULT_SIZE(SIZE_CODE(0))
01233 };
01234
01235 #define NewNPN_ReleaseObjectProc(FUNC) \
01236 (NPN_ReleaseObjectUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ReleaseObjectProcInfo, GetCurrentArchitecture())
01237 #define CallNPN_ReleaseObjectProc(FUNC, ARG1) \
01238 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ReleaseObjectProcInfo, (ARG1))
01239
01240 #else
01241
01242 typedef void (* NP_LOADDS NPN_ReleaseObjectUPP)(NPObject *obj);
01243 #define NewNPN_ReleaseObjectProc(FUNC) \
01244 ((NPN_ReleaseObjectUPP) (FUNC))
01245 #define CallNPN_ReleaseObjectProc(FUNC, ARG1) \
01246 (*(FUNC))((ARG1))
01247
01248 #endif
01249
01250
01251
01252 #if _NPUPP_USE_UPP_
01253
01254 typedef UniversalProcPtr NPN_InvokeUPP;
01255 enum {
01256 uppNPN_InvokeProcInfo = kThinkCStackBased
01257 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01258 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01259 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPIdentifier)))
01260 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(const NPVariant*)))
01261 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(uint32_t)))
01262 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPVariant*)))
01263 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01264 };
01265
01266 #define NewNPN_InvokeProc(FUNC) \
01267 (NPN_InvokeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvokeProcInfo, GetCurrentArchitecture())
01268 #define CallNPN_InvokeProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
01269 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvokeProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
01270
01271 #else
01272
01273 typedef bool (* NP_LOADDS NPN_InvokeUPP)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
01274 #define NewNPN_InvokeProc(FUNC) \
01275 ((NPN_InvokeUPP) (FUNC))
01276 #define CallNPN_InvokeProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
01277 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
01278
01279 #endif
01280
01281
01282
01283 #if _NPUPP_USE_UPP_
01284
01285 typedef UniversalProcPtr NPN_InvokeDefaultUPP;
01286 enum {
01287 uppNPN_InvokeDefaultProcInfo = kThinkCStackBased
01288 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01289 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01290 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(const NPVariant*)))
01291 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(uint32_t)))
01292 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPVariant*)))
01293 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01294 };
01295
01296 #define NewNPN_InvokeDefaultProc(FUNC) \
01297 (NPN_InvokeDefaultUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvokeDefaultProcInfo, GetCurrentArchitecture())
01298 #define CallNPN_InvokeDefaultProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
01299 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvokeDefaultProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
01300
01301 #else
01302
01303 typedef bool (* NP_LOADDS NPN_InvokeDefaultUPP)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
01304 #define NewNPN_InvokeDefaultProc(FUNC) \
01305 ((NPN_InvokeDefaultUPP) (FUNC))
01306 #define CallNPN_InvokeDefaultProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
01307 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
01308
01309 #endif
01310
01311
01312
01313 #if _NPUPP_USE_UPP_
01314
01315 typedef UniversalProcPtr NPN_EvaluateUPP;
01316 enum {
01317 uppNPN_EvaluateProcInfo = kThinkCStackBased
01318 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01319 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01320 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPString*)))
01321 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPVariant*)))
01322 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01323 };
01324
01325 #define NewNPN_EvaluateProc(FUNC) \
01326 (NPN_EvaluateUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_EvaluateProcInfo, GetCurrentArchitecture())
01327 #define CallNPN_EvaluateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
01328 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_EvaluateProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
01329
01330 #else
01331
01332 typedef bool (* NP_LOADDS NPN_EvaluateUPP)(NPP npp, NPObject *obj, NPString *script, NPVariant *result);
01333 #define NewNPN_EvaluateProc(FUNC) \
01334 ((NPN_EvaluateUPP) (FUNC))
01335 #define CallNPN_EvaluateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
01336 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
01337
01338 #endif
01339
01340
01341
01342 #if _NPUPP_USE_UPP_
01343
01344 typedef UniversalProcPtr NPN_GetPropertyUPP;
01345 enum {
01346 uppNPN_GetPropertyProcInfo = kThinkCStackBased
01347 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01348 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01349 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPIdentifier)))
01350 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPVariant*)))
01351 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01352 };
01353
01354 #define NewNPN_GetPropertyProc(FUNC) \
01355 (NPN_GetPropertyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetPropertyProcInfo, GetCurrentArchitecture())
01356 #define CallNPN_GetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
01357 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetPropertyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
01358
01359 #else
01360
01361 typedef bool (* NP_LOADDS NPN_GetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result);
01362 #define NewNPN_GetPropertyProc(FUNC) \
01363 ((NPN_GetPropertyUPP) (FUNC))
01364 #define CallNPN_GetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
01365 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
01366
01367 #endif
01368
01369
01370
01371 #if _NPUPP_USE_UPP_
01372
01373 typedef UniversalProcPtr NPN_SetPropertyUPP;
01374 enum {
01375 uppNPN_SetPropertyProcInfo = kThinkCStackBased
01376 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01377 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01378 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPIdentifier)))
01379 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(const NPVariant*)))
01380 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01381 };
01382
01383 #define NewNPN_SetPropertyProc(FUNC) \
01384 (NPN_SetPropertyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_SetPropertyProcInfo, GetCurrentArchitecture())
01385 #define CallNPN_SetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
01386 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_SetPropertyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
01387
01388 #else
01389
01390 typedef bool (* NP_LOADDS NPN_SetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value);
01391 #define NewNPN_SetPropertyProc(FUNC) \
01392 ((NPN_SetPropertyUPP) (FUNC))
01393 #define CallNPN_SetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
01394 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
01395
01396 #endif
01397
01398
01399
01400 #if _NPUPP_USE_UPP_
01401
01402 typedef UniversalProcPtr NPN_RemovePropertyUPP;
01403 enum {
01404 uppNPN_RemovePropertyProcInfo = kThinkCStackBased
01405 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01406 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01407 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPIdentifier)))
01408 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01409 };
01410
01411 #define NewNPN_RemovePropertyProc(FUNC) \
01412 (NPN_RemovePropertyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_RemovePropertyProcInfo, GetCurrentArchitecture())
01413 #define CallNPN_RemovePropertyProc(FUNC, ARG1, ARG2, ARG3) \
01414 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_RemovePropertyProcInfo, (ARG1), (ARG2), (ARG3))
01415
01416 #else
01417
01418 typedef bool (* NP_LOADDS NPN_RemovePropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
01419 #define NewNPN_RemovePropertyProc(FUNC) \
01420 ((NPN_RemovePropertyUPP) (FUNC))
01421 #define CallNPN_RemovePropertyProc(FUNC, ARG1, ARG2, ARG3) \
01422 (*(FUNC))((ARG1), (ARG2), (ARG3))
01423
01424 #endif
01425
01426
01427
01428 #if _NPUPP_USE_UPP_
01429
01430 typedef UniversalProcPtr NPN_HasPropertyUPP;
01431 enum {
01432 uppNPN_HasPropertyProcInfo = kThinkCStackBased
01433 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01434 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01435 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPIdentifier)))
01436 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01437 };
01438
01439 #define NewNPN_HasPropertyProc(FUNC) \
01440 (NPN_HasPropertyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_HasPropertyProcInfo, GetCurrentArchitecture())
01441 #define CallNPN_HasPropertyProc(FUNC, ARG1, ARG2, ARG3) \
01442 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_HasPropertyProcInfo, (ARG1), (ARG2), (ARG3))
01443
01444 #else
01445
01446 typedef bool (* NP_LOADDS NPN_HasPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
01447 #define NewNPN_HasPropertyProc(FUNC) \
01448 ((NPN_HasPropertyUPP) (FUNC))
01449 #define CallNPN_HasPropertyProc(FUNC, ARG1, ARG2, ARG3) \
01450 (*(FUNC))((ARG1), (ARG2), (ARG3))
01451
01452 #endif
01453
01454
01455
01456 #if _NPUPP_USE_UPP_
01457
01458 typedef UniversalProcPtr NPN_HasMethodUPP;
01459 enum {
01460 uppNPN_HasMethodProcInfo = kThinkCStackBased
01461 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
01462 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPObject*)))
01463 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPIdentifier)))
01464 | RESULT_SIZE(SIZE_CODE(sizeof(bool)))
01465 };
01466
01467 #define NewNPN_HasMethodProc(FUNC) \
01468 (NPN_HasMethodUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_HasMethodProcInfo, GetCurrentArchitecture())
01469 #define CallNPN_HasMethodProc(FUNC, ARG1, ARG2, ARG3) \
01470 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_HasMethodProcInfo, (ARG1), (ARG2), (ARG3))
01471
01472 #else
01473
01474 typedef bool (* NP_LOADDS NPN_HasMethodUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
01475 #define NewNPN_HasMethodProc(FUNC) \
01476 ((NPN_HasMethodUPP) (FUNC))
01477 #define CallNPN_HasMethodProc(FUNC, ARG1, ARG2, ARG3) \
01478 (*(FUNC))((ARG1), (ARG2), (ARG3))
01479
01480 #endif
01481
01482
01483
01484 #if _NPUPP_USE_UPP_
01485
01486 typedef UniversalProcPtr NPN_ReleaseVariantValue;
01487 enum {
01488 uppNPN_ReleaseVariantValueProcInfo = kThinkCStackBased
01489 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPVariant*)))
01490 | RESULT_SIZE(SIZE_CODE(0))
01491 };
01492
01493 #define NewNPN_ReleaseVariantValueProc(FUNC) \
01494 (NPN_ReleaseVariantValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ReleaseVariantValueProcInfo, GetCurrentArchitecture())
01495 #define CallNPN_ReleaseVariantValueProc(FUNC, ARG1) \
01496 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ReleaseVariantValueProcInfo, (ARG1))
01497
01498 #else
01499
01500 typedef void (* NP_LOADDS NPN_ReleaseVariantValueUPP)(NPVariant *variant);
01501 #define NewNPN_ReleaseVariantValueProc(FUNC) \
01502 ((NPN_ReleaseVariantValueUPP) (FUNC))
01503 #define CallNPN_ReleaseVariantValueProc(FUNC, ARG1) \
01504 (*(FUNC))((ARG1))
01505
01506 #endif
01507
01508
01509
01510 #if _NPUPP_USE_UPP_
01511
01512 typedef UniversalProcPtr NPN_SetExceptionUPP;
01513 enum {
01514 uppNPN_SetExceptionProcInfo = kThinkCStackBased
01515 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPObject*)))
01516 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const NPUTF8*)))
01517 | RESULT_SIZE(SIZE_CODE(0))
01518 };
01519
01520 #define NewNPN_SetExceptionProc(FUNC) \
01521 (NPN_SetExceptionUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_SetExceptionProcInfo, GetCurrentArchitecture())
01522 #define CallNPN_SetExceptionProc(FUNC, ARG1, ARG2) \
01523 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_SetExceptionProcInfo, (ARG1), (ARG2))
01524
01525 #else
01526
01527 typedef void (* NP_LOADDS NPN_SetExceptionUPP)(NPObject *obj, const NPUTF8 *message);
01528 #define NewNPN_SetExceptionProc(FUNC) \
01529 ((NPN_SetExceptionUPP) (FUNC))
01530 #define CallNPN_SetExceptionProc(FUNC, ARG1, ARG2) \
01531 (*(FUNC))((ARG1), (ARG2))
01532
01533 #endif
01534
01535
01536 #if defined(XP_MAC) || defined(XP_MACOSX)
01537
01538
01539
01540
01541
01542
01543
01544
01545
01546
01547
01548 #if _NPUPP_USE_UPP_
01549
01550 typedef UniversalProcPtr NPP_MainEntryUPP;
01551 enum {
01552 uppNPP_MainEntryProcInfo = kThinkCStackBased
01553 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPNetscapeFuncs*)))
01554 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPluginFuncs*)))
01555 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPP_ShutdownUPP*)))
01556 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
01557 };
01558 #define NewNPP_MainEntryProc(FUNC) \
01559 (NPP_MainEntryUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_MainEntryProcInfo, GetCurrentArchitecture())
01560 #define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
01561 CallUniversalProc((UniversalProcPtr)(FUNC), (ProcInfoType)uppNPP_MainEntryProcInfo, (netscapeFunc), (pluginFunc), (shutdownUPP))
01562
01563 #else
01564
01565 typedef NPError (* NP_LOADDS NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*);
01566 #define NewNPP_MainEntryProc(FUNC) \
01567 ((NPP_MainEntryUPP) (FUNC))
01568 #define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
01569 (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP))
01570
01571 #endif
01572
01573
01574
01575
01576
01577
01578
01579
01580
01581
01582
01583 enum
01584 {
01585 kBPSupportedMIMETypesStructVers_1 = 1
01586 };
01587
01588 typedef struct _BPSupportedMIMETypes
01589 {
01590 SInt32 structVersion;
01591 Handle typeStrings;
01592 Handle infoStrings;
01593 } BPSupportedMIMETypes;
01594 OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags);
01595
01596 #if _NPUPP_USE_UPP_
01597
01598 #define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescriptionRD"
01599 typedef UniversalProcPtr NP_GetMIMEDescriptionUPP;
01600 enum {
01601 uppNP_GetMIMEDescEntryProc = kThinkCStackBased
01602 | RESULT_SIZE(SIZE_CODE(sizeof(const char *)))
01603 };
01604 #define NewNP_GetMIMEDescEntryProc(FUNC) \
01605 (NP_GetMIMEDescriptionUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNP_GetMIMEDescEntryProc, GetCurrentArchitecture())
01606 #define CallNP_GetMIMEDescEntryProc(FUNC) \
01607 (const char *)CallUniversalProc((UniversalProcPtr)(FUNC), (ProcInfoType)uppNP_GetMIMEDescEntryProc)
01608
01609
01610 #else
01611
01612
01613 #define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"
01614 typedef const char* (* NP_LOADDS NP_GetMIMEDescriptionUPP)();
01615 #define NewNP_GetMIMEDescEntryProc(FUNC) \
01616 ((NP_GetMIMEDescriptionUPP) (FUNC))
01617 #define CallNP_GetMIMEDescEntryProc(FUNC) \
01618 (*(FUNC))()
01619
01620 typedef OSErr (* NP_LOADDS BP_GetSupportedMIMETypesUPP)(BPSupportedMIMETypes*, UInt32);
01621 #define NewBP_GetSupportedMIMETypesEntryProc(FUNC) \
01622 ((BP_GetSupportedMIMETypesUPP) (FUNC))
01623 #define CallBP_GetMIMEDescEntryProc(FUNC, mimeInfo, flags) \
01624 (*(FUNC))((mimeInfo), (flags))
01625
01626 #endif
01627 #endif
01628
01629 #if defined(_WINDOWS)
01630 #define OSCALL WINAPI
01631 #else
01632 #if defined(__OS2__)
01633 #define OSCALL _System
01634 #else
01635 #define OSCALL
01636 #endif
01637 #endif
01638
01639 #if defined( _WINDOWS ) || defined (__OS2__)
01640
01641 #ifdef __cplusplus
01642 extern "C" {
01643 #endif
01644
01645
01646 #if defined(__OS2__)
01647
01648 typedef struct _NPPluginData {
01649 char *pMimeTypes;
01650 char *pFileExtents;
01651 char *pFileOpenTemplate;
01652 char *pProductName;
01653 char *pProductDescription;
01654 unsigned long dwProductVersionMS;
01655 unsigned long dwProductVersionLS;
01656 } NPPluginData;
01657
01658 NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);
01659
01660 #endif
01661
01662 NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs);
01663
01664 NPError OSCALL NP_Initialize(NPNetscapeFuncs* pFuncs);
01665
01666 NPError OSCALL NP_Shutdown();
01667
01668 char* NP_GetMIMEDescription();
01669
01670 #ifdef __cplusplus
01671 }
01672 #endif
01673
01674 #endif
01675
01676 #if defined(__OS2__)
01677 #pragma pack()
01678 #endif
01679
01680 #ifdef XP_UNIX
01681
01682 #ifdef __cplusplus
01683 extern "C" {
01684 #endif
01685
01686
01687
01688 char* NP_GetMIMEDescription(void);
01689 NPError NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*);
01690 NPError NP_Shutdown(void);
01691 NPError NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
01692
01693 #ifdef __cplusplus
01694 }
01695 #endif
01696
01697 #endif
01698
01699 #endif