18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2007 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef NPFUNCTIONS_H 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define NPFUNCTIONS_H 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "npruntime.h" 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "npapi.h" 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if defined(ANDROID_PLUGINS) 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "nativehelper/jni.h" 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef __cplusplus 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectextern "C" { 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if defined(XP_WIN) 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define EXPORTED_CALLBACK(_type, _name) _type (__stdcall * _name) 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define EXPORTED_CALLBACK(_type, _name) _type (* _name) 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_GetURLNotifyProcPtr)(NPP instance, const char* URL, const char* window, void* notifyData); 4621939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef NPError (*NPN_PostURLNotifyProcPtr)(NPP instance, const char* URL, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData); 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_RequestReadProcPtr)(NPStream* stream, NPByteRange* rangeList); 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_NewStreamProcPtr)(NPP instance, NPMIMEType type, const char* window, NPStream** stream); 4921939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef int32_t (*NPN_WriteProcPtr)(NPP instance, NPStream* stream, int32_t len, void* buffer); 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason); 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_StatusProcPtr)(NPP instance, const char* message); 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef const char*(*NPN_UserAgentProcPtr)(NPP instance); 5321939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef void* (*NPN_MemAllocProcPtr)(uint32_t size); 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_MemFreeProcPtr)(void* ptr); 5521939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef uint32_t (*NPN_MemFlushProcPtr)(uint32_t size); 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_ReloadPluginsProcPtr)(NPBool reloadPages); 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_GetValueProcPtr)(NPP instance, NPNVariable variable, void *ret_value); 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_SetValueProcPtr)(NPP instance, NPPVariable variable, void *value); 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_InvalidateRectProcPtr)(NPP instance, NPRect *rect); 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_InvalidateRegionProcPtr)(NPP instance, NPRegion region); 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_ForceRedrawProcPtr)(NPP instance); 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_GetURLProcPtr)(NPP instance, const char* URL, const char* window); 6321939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef NPError (*NPN_PostURLProcPtr)(NPP instance, const char* URL, const char* window, uint32_t len, const char* buf, NPBool file); 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void* (*NPN_GetJavaEnvProcPtr)(void); 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance); 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_PushPopupsEnabledStateProcPtr)(NPP instance, NPBool enabled); 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_PopPopupsEnabledStateProcPtr)(NPP instance); 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_PluginThreadAsyncCallProcPtr)(NPP npp, void (*func)(void *), void *userData); 6921939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef NPError (*NPN_GetValueForURLProcPtr)(NPP npp, NPNURLVariable variable, const char* url, char** value, uint32_t* len); 7021939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef NPError (*NPN_SetValueForURLProcPtr)(NPP npp, NPNURLVariable variable, const char* url, const char* value, uint32_t len); 7121939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef NPError (*NPN_GetAuthenticationInfoProcPtr)(NPP npp, const char* protocol, const char* host, int32_t port, const char* scheme, const char *realm, char** username, uint32_t* ulen, char** password, uint32_t* plen); 728f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian 7321939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef uint32_t (*NPN_ScheduleTimerProcPtr)(NPP npp, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID)); 7421939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef void (*NPN_UnscheduleTimerProcPtr)(NPP npp, uint32_t timerID); 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPN_PopUpContextMenuProcPtr)(NPP instance, NPMenu* menu); 765f1ab04193ad0130ca8204aadaceae083aca9881Feng Qiantypedef NPBool (*NPN_ConvertPointProcPtr)(NPP npp, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace); 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_ReleaseVariantValueProcPtr) (NPVariant *variant); 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPIdentifier (*NPN_GetStringIdentifierProcPtr) (const NPUTF8 *name); 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_GetStringIdentifiersProcPtr) (const NPUTF8 **names, int32_t nameCount, NPIdentifier *identifiers); 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPIdentifier (*NPN_GetIntIdentifierProcPtr) (int32_t intid); 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef int32_t (*NPN_IntFromIdentifierProcPtr) (NPIdentifier identifier); 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_IdentifierIsStringProcPtr) (NPIdentifier identifier); 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPUTF8 *(*NPN_UTF8FromIdentifierProcPtr) (NPIdentifier identifier); 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPObject* (*NPN_CreateObjectProcPtr) (NPP, NPClass *aClass); 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPObject* (*NPN_RetainObjectProcPtr) (NPObject *obj); 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_ReleaseObjectProcPtr) (NPObject *obj); 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_InvokeProcPtr) (NPP npp, NPObject *obj, NPIdentifier methodName, const NPVariant *args, unsigned argCount, NPVariant *result); 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_InvokeDefaultProcPtr) (NPP npp, NPObject *obj, const NPVariant *args, unsigned argCount, NPVariant *result); 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_EvaluateProcPtr) (NPP npp, NPObject *obj, NPString *script, NPVariant *result); 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_GetPropertyProcPtr) (NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result); 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_SetPropertyProcPtr) (NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value); 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_HasPropertyProcPtr) (NPP, NPObject *npobj, NPIdentifier propertyName); 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_HasMethodProcPtr) (NPP npp, NPObject *npobj, NPIdentifier methodName); 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_RemovePropertyProcPtr) (NPP npp, NPObject *obj, NPIdentifier propertyName); 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPN_SetExceptionProcPtr) (NPObject *obj, const NPUTF8 *message); 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_EnumerateProcPtr) (NPP npp, NPObject *npobj, NPIdentifier **identifier, uint32_t *count); 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef bool (*NPN_ConstructProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result); 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10221939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef NPError (*NPP_NewProcPtr)(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved); 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPP_DestroyProcPtr)(NPP instance, NPSavedData** save); 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPP_SetWindowProcPtr)(NPP instance, NPWindow* window); 10521939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef NPError (*NPP_NewStreamProcPtr)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype); 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPP_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason); 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPP_StreamAsFileProcPtr)(NPP instance, NPStream* stream, const char* fname); 10821939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef int32_t (*NPP_WriteReadyProcPtr)(NPP instance, NPStream* stream); 10921939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef int32_t (*NPP_WriteProcPtr)(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer); 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPP_PrintProcPtr)(NPP instance, NPPrint* platformPrint); 11121939df44de1705786c545cd1bf519d47250322dBen Murdochtypedef int16_t (*NPP_HandleEventProcPtr)(NPP instance, void* event); 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*NPP_URLNotifyProcPtr)(NPP instance, const char* URL, NPReason reason, void* notifyData); 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPP_GetValueProcPtr)(NPP instance, NPPVariable variable, void *ret_value); 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*NPP_SetValueProcPtr)(NPP instance, NPNVariable variable, void *value); 11581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochtypedef NPBool (*NPP_GotFocusPtr)(NPP instance, NPFocusDirection direction); 11681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochtypedef void (*NPP_LostFocusPtr)(NPP instance); 11781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochtypedef void (*NPP_URLRedirectNotifyPtr)(NPP instance, const char* url, int32_t status, void* notifyData); 11881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochtypedef NPError (*NPP_ClearSiteDataPtr)(const char* site, uint64_t flags, uint64_t maxAge); 11981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochtypedef char** (*NPP_GetSitesWithDataPtr)(void); 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void *(*NPP_GetJavaClassProcPtr)(void); 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void* JRIGlobalRef; //not using this right now 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct _NPNetscapeFuncs { 12521939df44de1705786c545cd1bf519d47250322dBen Murdoch uint16_t size; 12621939df44de1705786c545cd1bf519d47250322dBen Murdoch uint16_t version; 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetURLProcPtr geturl; 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_PostURLProcPtr posturl; 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_RequestReadProcPtr requestread; 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_NewStreamProcPtr newstream; 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_WriteProcPtr write; 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_DestroyStreamProcPtr destroystream; 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_StatusProcPtr status; 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_UserAgentProcPtr uagent; 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_MemAllocProcPtr memalloc; 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_MemFreeProcPtr memfree; 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_MemFlushProcPtr memflush; 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_ReloadPluginsProcPtr reloadplugins; 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetJavaEnvProcPtr getJavaEnv; 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetJavaPeerProcPtr getJavaPeer; 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetURLNotifyProcPtr geturlnotify; 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_PostURLNotifyProcPtr posturlnotify; 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetValueProcPtr getvalue; 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_SetValueProcPtr setvalue; 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_InvalidateRectProcPtr invalidaterect; 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_InvalidateRegionProcPtr invalidateregion; 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_ForceRedrawProcPtr forceredraw; 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetStringIdentifierProcPtr getstringidentifier; 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetStringIdentifiersProcPtr getstringidentifiers; 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetIntIdentifierProcPtr getintidentifier; 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_IdentifierIsStringProcPtr identifierisstring; 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_UTF8FromIdentifierProcPtr utf8fromidentifier; 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_IntFromIdentifierProcPtr intfromidentifier; 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_CreateObjectProcPtr createobject; 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_RetainObjectProcPtr retainobject; 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_ReleaseObjectProcPtr releaseobject; 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_InvokeProcPtr invoke; 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_InvokeDefaultProcPtr invokeDefault; 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_EvaluateProcPtr evaluate; 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_GetPropertyProcPtr getproperty; 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_SetPropertyProcPtr setproperty; 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_RemovePropertyProcPtr removeproperty; 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_HasPropertyProcPtr hasproperty; 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_HasMethodProcPtr hasmethod; 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_ReleaseVariantValueProcPtr releasevariantvalue; 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_SetExceptionProcPtr setexception; 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_PushPopupsEnabledStateProcPtr pushpopupsenabledstate; 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_PopPopupsEnabledStateProcPtr poppopupsenabledstate; 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_EnumerateProcPtr enumerate; 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_PluginThreadAsyncCallProcPtr pluginthreadasynccall; 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_ConstructProcPtr construct; 1748f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian NPN_GetValueForURLProcPtr getvalueforurl; 1758f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian NPN_SetValueForURLProcPtr setvalueforurl; 1765f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian NPN_GetAuthenticationInfoProcPtr getauthenticationinfo; 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_ScheduleTimerProcPtr scheduletimer; 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_UnscheduleTimerProcPtr unscheduletimer; 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPN_PopUpContextMenuProcPtr popupcontextmenu; 1805f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian NPN_ConvertPointProcPtr convertpoint; 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} NPNetscapeFuncs; 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct _NPPluginFuncs { 18421939df44de1705786c545cd1bf519d47250322dBen Murdoch uint16_t size; 18521939df44de1705786c545cd1bf519d47250322dBen Murdoch uint16_t version; 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_NewProcPtr newp; 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_DestroyProcPtr destroy; 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_SetWindowProcPtr setwindow; 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_NewStreamProcPtr newstream; 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_DestroyStreamProcPtr destroystream; 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_StreamAsFileProcPtr asfile; 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_WriteReadyProcPtr writeready; 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_WriteProcPtr write; 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_PrintProcPtr print; 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_HandleEventProcPtr event; 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_URLNotifyProcPtr urlnotify; 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project JRIGlobalRef javaClass; 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_GetValueProcPtr getvalue; 1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NPP_SetValueProcPtr setvalue; 20081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch NPP_GotFocusPtr gotfocus; 20181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch NPP_LostFocusPtr lostfocus; 20281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch NPP_URLRedirectNotifyPtr urlredirectnotify; 20381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch NPP_ClearSiteDataPtr clearsitedata; 20481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch NPP_GetSitesWithDataPtr getsiteswithdata; 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} NPPluginFuncs; 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef EXPORTED_CALLBACK(NPError, NP_GetEntryPointsFuncPtr)(NPPluginFuncs*); 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef EXPORTED_CALLBACK(void, NPP_ShutdownProcPtr)(void); 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if defined(XP_MACOSX) 2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef void (*BP_CreatePluginMIMETypesPreferencesFuncPtr)(void); 2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef NPError (*MainFuncPtr)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownProcPtr*); 2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if defined(XP_UNIX) 2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef EXPORTED_CALLBACK(NPError, NP_InitializeFuncPtr)(NPNetscapeFuncs*, NPPluginFuncs*); 2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef EXPORTED_CALLBACK(char*, NP_GetMIMEDescriptionFuncPtr)(void); 2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#elif defined(ANDROID_PLUGINS) 2190901873a159d5b57e194ccb92bc8521cb24e570dDerek Sollenbergertypedef EXPORTED_CALLBACK(NPError, NP_InitializeFuncPtr)(NPNetscapeFuncs*, NPPluginFuncs*, JNIEnv *java_environment); 2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef EXPORTED_CALLBACK(char*, NP_GetMIMEDescriptionFuncPtr)(void); 2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef EXPORTED_CALLBACK(NPError, NP_InitializeFuncPtr)(NPNetscapeFuncs*); 2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef __cplusplus 2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 230