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
00062 #include "jri.h"
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075 typedef void (* NP_LOADDS NPP_InitializeUPP)(void);
00076 #define NewNPP_InitializeProc(FUNC) \
00077 ((NPP_InitializeUPP) (FUNC))
00078 #define CallNPP_InitializeProc(FUNC) \
00079 (*(FUNC))()
00080
00081
00082 typedef void (* NP_LOADDS NPP_ShutdownUPP)(void);
00083 #define NewNPP_ShutdownProc(FUNC) \
00084 ((NPP_ShutdownUPP) (FUNC))
00085 #define CallNPP_ShutdownProc(FUNC) \
00086 (*(FUNC))()
00087
00088
00089 typedef NPError (* NP_LOADDS NPP_NewUPP)(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved);
00090 #define NewNPP_NewProc(FUNC) \
00091 ((NPP_NewUPP) (FUNC))
00092 #define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00093 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00094
00095
00096 typedef NPError (* NP_LOADDS NPP_DestroyUPP)(NPP instance, NPSavedData** save);
00097 #define NewNPP_DestroyProc(FUNC) \
00098 ((NPP_DestroyUPP) (FUNC))
00099 #define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
00100 (*(FUNC))((ARG1), (ARG2))
00101
00102
00103 typedef NPError (* NP_LOADDS NPP_SetWindowUPP)(NPP instance, NPWindow* window);
00104 #define NewNPP_SetWindowProc(FUNC) \
00105 ((NPP_SetWindowUPP) (FUNC))
00106 #define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
00107 (*(FUNC))((ARG1), (ARG2))
00108
00109
00110 typedef NPError (* NP_LOADDS NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype);
00111 #define NewNPP_NewStreamProc(FUNC) \
00112 ((NPP_NewStreamUPP) (FUNC))
00113 #define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
00114 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
00115
00116
00117 typedef NPError (* NP_LOADDS NPP_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
00118 #define NewNPP_DestroyStreamProc(FUNC) \
00119 ((NPP_DestroyStreamUPP) (FUNC))
00120 #define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
00121 (*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg))
00122
00123
00124 typedef int32 (* NP_LOADDS NPP_WriteReadyUPP)(NPP instance, NPStream* stream);
00125 #define NewNPP_WriteReadyProc(FUNC) \
00126 ((NPP_WriteReadyUPP) (FUNC))
00127 #define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
00128 (*(FUNC))((NPParg), (NPStreamPtr))
00129
00130
00131 typedef int32 (* NP_LOADDS NPP_WriteUPP)(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer);
00132 #define NewNPP_WriteProc(FUNC) \
00133 ((NPP_WriteUPP) (FUNC))
00134 #define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
00135 (*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
00136
00137
00138 typedef void (* NP_LOADDS NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, const char* fname);
00139 #define NewNPP_StreamAsFileProc(FUNC) \
00140 ((NPP_StreamAsFileUPP) (FUNC))
00141 #define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
00142 (*(FUNC))((ARG1), (ARG2), (ARG3))
00143
00144
00145 typedef void (* NP_LOADDS NPP_PrintUPP)(NPP instance, NPPrint* platformPrint);
00146 #define NewNPP_PrintProc(FUNC) \
00147 ((NPP_PrintUPP) (FUNC))
00148 #define CallNPP_PrintProc(FUNC, NPParg, NPPrintArg) \
00149 (*(FUNC))((NPParg), (NPPrintArg))
00150
00151
00152 typedef int16 (* NP_LOADDS NPP_HandleEventUPP)(NPP instance, void* event);
00153 #define NewNPP_HandleEventProc(FUNC) \
00154 ((NPP_HandleEventUPP) (FUNC))
00155 #define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
00156 (*(FUNC))((NPParg), (voidPtr))
00157
00158
00159 typedef void (* NP_LOADDS NPP_URLNotifyUPP)(NPP instance, const char* url, NPReason reason, void* notifyData);
00160 #define NewNPP_URLNotifyProc(FUNC) \
00161 ((NPP_URLNotifyUPP) (FUNC))
00162 #define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00163 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00164
00165
00166 typedef NPError (* NP_LOADDS NPP_GetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
00167 #define NewNPP_GetValueProc(FUNC) \
00168 ((NPP_GetValueUPP) (FUNC))
00169 #define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
00170 (*(FUNC))((ARG1), (ARG2), (ARG3))
00171
00172
00173 typedef NPError (* NP_LOADDS NPP_SetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
00174 #define NewNPP_SetValueProc(FUNC) \
00175 ((NPP_SetValueUPP) (FUNC))
00176 #define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
00177 (*(FUNC))((ARG1), (ARG2), (ARG3))
00178
00179
00180
00181
00182
00183
00184
00185 typedef NPError (* NP_LOADDS NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
00186 #define NewNPN_GetValueProc(FUNC) \
00187 ((NPN_GetValueUPP) (FUNC))
00188 #define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
00189 (*(FUNC))((ARG1), (ARG2), (ARG3))
00190
00191
00192 typedef NPError (* NP_LOADDS NPN_SetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
00193 #define NewNPN_SetValueProc(FUNC) \
00194 ((NPN_SetValueUPP) (FUNC))
00195 #define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
00196 (*(FUNC))((ARG1), (ARG2), (ARG3))
00197
00198
00199 typedef NPError (* NP_LOADDS NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData);
00200 #define NewNPN_GetURLNotifyProc(FUNC) \
00201 ((NPN_GetURLNotifyUPP) (FUNC))
00202 #define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00203 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00204
00205
00206 typedef NPError (* NP_LOADDS NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData);
00207 #define NewNPN_PostURLNotifyProc(FUNC) \
00208 ((NPN_PostURLNotifyUPP) (FUNC))
00209 #define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00210 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00211
00212
00213 typedef NPError (* NP_LOADDS NPN_GetURLUPP)(NPP instance, const char* url, const char* window);
00214 #define NewNPN_GetURLProc(FUNC) \
00215 ((NPN_GetURLUPP) (FUNC))
00216 #define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
00217 (*(FUNC))((ARG1), (ARG2), (ARG3))
00218
00219
00220 typedef NPError (* NP_LOADDS NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file);
00221 #define NewNPN_PostURLProc(FUNC) \
00222 ((NPN_PostURLUPP) (FUNC))
00223 #define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
00224 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
00225
00226
00227 typedef NPError (* NP_LOADDS NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList);
00228 #define NewNPN_RequestReadProc(FUNC) \
00229 ((NPN_RequestReadUPP) (FUNC))
00230 #define CallNPN_RequestReadProc(FUNC, stream, range) \
00231 (*(FUNC))((stream), (range))
00232
00233
00234 typedef NPError (* NP_LOADDS NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
00235 #define NewNPN_NewStreamProc(FUNC) \
00236 ((NPN_NewStreamUPP) (FUNC))
00237 #define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
00238 (*(FUNC))((npp), (type), (window), (stream))
00239
00240
00241 typedef int32 (* NP_LOADDS NPN_WriteUPP)(NPP instance, NPStream* stream, int32 len, void* buffer);
00242 #define NewNPN_WriteProc(FUNC) \
00243 ((NPN_WriteUPP) (FUNC))
00244 #define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
00245 (*(FUNC))((npp), (stream), (len), (buffer))
00246
00247
00248 typedef NPError (* NP_LOADDS NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
00249 #define NewNPN_DestroyStreamProc(FUNC) \
00250 ((NPN_DestroyStreamUPP) (FUNC))
00251 #define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
00252 (*(FUNC))((npp), (stream), (reason))
00253
00254
00255 typedef void (* NP_LOADDS NPN_StatusUPP)(NPP instance, const char* message);
00256 #define NewNPN_StatusProc(FUNC) \
00257 ((NPN_StatusUPP) (FUNC))
00258 #define CallNPN_StatusProc(FUNC, npp, msg) \
00259 (*(FUNC))((npp), (msg))
00260
00261
00262 typedef const char* (* NP_LOADDS NPN_UserAgentUPP)(NPP instance);
00263 #define NewNPN_UserAgentProc(FUNC) \
00264 ((NPN_UserAgentUPP) (FUNC))
00265 #define CallNPN_UserAgentProc(FUNC, ARG1) \
00266 (*(FUNC))((ARG1))
00267
00268
00269 typedef void* (* NP_LOADDS NPN_MemAllocUPP)(uint32 size);
00270 #define NewNPN_MemAllocProc(FUNC) \
00271 ((NPN_MemAllocUPP) (FUNC))
00272 #define CallNPN_MemAllocProc(FUNC, ARG1) \
00273 (*(FUNC))((ARG1))
00274
00275
00276 typedef void (* NP_LOADDS NPN_MemFreeUPP)(void* ptr);
00277 #define NewNPN_MemFreeProc(FUNC) \
00278 ((NPN_MemFreeUPP) (FUNC))
00279 #define CallNPN_MemFreeProc(FUNC, ARG1) \
00280 (*(FUNC))((ARG1))
00281
00282
00283 typedef uint32 (* NP_LOADDS NPN_MemFlushUPP)(uint32 size);
00284 #define NewNPN_MemFlushProc(FUNC) \
00285 ((NPN_MemFlushUPP) (FUNC))
00286 #define CallNPN_MemFlushProc(FUNC, ARG1) \
00287 (*(FUNC))((ARG1))
00288
00289
00290 typedef void (* NP_LOADDS NPN_ReloadPluginsUPP)(NPBool reloadPages);
00291 #define NewNPN_ReloadPluginsProc(FUNC) \
00292 ((NPN_ReloadPluginsUPP) (FUNC))
00293 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
00294 (*(FUNC))((ARG1))
00295
00296
00297 typedef JRIEnv* (* NP_LOADDS NPN_GetJavaEnvUPP)(void);
00298 #define NewNPN_GetJavaEnvProc(FUNC) \
00299 ((NPN_GetJavaEnvUPP) (FUNC))
00300 #define CallNPN_GetJavaEnvProc(FUNC) \
00301 (*(FUNC))()
00302
00303
00304 typedef jref (* NP_LOADDS NPN_GetJavaPeerUPP)(NPP instance);
00305 #define NewNPN_GetJavaPeerProc(FUNC) \
00306 ((NPN_GetJavaPeerUPP) (FUNC))
00307 #define CallNPN_GetJavaPeerProc(FUNC, ARG1) \
00308 (*(FUNC))((ARG1))
00309
00310
00311 typedef void (* NP_LOADDS NPN_InvalidateRectUPP)(NPP instance, NPRect *rect);
00312 #define NewNPN_InvalidateRectProc(FUNC) \
00313 ((NPN_InvalidateRectUPP) (FUNC))
00314 #define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \
00315 (*(FUNC))((ARG1), (ARG2))
00316
00317
00318 typedef void (* NP_LOADDS NPN_InvalidateRegionUPP)(NPP instance, NPRegion region);
00319 #define NewNPN_InvalidateRegionProc(FUNC) \
00320 ((NPN_InvalidateRegionUPP) (FUNC))
00321 #define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \
00322 (*(FUNC))((ARG1), (ARG2))
00323
00324
00325 typedef void (* NP_LOADDS NPN_ForceRedrawUPP)(NPP instance);
00326 #define NewNPN_ForceRedrawProc(FUNC) \
00327 ((NPN_ForceRedrawUPP) (FUNC))
00328 #define CallNPN_ForceRedrawProc(FUNC, ARG1) \
00329 (*(FUNC))((ARG1))
00330
00331
00332 typedef NPIdentifier (* NP_LOADDS NPN_GetStringIdentifierUPP)(const NPUTF8* name);
00333 #define NewNPN_GetStringIdentifierProc(FUNC) \
00334 ((NPN_GetStringIdentifierUPP) (FUNC))
00335 #define CallNPN_GetStringIdentifierProc(FUNC, ARG1) \
00336 (*(FUNC))((ARG1))
00337
00338
00339 typedef void (* NP_LOADDS NPN_GetStringIdentifiersUPP)(const NPUTF8** names,
00340 int32_t nameCount,
00341 NPIdentifier* identifiers);
00342 #define NewNPN_GetStringIdentifiersProc(FUNC) \
00343 ((NPN_GetStringIdentifiersUPP) (FUNC))
00344 #define CallNPN_GetStringIdentifiersProc(FUNC, ARG1, ARG2, ARG3) \
00345 (*(FUNC))((ARG1), (ARG2), (ARG3))
00346
00347
00348 typedef NPIdentifier (* NP_LOADDS NPN_GetIntIdentifierUPP)(int32_t intid);
00349 #define NewNPN_GetIntIdentifierProc(FUNC) \
00350 ((NPN_GetIntIdentifierUPP) (FUNC))
00351 #define CallNPN_GetIntIdentifierProc(FUNC, ARG1) \
00352 (*(FUNC))((ARG1))
00353
00354
00355 typedef bool (* NP_LOADDS NPN_IdentifierIsStringUPP)(NPIdentifier identifier);
00356 #define NewNPN_IdentifierIsStringProc(FUNC) \
00357 ((NPN_IdentifierIsStringUPP) (FUNC))
00358 #define CallNPN_IdentifierIsStringProc(FUNC, ARG1) \
00359 (*(FUNC))((ARG1))
00360
00361
00362 typedef NPUTF8* (* NP_LOADDS NPN_UTF8FromIdentifierUPP)(NPIdentifier identifier);
00363 #define NewNPN_UTF8FromIdentifierProc(FUNC) \
00364 ((NPN_UTF8FromIdentifierUPP) (FUNC))
00365 #define CallNPN_UTF8FromIdentifierProc(FUNC, ARG1) \
00366 (*(FUNC))((ARG1))
00367
00368
00369 typedef int32_t (* NP_LOADDS NPN_IntFromIdentifierUPP)(NPIdentifier identifier);
00370 #define NewNPN_IntFromIdentifierProc(FUNC) \
00371 ((NPN_IntFromIdentifierUPP) (FUNC))
00372 #define CallNPN_IntFromIdentifierProc(FUNC, ARG1) \
00373 (*(FUNC))((ARG1))
00374
00375
00376 typedef NPObject* (* NP_LOADDS NPN_CreateObjectUPP)(NPP npp, NPClass *aClass);
00377 #define NewNPN_CreateObjectProc(FUNC) \
00378 ((NPN_CreateObjectUPP) (FUNC))
00379 #define CallNPN_CreateObjectProc(FUNC, ARG1, ARG2) \
00380 (*(FUNC))((ARG1), (ARG2))
00381
00382
00383 typedef NPObject* (* NP_LOADDS NPN_RetainObjectUPP)(NPObject *obj);
00384 #define NewNPN_RetainObjectProc(FUNC) \
00385 ((NPN_RetainObjectUPP) (FUNC))
00386 #define CallNPN_RetainObjectProc(FUNC, ARG1) \
00387 (*(FUNC))((ARG1))
00388
00389
00390 typedef void (* NP_LOADDS NPN_ReleaseObjectUPP)(NPObject *obj);
00391 #define NewNPN_ReleaseObjectProc(FUNC) \
00392 ((NPN_ReleaseObjectUPP) (FUNC))
00393 #define CallNPN_ReleaseObjectProc(FUNC, ARG1) \
00394 (*(FUNC))((ARG1))
00395
00396
00397 typedef bool (* NP_LOADDS NPN_InvokeUPP)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
00398 #define NewNPN_InvokeProc(FUNC) \
00399 ((NPN_InvokeUPP) (FUNC))
00400 #define CallNPN_InvokeProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
00401 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
00402
00403
00404 typedef bool (* NP_LOADDS NPN_InvokeDefaultUPP)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
00405 #define NewNPN_InvokeDefaultProc(FUNC) \
00406 ((NPN_InvokeDefaultUPP) (FUNC))
00407 #define CallNPN_InvokeDefaultProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
00408 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
00409
00410
00411 typedef bool (* NP_LOADDS NPN_EvaluateUPP)(NPP npp, NPObject *obj, NPString *script, NPVariant *result);
00412 #define NewNPN_EvaluateProc(FUNC) \
00413 ((NPN_EvaluateUPP) (FUNC))
00414 #define CallNPN_EvaluateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00415 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00416
00417
00418 typedef bool (* NP_LOADDS NPN_GetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result);
00419 #define NewNPN_GetPropertyProc(FUNC) \
00420 ((NPN_GetPropertyUPP) (FUNC))
00421 #define CallNPN_GetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00422 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00423
00424
00425 typedef bool (* NP_LOADDS NPN_SetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value);
00426 #define NewNPN_SetPropertyProc(FUNC) \
00427 ((NPN_SetPropertyUPP) (FUNC))
00428 #define CallNPN_SetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00429 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00430
00431
00432 typedef bool (* NP_LOADDS NPN_RemovePropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
00433 #define NewNPN_RemovePropertyProc(FUNC) \
00434 ((NPN_RemovePropertyUPP) (FUNC))
00435 #define CallNPN_RemovePropertyProc(FUNC, ARG1, ARG2, ARG3) \
00436 (*(FUNC))((ARG1), (ARG2), (ARG3))
00437
00438
00439 typedef bool (* NP_LOADDS NPN_HasPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
00440 #define NewNPN_HasPropertyProc(FUNC) \
00441 ((NPN_HasPropertyUPP) (FUNC))
00442 #define CallNPN_HasPropertyProc(FUNC, ARG1, ARG2, ARG3) \
00443 (*(FUNC))((ARG1), (ARG2), (ARG3))
00444
00445
00446 typedef bool (* NP_LOADDS NPN_HasMethodUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
00447 #define NewNPN_HasMethodProc(FUNC) \
00448 ((NPN_HasMethodUPP) (FUNC))
00449 #define CallNPN_HasMethodProc(FUNC, ARG1, ARG2, ARG3) \
00450 (*(FUNC))((ARG1), (ARG2), (ARG3))
00451
00452
00453 typedef void (* NP_LOADDS NPN_ReleaseVariantValueUPP)(NPVariant *variant);
00454 #define NewNPN_ReleaseVariantValueProc(FUNC) \
00455 ((NPN_ReleaseVariantValueUPP) (FUNC))
00456 #define CallNPN_ReleaseVariantValueProc(FUNC, ARG1) \
00457 (*(FUNC))((ARG1))
00458
00459
00460 typedef void (* NP_LOADDS NPN_SetExceptionUPP)(NPObject *obj, const NPUTF8 *message);
00461 #define NewNPN_SetExceptionProc(FUNC) \
00462 ((NPN_SetExceptionUPP) (FUNC))
00463 #define CallNPN_SetExceptionProc(FUNC, ARG1, ARG2) \
00464 (*(FUNC))((ARG1), (ARG2))
00465
00466
00467 typedef bool (* NP_LOADDS NPN_PushPopupsEnabledStateUPP)(NPP npp, NPBool enabled);
00468 #define NewNPN_PushPopupsEnabledStateProc(FUNC) \
00469 ((NPN_PushPopupsEnabledStateUPP) (FUNC))
00470 #define CallNPN_PushPopupsEnabledStateProc(FUNC, ARG1, ARG2) \
00471 (*(FUNC))((ARG1), (ARG2))
00472
00473
00474 typedef bool (* NP_LOADDS NPN_PopPopupsEnabledStateUPP)(NPP npp);
00475 #define NewNPN_PopPopupsEnabledStateProc(FUNC) \
00476 ((NPN_PopPopupsEnabledStateUPP) (FUNC))
00477 #define CallNPN_PopPopupsEnabledStateProc(FUNC, ARG1) \
00478 (*(FUNC))((ARG1))
00479
00480
00481 typedef bool (* NP_LOADDS NPN_EnumerateUPP)(NPP npp, NPObject *obj, NPIdentifier **identifier, uint32_t *count);
00482 #define NewNPN_EnumerateProc(FUNC) \
00483 ((NPN_EnumerateUPP) (FUNC))
00484 #define CallNPN_EnumerateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00485 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00486
00487
00488 typedef void (* NP_LOADDS NPN_PluginThreadAsyncCallUPP)(NPP instance, void (*func)(void *), void *userData);
00489 #define NewNPN_PluginThreadAsyncCallProc(FUNC) \
00490 ((NPN_PluginThreadAsyncCallUPP) (FUNC))
00491 #define CallNPN_PluginThreadAsyncCallProc(FUNC, ARG1, ARG2, ARG3) \
00492 (*(FUNC))((ARG1), (ARG2), (ARG3))
00493
00494
00495 typedef bool (* NP_LOADDS NPN_ConstructUPP)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
00496 #define NewNPN_ConstructProc(FUNC) \
00497 ((NPN_ConstructUPP) (FUNC))
00498 #define CallNPN_ConstructProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
00499 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
00500
00501
00502
00503
00504
00505
00506
00507 typedef struct _NPPluginFuncs {
00508 uint16 size;
00509 uint16 version;
00510 NPP_NewUPP newp;
00511 NPP_DestroyUPP destroy;
00512 NPP_SetWindowUPP setwindow;
00513 NPP_NewStreamUPP newstream;
00514 NPP_DestroyStreamUPP destroystream;
00515 NPP_StreamAsFileUPP asfile;
00516 NPP_WriteReadyUPP writeready;
00517 NPP_WriteUPP write;
00518 NPP_PrintUPP print;
00519 NPP_HandleEventUPP event;
00520 NPP_URLNotifyUPP urlnotify;
00521 JRIGlobalRef javaClass;
00522 NPP_GetValueUPP getvalue;
00523 NPP_SetValueUPP setvalue;
00524 } NPPluginFuncs;
00525
00526 typedef struct _NPNetscapeFuncs {
00527 uint16 size;
00528 uint16 version;
00529 NPN_GetURLUPP geturl;
00530 NPN_PostURLUPP posturl;
00531 NPN_RequestReadUPP requestread;
00532 NPN_NewStreamUPP newstream;
00533 NPN_WriteUPP write;
00534 NPN_DestroyStreamUPP destroystream;
00535 NPN_StatusUPP status;
00536 NPN_UserAgentUPP uagent;
00537 NPN_MemAllocUPP memalloc;
00538 NPN_MemFreeUPP memfree;
00539 NPN_MemFlushUPP memflush;
00540 NPN_ReloadPluginsUPP reloadplugins;
00541 NPN_GetJavaEnvUPP getJavaEnv;
00542 NPN_GetJavaPeerUPP getJavaPeer;
00543 NPN_GetURLNotifyUPP geturlnotify;
00544 NPN_PostURLNotifyUPP posturlnotify;
00545 NPN_GetValueUPP getvalue;
00546 NPN_SetValueUPP setvalue;
00547 NPN_InvalidateRectUPP invalidaterect;
00548 NPN_InvalidateRegionUPP invalidateregion;
00549 NPN_ForceRedrawUPP forceredraw;
00550 NPN_GetStringIdentifierUPP getstringidentifier;
00551 NPN_GetStringIdentifiersUPP getstringidentifiers;
00552 NPN_GetIntIdentifierUPP getintidentifier;
00553 NPN_IdentifierIsStringUPP identifierisstring;
00554 NPN_UTF8FromIdentifierUPP utf8fromidentifier;
00555 NPN_IntFromIdentifierUPP intfromidentifier;
00556 NPN_CreateObjectUPP createobject;
00557 NPN_RetainObjectUPP retainobject;
00558 NPN_ReleaseObjectUPP releaseobject;
00559 NPN_InvokeUPP invoke;
00560 NPN_InvokeDefaultUPP invokeDefault;
00561 NPN_EvaluateUPP evaluate;
00562 NPN_GetPropertyUPP getproperty;
00563 NPN_SetPropertyUPP setproperty;
00564 NPN_RemovePropertyUPP removeproperty;
00565 NPN_HasPropertyUPP hasproperty;
00566 NPN_HasMethodUPP hasmethod;
00567 NPN_ReleaseVariantValueUPP releasevariantvalue;
00568 NPN_SetExceptionUPP setexception;
00569 NPN_PushPopupsEnabledStateUPP pushpopupsenabledstate;
00570 NPN_PopPopupsEnabledStateUPP poppopupsenabledstate;
00571 NPN_EnumerateUPP enumerate;
00572 NPN_PluginThreadAsyncCallUPP pluginthreadasynccall;
00573 NPN_ConstructUPP construct;
00574 } NPNetscapeFuncs;
00575
00576
00577 #ifdef XP_MACOSX
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588 typedef NPError (* NP_LOADDS NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*);
00589 #define NewNPP_MainEntryProc(FUNC) \
00590 ((NPP_MainEntryUPP) (FUNC))
00591 #define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
00592 (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP))
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603 enum
00604 {
00605 kBPSupportedMIMETypesStructVers_1 = 1
00606 };
00607
00608 typedef struct _BPSupportedMIMETypes
00609 {
00610 SInt32 structVersion;
00611 Handle typeStrings;
00612 Handle infoStrings;
00613 } BPSupportedMIMETypes;
00614 OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags);
00615
00616
00617 #define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"
00618 typedef const char* (* NP_LOADDS NP_GetMIMEDescriptionUPP)();
00619 #define NewNP_GetMIMEDescEntryProc(FUNC) \
00620 ((NP_GetMIMEDescriptionUPP) (FUNC))
00621 #define CallNP_GetMIMEDescEntryProc(FUNC) \
00622 (*(FUNC))()
00623
00624
00625 typedef OSErr (* NP_LOADDS BP_GetSupportedMIMETypesUPP)(BPSupportedMIMETypes*, UInt32);
00626 #define NewBP_GetSupportedMIMETypesEntryProc(FUNC) \
00627 ((BP_GetSupportedMIMETypesUPP) (FUNC))
00628 #define CallBP_GetMIMEDescEntryProc(FUNC, mimeInfo, flags) \
00629 (*(FUNC))((mimeInfo), (flags))
00630
00631 #endif
00632
00633 #if defined(_WINDOWS)
00634 #define OSCALL WINAPI
00635 #else
00636 #if defined(__OS2__)
00637 #define OSCALL _System
00638 #else
00639 #define OSCALL
00640 #endif
00641 #endif
00642
00643 #if defined(XP_UNIX)
00644
00645 #if defined(__GNUC__) && \
00646 ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
00647 #define NP_VISIBILITY_DEFAULT __attribute__((visibility("default")))
00648 #else
00649 #define NP_VISIBILITY_DEFAULT
00650 #endif
00651
00652 #define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type
00653 #endif
00654
00655 #if defined( _WINDOWS ) || defined (__OS2__)
00656
00657 #ifdef __cplusplus
00658 extern "C" {
00659 #endif
00660
00661
00662 #if defined(__OS2__)
00663
00664 typedef struct _NPPluginData {
00665 char *pMimeTypes;
00666 char *pFileExtents;
00667 char *pFileOpenTemplate;
00668 char *pProductName;
00669 char *pProductDescription;
00670 unsigned long dwProductVersionMS;
00671 unsigned long dwProductVersionLS;
00672 } NPPluginData;
00673
00674 NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);
00675
00676 #endif
00677
00678 NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs);
00679
00680 NPError OSCALL NP_Initialize(NPNetscapeFuncs* pFuncs);
00681
00682 NPError OSCALL NP_Shutdown();
00683
00684 char* NP_GetMIMEDescription();
00685
00686 #ifdef __cplusplus
00687 }
00688 #endif
00689
00690 #endif
00691
00692 #if defined(__OS2__)
00693 #pragma pack()
00694 #endif
00695
00696 #ifdef XP_UNIX
00697
00698 #ifdef __cplusplus
00699 extern "C" {
00700 #endif
00701
00702
00703
00704 NP_EXPORT(char*) NP_GetMIMEDescription(void);
00705 NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*);
00706 NP_EXPORT(NPError) NP_Shutdown(void);
00707 NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
00708
00709 #ifdef __cplusplus
00710 }
00711 #endif
00712
00713 #endif
00714
00715 #endif