00001
00002
00003
00004
00005 #ifndef _NPUPP_H_
00006 #define _NPUPP_H_
00007
00008 #ifndef GENERATINGCFM
00009 #define GENERATINGCFM 0
00010 #endif
00011
00012 #ifndef _NPAPI_H_
00013 #include "npapi.h"
00014 #endif
00015
00016 #include "jri.h"
00017
00018 #if GENERATINGCFM
00019 typedef UniversalProcPtr NPP_InitializeUPP;
00020
00021 enum {
00022 uppNPP_InitializeProcInfo = kThinkCStackBased
00023 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
00024 | RESULT_SIZE(SIZE_CODE(0))
00025 };
00026
00027 #define NewNPP_InitializeProc(FUNC) \
00028 (NPP_InitializeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_InitializeProcInfo, GetCurrentArchitecture())
00029 #define CallNPP_InitializeProc(FUNC) \
00030 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_InitializeProcInfo)
00031
00032 #else
00033
00034 typedef void (*NPP_InitializeUPP)(void);
00035 #define NewNPP_InitializeProc(FUNC) \
00036 ((NPP_InitializeUPP) (FUNC))
00037 #define CallNPP_InitializeProc(FUNC) \
00038 (*(FUNC))()
00039
00040 #endif
00041
00042 #if GENERATINGCFM
00043 typedef UniversalProcPtr NPP_ShutdownUPP;
00044
00045 enum {
00046 uppNPP_ShutdownProcInfo = kThinkCStackBased
00047 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0))
00048 | RESULT_SIZE(SIZE_CODE(0))
00049 };
00050
00051 #define NewNPP_ShutdownProc(FUNC) \
00052 (NPP_ShutdownUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_ShutdownProcInfo, GetCurrentArchitecture())
00053 #define CallNPP_ShutdownProc(FUNC) \
00054 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_ShutdownProcInfo)
00055
00056 #else
00057
00058 typedef void (*NPP_ShutdownUPP)(void);
00059 #define NewNPP_ShutdownProc(FUNC) \
00060 ((NPP_ShutdownUPP) (FUNC))
00061 #define CallNPP_ShutdownProc(FUNC) \
00062 (*(FUNC))()
00063
00064 #endif
00065
00066 #if GENERATINGCFM
00067 typedef UniversalProcPtr NPP_NewUPP;
00068
00069 enum {
00070 uppNPP_NewProcInfo = kThinkCStackBased
00071 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPMIMEType)))
00072 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPP)))
00073 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(uint16)))
00074 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int16)))
00075 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(char **)))
00076 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(char **)))
00077 | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(NPSavedData *)))
00078 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00079 };
00080
00081 #define NewNPP_NewProc(FUNC) \
00082 (NPP_NewUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewProcInfo, GetCurrentArchitecture())
00083 #define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00084 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewProcInfo, \
00085 (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00086 #else
00087
00088 typedef NPError (*NPP_NewUPP)(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved);
00089 #define NewNPP_NewProc(FUNC) \
00090 ((NPP_NewUPP) (FUNC))
00091 #define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00092 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00093
00094 #endif
00095
00096 #if GENERATINGCFM
00097
00098 typedef UniversalProcPtr NPP_DestroyUPP;
00099 enum {
00100 uppNPP_DestroyProcInfo = kThinkCStackBased
00101 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00102 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPSavedData **)))
00103 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00104 };
00105 #define NewNPP_DestroyProc(FUNC) \
00106 (NPP_DestroyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyProcInfo, GetCurrentArchitecture())
00107 #define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
00108 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyProcInfo, (ARG1), (ARG2))
00109 #else
00110
00111 typedef NPError (*NPP_DestroyUPP)(NPP instance, NPSavedData** save);
00112 #define NewNPP_DestroyProc(FUNC) \
00113 ((NPP_DestroyUPP) (FUNC))
00114 #define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \
00115 (*(FUNC))((ARG1), (ARG2))
00116
00117 #endif
00118
00119 #if GENERATINGCFM
00120
00121 typedef UniversalProcPtr NPP_SetWindowUPP;
00122 enum {
00123 uppNPP_SetWindowProcInfo = kThinkCStackBased
00124 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00125 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPWindow *)))
00126 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00127 };
00128 #define NewNPP_SetWindowProc(FUNC) \
00129 (NPP_SetWindowUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_SetWindowProcInfo, GetCurrentArchitecture())
00130 #define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
00131 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_SetWindowProcInfo, (ARG1), (ARG2))
00132
00133 #else
00134
00135 typedef NPError (*NPP_SetWindowUPP)(NPP instance, NPWindow* window);
00136 #define NewNPP_SetWindowProc(FUNC) \
00137 ((NPP_SetWindowUPP) (FUNC))
00138 #define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \
00139 (*(FUNC))((ARG1), (ARG2))
00140
00141 #endif
00142
00143 #if GENERATINGCFM
00144
00145 typedef UniversalProcPtr NPP_NewStreamUPP;
00146 enum {
00147 uppNPP_NewStreamProcInfo = kThinkCStackBased
00148 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00149 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType)))
00150 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPStream *)))
00151 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPBool)))
00152 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(uint16 *)))
00153 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00154 };
00155 #define NewNPP_NewStreamProc(FUNC) \
00156 (NPP_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewStreamProcInfo, GetCurrentArchitecture())
00157 #define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
00158 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewStreamProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
00159 #else
00160
00161 typedef NPError (*NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype);
00162 #define NewNPP_NewStreamProc(FUNC) \
00163 ((NPP_NewStreamUPP) (FUNC))
00164 #define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
00165 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
00166 #endif
00167
00168 #if GENERATINGCFM
00169
00170 typedef UniversalProcPtr NPP_DestroyStreamUPP;
00171 enum {
00172 uppNPP_DestroyStreamProcInfo = kThinkCStackBased
00173 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00174 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00175 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
00176 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00177 };
00178 #define NewNPP_DestroyStreamProc(FUNC) \
00179 (NPP_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, GetCurrentArchitecture())
00180 #define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
00181 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, (NPParg), (NPStreamPtr), (NPReasonArg))
00182
00183 #else
00184
00185 typedef NPError (*NPP_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
00186 #define NewNPP_DestroyStreamProc(FUNC) \
00187 ((NPP_DestroyStreamUPP) (FUNC))
00188 #define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \
00189 (*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg))
00190
00191 #endif
00192
00193 #if GENERATINGCFM
00194
00195 typedef UniversalProcPtr NPP_WriteReadyUPP;
00196 enum {
00197 uppNPP_WriteReadyProcInfo = kThinkCStackBased
00198 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00199 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00200 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
00201 };
00202 #define NewNPP_WriteReadyProc(FUNC) \
00203 (NPP_WriteReadyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, GetCurrentArchitecture())
00204 #define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
00205 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, (NPParg), (NPStreamPtr))
00206
00207 #else
00208
00209 typedef int32 (*NPP_WriteReadyUPP)(NPP instance, NPStream* stream);
00210 #define NewNPP_WriteReadyProc(FUNC) \
00211 ((NPP_WriteReadyUPP) (FUNC))
00212 #define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \
00213 (*(FUNC))((NPParg), (NPStreamPtr))
00214
00215 #endif
00216
00217 #if GENERATINGCFM
00218
00219 typedef UniversalProcPtr NPP_WriteUPP;
00220 enum {
00221 uppNPP_WriteProcInfo = kThinkCStackBased
00222 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00223 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00224 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32)))
00225 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int32)))
00226 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(void*)))
00227 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
00228 };
00229 #define NewNPP_WriteProc(FUNC) \
00230 (NPP_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteProcInfo, GetCurrentArchitecture())
00231 #define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
00232 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteProcInfo, (NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
00233
00234 #else
00235
00236 typedef int32 (*NPP_WriteUPP)(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer);
00237 #define NewNPP_WriteProc(FUNC) \
00238 ((NPP_WriteUPP) (FUNC))
00239 #define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \
00240 (*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
00241
00242 #endif
00243
00244 #if GENERATINGCFM
00245
00246 typedef UniversalProcPtr NPP_StreamAsFileUPP;
00247 enum {
00248 uppNPP_StreamAsFileProcInfo = kThinkCStackBased
00249 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00250 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00251 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *)))
00252 | RESULT_SIZE(SIZE_CODE(0))
00253 };
00254 #define NewNPP_StreamAsFileProc(FUNC) \
00255 (NPP_StreamAsFileUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, GetCurrentArchitecture())
00256 #define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
00257 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, (ARG1), (ARG2), (ARG3))
00258
00259 #else
00260
00261 typedef void (*NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, const char* fname);
00262 #define NewNPP_StreamAsFileProc(FUNC) \
00263 ((NPP_StreamAsFileUPP) (FUNC))
00264 #define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \
00265 (*(FUNC))((ARG1), (ARG2), (ARG3))
00266 #endif
00267
00268 #if GENERATINGCFM
00269
00270 typedef UniversalProcPtr NPP_PrintUPP;
00271 enum {
00272 uppNPP_PrintProcInfo = kThinkCStackBased
00273 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00274 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPrint *)))
00275 | RESULT_SIZE(SIZE_CODE(0))
00276 };
00277 #define NewNPP_PrintProc(FUNC) \
00278 (NPP_PrintUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_PrintProcInfo, GetCurrentArchitecture())
00279 #define CallNPP_PrintProc(FUNC, NPParg, voidPtr) \
00280 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_PrintProcInfo, (NPParg), (voidPtr))
00281
00282 #else
00283
00284 typedef void (*NPP_PrintUPP)(NPP instance, NPPrint* platformPrint);
00285 #define NewNPP_PrintProc(FUNC) \
00286 ((NPP_PrintUPP) (FUNC))
00287 #define CallNPP_PrintProc(FUNC, NPParg, NPPrintArg) \
00288 (*(FUNC))((NPParg), (NPPrintArg))
00289
00290 #endif
00291
00292 #if GENERATINGCFM
00293
00294 typedef UniversalProcPtr NPP_HandleEventUPP;
00295 enum {
00296 uppNPP_HandleEventProcInfo = kThinkCStackBased
00297 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00298 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void *)))
00299 | RESULT_SIZE(SIZE_CODE(sizeof(int16)))
00300 };
00301 #define NewNPP_HandleEventProc(FUNC) \
00302 (NPP_HandleEventUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_HandleEventProcInfo, GetCurrentArchitecture())
00303 #define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
00304 (int16)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_HandleEventProcInfo, (NPParg), (voidPtr))
00305
00306 #else
00307
00308 typedef int16 (*NPP_HandleEventUPP)(NPP instance, void* event);
00309 #define NewNPP_HandleEventProc(FUNC) \
00310 ((NPP_HandleEventUPP) (FUNC))
00311 #define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \
00312 (*(FUNC))((NPParg), (voidPtr))
00313
00314 #endif
00315
00316 #if GENERATINGCFM
00317
00318 typedef UniversalProcPtr NPP_URLNotifyUPP;
00319 enum {
00320 uppNPP_URLNotifyProcInfo = kThinkCStackBased
00321 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00322 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00323 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
00324 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
00325 | RESULT_SIZE(SIZE_CODE(SIZE_CODE(0)))
00326 };
00327 #define NewNPP_URLNotifyProc(FUNC) \
00328 (NPP_URLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, GetCurrentArchitecture())
00329 #define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00330 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
00331
00332 #else
00333
00334 typedef void (*NPP_URLNotifyUPP)(NPP instance, const char* url, NPReason reason, void* notifyData);
00335 #define NewNPP_URLNotifyProc(FUNC) \
00336 ((NPP_URLNotifyUPP) (FUNC))
00337 #define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00338 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00339
00340 #endif
00341
00342 #ifdef XP_UNIX
00343
00344 #if GENERATINGCFM
00345
00346 typedef UniversalProcPtr NPN_GetValueUPP;
00347 enum {
00348 uppNPN_GetValueProcInfo = kThinkCStackBased
00349 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00350 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPNVariable)))
00351 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *)))
00352 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00353 };
00354 #define NewNPN_GetValueProc(FUNC) \
00355 (NPN_GetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetValueProcInfo, GetCurrentArchitecture())
00356 #define CallNPN_GetURNotifyLProc(FUNC, ARG1, ARG2, ARG3) \
00357 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetValueProcInfo, (ARG1), (ARG2), (ARG3))
00358 #else
00359
00360 typedef NPError (*NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
00361 #define NewNPN_GetValueProc(FUNC) \
00362 ((NPN_GetValueUPP) (FUNC))
00363 #define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
00364 (*(FUNC))((ARG1), (ARG2), (ARG3))
00365 #endif
00366
00367 #endif
00368
00369 #if GENERATINGCFM
00370
00371 typedef UniversalProcPtr NPN_GetURLNotifyUPP;
00372 enum {
00373 uppNPN_GetURLNotifyProcInfo = kThinkCStackBased
00374 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00375 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00376 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00377 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
00378 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00379 };
00380 #define NewNPN_GetURLNotifyProc(FUNC) \
00381 (NPN_GetURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, GetCurrentArchitecture())
00382 #define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00383 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4))
00384 #else
00385
00386 typedef NPError (*NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData);
00387 #define NewNPN_GetURLNotifyProc(FUNC) \
00388 ((NPN_GetURLNotifyUPP) (FUNC))
00389 #define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
00390 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
00391 #endif
00392
00393 #if GENERATINGCFM
00394
00395 typedef UniversalProcPtr NPN_PostURLNotifyUPP;
00396 enum {
00397 uppNPN_PostURLNotifyProcInfo = kThinkCStackBased
00398 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00399 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00400 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00401 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32)))
00402 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*)))
00403 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool)))
00404 | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(void*)))
00405 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00406 };
00407 #define NewNPN_PostURLNotifyProc(FUNC) \
00408 (NPN_PostURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, GetCurrentArchitecture())
00409 #define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00410 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00411 #else
00412
00413 typedef NPError (*NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData);
00414 #define NewNPN_PostURLNotifyProc(FUNC) \
00415 ((NPN_PostURLNotifyUPP) (FUNC))
00416 #define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
00417 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
00418 #endif
00419
00420 #if GENERATINGCFM
00421
00422 typedef UniversalProcPtr NPN_GetURLUPP;
00423 enum {
00424 uppNPN_GetURLProcInfo = kThinkCStackBased
00425 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00426 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00427 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00428 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00429 };
00430 #define NewNPN_GetURLProc(FUNC) \
00431 (NPN_GetURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLProcInfo, GetCurrentArchitecture())
00432 #define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
00433 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLProcInfo, (ARG1), (ARG2), (ARG3))
00434 #else
00435
00436 typedef NPError (*NPN_GetURLUPP)(NPP instance, const char* url, const char* window);
00437 #define NewNPN_GetURLProc(FUNC) \
00438 ((NPN_GetURLUPP) (FUNC))
00439 #define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
00440 (*(FUNC))((ARG1), (ARG2), (ARG3))
00441 #endif
00442
00443 #if GENERATINGCFM
00444
00445 typedef UniversalProcPtr NPN_PostURLUPP;
00446 enum {
00447 uppNPN_PostURLProcInfo = kThinkCStackBased
00448 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00449 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*)))
00450 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*)))
00451 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32)))
00452 | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*)))
00453 | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool)))
00454 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00455 };
00456 #define NewNPN_PostURLProc(FUNC) \
00457 (NPN_PostURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLProcInfo, GetCurrentArchitecture())
00458 #define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
00459 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
00460 #else
00461
00462 typedef NPError (*NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file);
00463 #define NewNPN_PostURLProc(FUNC) \
00464 ((NPN_PostURLUPP) (FUNC))
00465 #define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
00466 (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
00467 #endif
00468
00469 #if GENERATINGCFM
00470
00471 typedef UniversalProcPtr NPN_RequestReadUPP;
00472 enum {
00473 uppNPN_RequestReadProcInfo = kThinkCStackBased
00474 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPStream *)))
00475 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPByteRange *)))
00476 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00477 };
00478 #define NewNPN_RequestReadProc(FUNC) \
00479 (NPN_RequestReadUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_RequestReadProcInfo, GetCurrentArchitecture())
00480 #define CallNPN_RequestReadProc(FUNC, stream, range) \
00481 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_RequestReadProcInfo, (stream), (range))
00482
00483 #else
00484
00485 typedef NPError (*NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList);
00486 #define NewNPN_RequestReadProc(FUNC) \
00487 ((NPN_RequestReadUPP) (FUNC))
00488 #define CallNPN_RequestReadProc(FUNC, stream, range) \
00489 (*(FUNC))((stream), (range))
00490
00491 #endif
00492
00493 #if GENERATINGCFM
00494
00495 typedef UniversalProcPtr NPN_NewStreamUPP;
00496 enum {
00497 uppNPN_NewStreamProcInfo = kThinkCStackBased
00498 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00499 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType)))
00500 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *)))
00501 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPStream **)))
00502 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00503 };
00504 #define NewNPN_NewStreamProc(FUNC) \
00505 (NPN_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_NewStreamProcInfo, GetCurrentArchitecture())
00506 #define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
00507 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_NewStreamProcInfo, (npp), (type), (window), (stream))
00508
00509 #else
00510
00511 typedef NPError (*NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
00512 #define NewNPN_NewStreamProc(FUNC) \
00513 ((NPN_NewStreamUPP) (FUNC))
00514 #define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
00515 (*(FUNC))((npp), (type), (window), (stream))
00516
00517 #endif
00518
00519 #if GENERATINGCFM
00520
00521 typedef UniversalProcPtr NPN_WriteUPP;
00522 enum {
00523 uppNPN_WriteProcInfo = kThinkCStackBased
00524 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00525 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00526 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32)))
00527 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
00528 | RESULT_SIZE(SIZE_CODE(sizeof(int32)))
00529 };
00530 #define NewNPN_WriteProc(FUNC) \
00531 (NPN_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_WriteProcInfo, GetCurrentArchitecture())
00532 #define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
00533 (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_WriteProcInfo, (npp), (stream), (len), (buffer))
00534
00535 #else
00536
00537 typedef int32 (*NPN_WriteUPP)(NPP instance, NPStream* stream, int32 len, void* buffer);
00538 #define NewNPN_WriteProc(FUNC) \
00539 ((NPN_WriteUPP) (FUNC))
00540 #define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
00541 (*(FUNC))((npp), (stream), (len), (buffer))
00542
00543 #endif
00544
00545 #if GENERATINGCFM
00546
00547 typedef UniversalProcPtr NPN_DestroyStreamUPP;
00548 enum {
00549 uppNPN_DestroyStreamProcInfo = kThinkCStackBased
00550 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP )))
00551 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *)))
00552 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason)))
00553 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00554 };
00555 #define NewNPN_DestroyStreamProc(FUNC) \
00556 (NPN_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, GetCurrentArchitecture())
00557 #define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
00558 (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, (npp), (stream), (reason))
00559
00560 #else
00561
00562 typedef NPError (*NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
00563 #define NewNPN_DestroyStreamProc(FUNC) \
00564 ((NPN_DestroyStreamUPP) (FUNC))
00565 #define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
00566 (*(FUNC))((npp), (stream), (reason))
00567
00568 #endif
00569
00570 #if GENERATINGCFM
00571
00572 typedef UniversalProcPtr NPN_StatusUPP;
00573 enum {
00574 uppNPN_StatusProcInfo = kThinkCStackBased
00575 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00576 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char *)))
00577 };
00578
00579 #define NewNPN_StatusProc(FUNC) \
00580 (NPN_StatusUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_StatusProcInfo, GetCurrentArchitecture())
00581 #define CallNPN_StatusProc(FUNC, npp, msg) \
00582 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_StatusProcInfo, (npp), (msg))
00583
00584 #else
00585
00586 typedef void (*NPN_StatusUPP)(NPP instance, const char* message);
00587 #define NewNPN_StatusProc(FUNC) \
00588 ((NPN_StatusUPP) (FUNC))
00589 #define CallNPN_StatusProc(FUNC, npp, msg) \
00590 (*(FUNC))((npp), (msg))
00591
00592 #endif
00593
00594 #if GENERATINGCFM
00595
00596 typedef UniversalProcPtr NPN_UserAgentUPP;
00597 enum {
00598 uppNPN_UserAgentProcInfo = kThinkCStackBased
00599 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00600 | RESULT_SIZE(SIZE_CODE(sizeof(const char *)))
00601 };
00602
00603 #define NewNPN_UserAgentProc(FUNC) \
00604 (NPN_UserAgentUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_UserAgentProcInfo, GetCurrentArchitecture())
00605 #define CallNPN_UserAgentProc(FUNC, ARG1) \
00606 (const char*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_UserAgentProcInfo, (ARG1))
00607
00608 #else
00609
00610 typedef const char* (*NPN_UserAgentUPP)(NPP instance);
00611 #define NewNPN_UserAgentProc(FUNC) \
00612 ((NPN_UserAgentUPP) (FUNC))
00613 #define CallNPN_UserAgentProc(FUNC, ARG1) \
00614 (*(FUNC))((ARG1))
00615
00616 #endif
00617
00618 #if GENERATINGCFM
00619
00620 typedef UniversalProcPtr NPN_MemAllocUPP;
00621 enum {
00622 uppNPN_MemAllocProcInfo = kThinkCStackBased
00623 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32)))
00624 | RESULT_SIZE(SIZE_CODE(sizeof(void *)))
00625 };
00626
00627 #define NewNPN_MemAllocProc(FUNC) \
00628 (NPN_MemAllocUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemAllocProcInfo, GetCurrentArchitecture())
00629 #define CallNPN_MemAllocProc(FUNC, ARG1) \
00630 (void*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemAllocProcInfo, (ARG1))
00631
00632 #else
00633
00634 typedef void* (*NPN_MemAllocUPP)(uint32 size);
00635 #define NewNPN_MemAllocProc(FUNC) \
00636 ((NPN_MemAllocUPP) (FUNC))
00637 #define CallNPN_MemAllocProc(FUNC, ARG1) \
00638 (*(FUNC))((ARG1))
00639
00640 #endif
00641
00642 #if GENERATINGCFM
00643
00644 typedef UniversalProcPtr NPN_MemFreeUPP;
00645 enum {
00646 uppNPN_MemFreeProcInfo = kThinkCStackBased
00647 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void *)))
00648 };
00649
00650 #define NewNPN_MemFreeProc(FUNC) \
00651 (NPN_MemFreeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFreeProcInfo, GetCurrentArchitecture())
00652 #define CallNPN_MemFreeProc(FUNC, ARG1) \
00653 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFreeProcInfo, (ARG1))
00654
00655 #else
00656
00657 typedef void (*NPN_MemFreeUPP)(void* ptr);
00658 #define NewNPN_MemFreeProc(FUNC) \
00659 ((NPN_MemFreeUPP) (FUNC))
00660 #define CallNPN_MemFreeProc(FUNC, ARG1) \
00661 (*(FUNC))((ARG1))
00662
00663 #endif
00664
00665 #if GENERATINGCFM
00666
00667 typedef UniversalProcPtr NPN_MemFlushUPP;
00668 enum {
00669 uppNPN_MemFlushProcInfo = kThinkCStackBased
00670 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32)))
00671 | RESULT_SIZE(SIZE_CODE(sizeof(uint32)))
00672 };
00673
00674 #define NewNPN_MemFlushProc(FUNC) \
00675 (NPN_MemFlushUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFlushProcInfo, GetCurrentArchitecture())
00676 #define CallNPN_MemFlushProc(FUNC, ARG1) \
00677 (uint32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFlushProcInfo, (ARG1))
00678
00679 #else
00680
00681 typedef uint32 (*NPN_MemFlushUPP)(uint32 size);
00682 #define NewNPN_MemFlushProc(FUNC) \
00683 ((NPN_MemFlushUPP) (FUNC))
00684 #define CallNPN_MemFlushProc(FUNC, ARG1) \
00685 (*(FUNC))((ARG1))
00686
00687 #endif
00688
00689 #if GENERATINGCFM
00690
00691 typedef UniversalProcPtr NPN_ReloadPluginsUPP;
00692 enum {
00693 uppNPN_ReloadPluginsProcInfo = kThinkCStackBased
00694 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPBool)))
00695 | RESULT_SIZE(SIZE_CODE(0))
00696 };
00697
00698 #define NewNPN_ReloadPluginsProc(FUNC) \
00699 (NPN_ReloadPluginsUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, GetCurrentArchitecture())
00700 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
00701 (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, (ARG1))
00702
00703 #else
00704
00705 typedef void (*NPN_ReloadPluginsUPP)(NPBool reloadPages);
00706 #define NewNPN_ReloadPluginsProc(FUNC) \
00707 ((NPN_ReloadPluginsUPP) (FUNC))
00708 #define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
00709 (*(FUNC))((ARG1))
00710
00711 #endif
00712
00713 #if GENERATINGCFM
00714
00715 typedef UniversalProcPtr NPN_GetJavaEnvUPP;
00716 enum {
00717 uppNPN_GetJavaEnvProcInfo = kThinkCStackBased
00718 | RESULT_SIZE(SIZE_CODE(sizeof(JRIEnv*)))
00719 };
00720
00721 #define NewNPN_GetJavaEnvProc(FUNC) \
00722 (NPN_GetJavaEnvUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo, GetCurrentArchitecture())
00723 #define CallNPN_GetJavaEnvProc(FUNC) \
00724 (JRIEnv*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo)
00725
00726 #else
00727
00728 typedef JRIEnv* (*NPN_GetJavaEnvUPP)(void);
00729 #define NewNPN_GetJavaEnvProc(FUNC) \
00730 ((NPN_GetJavaEnvUPP) (FUNC))
00731 #define CallNPN_GetJavaEnvProc(FUNC) \
00732 (*(FUNC))()
00733
00734 #endif
00735
00736 #if GENERATINGCFM
00737
00738 typedef UniversalProcPtr NPN_GetJavaPeerUPP;
00739 enum {
00740 uppNPN_GetJavaPeerProcInfo = kThinkCStackBased
00741 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP)))
00742 | RESULT_SIZE(SIZE_CODE(sizeof(jref)))
00743 };
00744
00745 #define NewNPN_GetJavaPeerProc(FUNC) \
00746 (NPN_GetJavaPeerUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, GetCurrentArchitecture())
00747 #define CallNPN_GetJavaPeerProc(FUNC, ARG1) \
00748 (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, (ARG1))
00749
00750 #else
00751
00752 typedef jref (*NPN_GetJavaPeerUPP)(NPP instance);
00753 #define NewNPN_GetJavaPeerProc(FUNC) \
00754 ((NPN_GetJavaPeerUPP) (FUNC))
00755 #define CallNPN_GetJavaPeerProc(FUNC, ARG1) \
00756 (*(FUNC))((ARG1))
00757
00758 #endif
00759
00760 typedef struct _NPPluginFuncs {
00761 uint16 size;
00762 uint16 version;
00763 NPP_NewUPP newp;
00764 NPP_DestroyUPP destroy;
00765 NPP_SetWindowUPP setwindow;
00766 NPP_NewStreamUPP newstream;
00767 NPP_DestroyStreamUPP destroystream;
00768 NPP_StreamAsFileUPP asfile;
00769 NPP_WriteReadyUPP writeready;
00770 NPP_WriteUPP write;
00771 NPP_PrintUPP print;
00772 NPP_HandleEventUPP event;
00773 NPP_URLNotifyUPP urlnotify;
00774 JRIGlobalRef javaClass;
00775 } NPPluginFuncs;
00776
00777 typedef struct _NPNetscapeFuncs {
00778 uint16 size;
00779 uint16 version;
00780 NPN_GetURLUPP geturl;
00781 NPN_PostURLUPP posturl;
00782 NPN_RequestReadUPP requestread;
00783 NPN_NewStreamUPP newstream;
00784 NPN_WriteUPP write;
00785 NPN_DestroyStreamUPP destroystream;
00786 NPN_StatusUPP status;
00787 NPN_UserAgentUPP uagent;
00788 NPN_MemAllocUPP memalloc;
00789 NPN_MemFreeUPP memfree;
00790 NPN_MemFlushUPP memflush;
00791 NPN_ReloadPluginsUPP reloadplugins;
00792 NPN_GetJavaEnvUPP getJavaEnv;
00793 NPN_GetJavaPeerUPP getJavaPeer;
00794 NPN_GetURLNotifyUPP geturlnotify;
00795 NPN_PostURLNotifyUPP posturlnotify;
00796 #ifdef XP_UNIX
00797 NPN_GetValueUPP getvalue;
00798 #endif
00799 } NPNetscapeFuncs;
00800
00801 #ifdef XP_MAC
00802
00803 #if GENERATINGCFM
00804
00805 typedef UniversalProcPtr NPP_MainEntryUPP;
00806 enum {
00807 uppNPP_MainEntryProcInfo = kThinkCStackBased
00808 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPNetscapeFuncs*)))
00809 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPluginFuncs*)))
00810 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPP_ShutdownUPP*)))
00811 | RESULT_SIZE(SIZE_CODE(sizeof(NPError)))
00812 };
00813 #define NewNPP_MainEntryProc(FUNC) \
00814 (NPP_MainEntryUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_MainEntryProcInfo, GetCurrentArchitecture())
00815 #define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
00816 CallUniversalProc((UniversalProcPtr)(FUNC), (ProcInfoType)uppNPP_MainEntryProcInfo, (netscapeFunc), (pluginFunc), (shutdownUPP))
00817
00818 #else
00819
00820 typedef NPError (*NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*);
00821 #define NewNPP_MainEntryProc(FUNC) \
00822 ((NPP_MainEntryUPP) (FUNC))
00823 #define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \
00824 (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP))
00825
00826 #endif
00827 #endif
00828
00829 #ifdef _WINDOWS
00830
00831 #ifdef __cplusplus
00832 extern "C" {
00833 #endif
00834
00835 NPError WINAPI NP_GetEntryPoints(NPPluginFuncs* pFuncs);
00836
00837 NPError WINAPI NP_Initialize(NPNetscapeFuncs* pFuncs);
00838
00839 NPError WINAPI NP_Shutdown();
00840
00841 #ifdef __cplusplus
00842 }
00843 #endif
00844
00845 #endif
00846
00847 #ifdef XP_UNIX
00848
00849 #ifdef __cplusplus
00850 extern "C" {
00851 #endif
00852
00853 char* NP_GetMIMEDescription(void);
00854 NPError NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*);
00855 NPError NP_Shutdown(void);
00856
00857 #ifdef __cplusplus
00858 }
00859 #endif
00860
00861 #endif
00862
00863 #endif