📄 npupp.h
字号:
#define NewNPN_MemFreeProc(FUNC) \ (NPN_MemFreeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFreeProcInfo, GetCurrentArchitecture())#define CallNPN_MemFreeProc(FUNC, ARG1) \ (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFreeProcInfo, (ARG1))#elsetypedef void (* NP_LOADDS NPN_MemFreeUPP)(void* ptr);#define NewNPN_MemFreeProc(FUNC) \ ((NPN_MemFreeUPP) (FUNC))#define CallNPN_MemFreeProc(FUNC, ARG1) \ (*(FUNC))((ARG1)) #endif/* NPN_MemFlush */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPN_MemFlushUPP;enum { uppNPN_MemFlushProcInfo = kThinkCStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32))) | RESULT_SIZE(SIZE_CODE(sizeof(uint32)))};#define NewNPN_MemFlushProc(FUNC) \ (NPN_MemFlushUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFlushProcInfo, GetCurrentArchitecture())#define CallNPN_MemFlushProc(FUNC, ARG1) \ (uint32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFlushProcInfo, (ARG1)) #elsetypedef uint32 (* NP_LOADDS NPN_MemFlushUPP)(uint32 size);#define NewNPN_MemFlushProc(FUNC) \ ((NPN_MemFlushUPP) (FUNC))#define CallNPN_MemFlushProc(FUNC, ARG1) \ (*(FUNC))((ARG1)) #endif/* NPN_ReloadPlugins */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPN_ReloadPluginsUPP;enum { uppNPN_ReloadPluginsProcInfo = kThinkCStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPBool))) | RESULT_SIZE(SIZE_CODE(0))};#define NewNPN_ReloadPluginsProc(FUNC) \ (NPN_ReloadPluginsUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, GetCurrentArchitecture())#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \ (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, (ARG1)) #elsetypedef void (* NP_LOADDS NPN_ReloadPluginsUPP)(NPBool reloadPages);#define NewNPN_ReloadPluginsProc(FUNC) \ ((NPN_ReloadPluginsUPP) (FUNC))#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \ (*(FUNC))((ARG1)) #endif/* NPN_GetJavaEnv */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPN_GetJavaEnvUPP;enum { uppNPN_GetJavaEnvProcInfo = kThinkCStackBased | RESULT_SIZE(SIZE_CODE(sizeof(JRIEnv*)))};#define NewNPN_GetJavaEnvProc(FUNC) \ (NPN_GetJavaEnvUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo, GetCurrentArchitecture())#define CallNPN_GetJavaEnvProc(FUNC) \ (JRIEnv*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo) #elsetypedef JRIEnv* (* NP_LOADDS NPN_GetJavaEnvUPP)(void);#define NewNPN_GetJavaEnvProc(FUNC) \ ((NPN_GetJavaEnvUPP) (FUNC))#define CallNPN_GetJavaEnvProc(FUNC) \ (*(FUNC))() #endif/* NPN_GetJavaPeer */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPN_GetJavaPeerUPP;enum { uppNPN_GetJavaPeerProcInfo = kThinkCStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) | RESULT_SIZE(SIZE_CODE(sizeof(jref)))};#define NewNPN_GetJavaPeerProc(FUNC) \ (NPN_GetJavaPeerUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, GetCurrentArchitecture())#define CallNPN_GetJavaPeerProc(FUNC, ARG1) \ (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, (ARG1)) #elsetypedef jref (* NP_LOADDS NPN_GetJavaPeerUPP)(NPP instance);#define NewNPN_GetJavaPeerProc(FUNC) \ ((NPN_GetJavaPeerUPP) (FUNC))#define CallNPN_GetJavaPeerProc(FUNC, ARG1) \ (*(FUNC))((ARG1)) #endif/* NPN_InvalidateRect */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPN_InvalidateRectUPP;enum { uppNPN_InvalidateRectProcInfo = kThinkCStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPRect *))) | RESULT_SIZE(SIZE_CODE(0))};#define NewNPN_InvalidateRectProc(FUNC) \ (NPN_InvalidateRectUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvalidateRectProcInfo, GetCurrentArchitecture())#define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \ (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvalidateRectProcInfo, (ARG1), (ARG2)) #elsetypedef void (* NP_LOADDS NPN_InvalidateRectUPP)(NPP instance, NPRect *rect);#define NewNPN_InvalidateRectProc(FUNC) \ ((NPN_InvalidateRectUPP) (FUNC))#define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \ (*(FUNC))((ARG1), (ARG2)) #endif/* NPN_InvalidateRegion */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPN_InvalidateRegionUPP;enum { uppNPN_InvalidateRegionProcInfo = kThinkCStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPRegion))) | RESULT_SIZE(SIZE_CODE(0))};#define NewNPN_InvalidateRegionProc(FUNC) \ (NPN_InvalidateRegionUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_InvalidateRegionProcInfo, GetCurrentArchitecture())#define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \ (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_InvalidateRegionProcInfo, (ARG1), (ARG2)) #elsetypedef void (* NP_LOADDS NPN_InvalidateRegionUPP)(NPP instance, NPRegion region);#define NewNPN_InvalidateRegionProc(FUNC) \ ((NPN_InvalidateRegionUPP) (FUNC))#define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \ (*(FUNC))((ARG1), (ARG2)) #endif/* NPN_ForceRedraw */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPN_ForceRedrawUPP;enum { uppNPN_ForceRedrawProcInfo = kThinkCStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) | RESULT_SIZE(SIZE_CODE(sizeof(0)))};#define NewNPN_ForceRedrawProc(FUNC) \ (NPN_ForceRedrawUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ForceRedrawProcInfo, GetCurrentArchitecture())#define CallNPN_ForceRedrawProc(FUNC, ARG1) \ (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ForceRedrawProcInfo, (ARG1)) #elsetypedef void (* NP_LOADDS NPN_ForceRedrawUPP)(NPP instance);#define NewNPN_ForceRedrawProc(FUNC) \ ((NPN_ForceRedrawUPP) (FUNC))#define CallNPN_ForceRedrawProc(FUNC, ARG1) \ (*(FUNC))((ARG1)) #endif/****************************************************************************************** * The actual plugin function table definitions *******************************************************************************************/#ifdef XP_MAC#if PRAGMA_STRUCT_ALIGN#pragma options align=mac68k#endif#endiftypedef struct _NPPluginFuncs { uint16 size; uint16 version; NPP_NewUPP newp; NPP_DestroyUPP destroy; NPP_SetWindowUPP setwindow; NPP_NewStreamUPP newstream; NPP_DestroyStreamUPP destroystream; NPP_StreamAsFileUPP asfile; NPP_WriteReadyUPP writeready; NPP_WriteUPP write; NPP_PrintUPP print; NPP_HandleEventUPP event; NPP_URLNotifyUPP urlnotify; JRIGlobalRef javaClass; NPP_GetValueUPP getvalue; NPP_SetValueUPP setvalue;} NPPluginFuncs;typedef struct _NPNetscapeFuncs { uint16 size; uint16 version; NPN_GetURLUPP geturl; NPN_PostURLUPP posturl; NPN_RequestReadUPP requestread; NPN_NewStreamUPP newstream; NPN_WriteUPP write; NPN_DestroyStreamUPP destroystream; NPN_StatusUPP status; NPN_UserAgentUPP uagent; NPN_MemAllocUPP memalloc; NPN_MemFreeUPP memfree; NPN_MemFlushUPP memflush; NPN_ReloadPluginsUPP reloadplugins; NPN_GetJavaEnvUPP getJavaEnv; NPN_GetJavaPeerUPP getJavaPeer; NPN_GetURLNotifyUPP geturlnotify; NPN_PostURLNotifyUPP posturlnotify; NPN_GetValueUPP getvalue; NPN_SetValueUPP setvalue; NPN_InvalidateRectUPP invalidaterect; NPN_InvalidateRegionUPP invalidateregion; NPN_ForceRedrawUPP forceredraw;} NPNetscapeFuncs;#ifdef XP_MAC#if PRAGMA_STRUCT_ALIGN#pragma options align=reset#endif#endif#if defined(XP_MAC) || defined(XP_MACOSX)/****************************************************************************************** * Mac platform-specific plugin glue stuff *******************************************************************************************//* * Main entry point of the plugin. * This routine will be called when the plugin is loaded. The function * tables are passed in and the plugin fills in the NPPluginFuncs table * and NPPShutdownUPP for Netscape's use. */#if _NPUPP_USE_UPP_typedef UniversalProcPtr NPP_MainEntryUPP;enum { uppNPP_MainEntryProcInfo = kThinkCStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPNetscapeFuncs*))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPluginFuncs*))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPP_ShutdownUPP*))) | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))};#define NewNPP_MainEntryProc(FUNC) \ (NPP_MainEntryUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_MainEntryProcInfo, GetCurrentArchitecture())#define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \ CallUniversalProc((UniversalProcPtr)(FUNC), (ProcInfoType)uppNPP_MainEntryProcInfo, (netscapeFunc), (pluginFunc), (shutdownUPP))#elsetypedef NPError (* NP_LOADDS NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*);#define NewNPP_MainEntryProc(FUNC) \ ((NPP_MainEntryUPP) (FUNC))#define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \ (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP))#endif/* * Mac version(s) of NP_GetMIMEDescription(const char *) * These can be called to retreive MIME information from the plugin dynamically * * Note: For compatibility with Quicktime, BPSupportedMIMEtypes is another way * to get mime info from the plugin only on OSX and may not be supported * in furture version--use NP_GetMIMEDescription instead */enum{ kBPSupportedMIMETypesStructVers_1 = 1};typedef struct _BPSupportedMIMETypes{ SInt32 structVersion; /* struct version */ Handle typeStrings; /* STR# formated handle, allocated by plug-in */ Handle infoStrings; /* STR# formated handle, allocated by plug-in */} BPSupportedMIMETypes;OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags);#if _NPUPP_USE_UPP_#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescriptionRD"typedef UniversalProcPtr NP_GetMIMEDescriptionUPP;enum { uppNP_GetMIMEDescEntryProc = kThinkCStackBased | RESULT_SIZE(SIZE_CODE(sizeof(const char *)))};#define NewNP_GetMIMEDescEntryProc(FUNC) \ (NP_GetMIMEDescriptionUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNP_GetMIMEDescEntryProc, GetCurrentArchitecture())#define CallNP_GetMIMEDescEntryProc(FUNC) \ (const char *)CallUniversalProc((UniversalProcPtr)(FUNC), (ProcInfoType)uppNP_GetMIMEDescEntryProc)#else /* !_NPUPP_USE_UPP_ */ /* NP_GetMIMEDescription */#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"typedef const char* (* NP_LOADDS NP_GetMIMEDescriptionUPP)();#define NewNP_GetMIMEDescEntryProc(FUNC) \ ((NP_GetMIMEDescriptionUPP) (FUNC))#define CallNP_GetMIMEDescEntryProc(FUNC) \ (*(FUNC))()/* BP_GetSupportedMIMETypes */typedef OSErr (* NP_LOADDS BP_GetSupportedMIMETypesUPP)(BPSupportedMIMETypes*, UInt32);#define NewBP_GetSupportedMIMETypesEntryProc(FUNC) \ ((BP_GetSupportedMIMETypesUPP) (FUNC))#define CallBP_GetMIMEDescEntryProc(FUNC, mimeInfo, flags) \ (*(FUNC))((mimeInfo), (flags))#endif#endif /* MAC */#if defined(_WINDOWS)#define OSCALL WINAPI#else#if defined(__OS2__)#define OSCALL _System#else#define OSCALL#endif#endif#if defined( _WINDOWS ) || defined (__OS2__)#ifdef __cplusplusextern "C" {#endif/* plugin meta member functions */#if defined(__OS2__)typedef struct _NPPluginData { /* Alternate OS2 Plugin interface */ char *pMimeTypes; char *pFileExtents; char *pFileOpenTemplate; char *pProductName; char *pProductDescription; unsigned long dwProductVersionMS; unsigned long dwProductVersionLS;} NPPluginData;NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);#endifNPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs);NPError OSCALL NP_Initialize(NPNetscapeFuncs* pFuncs);NPError OSCALL NP_Shutdown();char* NP_GetMIMEDescription();#ifdef __cplusplus}#endif#endif /* _WINDOWS || __OS2__ */#if defined(__OS2__)#pragma pack()#endif#ifdef XP_UNIX#ifdef __cplusplusextern "C" {#endif/* plugin meta member functions */char* NP_GetMIMEDescription(void);NPError NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*);NPError NP_Shutdown(void);NPError NP_GetValue(void *future, NPPVariable aVariable, void *aValue);#ifdef __cplusplus}#endif#endif /* XP_UNIX */#endif /* _NPUPP_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -