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 
00046 
00047 
00048 #ifndef _NPAPI_H_
00049 #define _NPAPI_H_
00050 
00051 #define GENERIC_CONTEXTS
00052 
00053 #ifdef INCLUDE_JAVA
00054 #include "jri.h"                
00055 #else
00056 #ifndef __SYMBIAN32__
00057 #define jref    void *
00058 #define JRIEnv  void
00059 #endif
00060 #endif
00061 
00062 #ifdef _WIN32
00063 #    ifndef XP_WIN
00064 #        define XP_WIN 1
00065 #    endif 
00066 #endif 
00067 
00068 #ifdef __MWERKS__
00069 #    define _declspec __declspec
00070 #    ifdef macintosh
00071 #        ifndef XP_MAC
00072 #            define XP_MAC 1
00073 #        endif 
00074 #    endif 
00075 #    ifdef __INTEL__
00076 #        undef NULL
00077 #        ifndef XP_WIN
00078 #            define XP_WIN 1
00079 #        endif 
00080 #    endif 
00081 #endif 
00082 
00083 #ifdef __SYMBIAN32__
00084 #undef XP_WIN
00085 #endif
00086 
00087 #if defined(__APPLE_CC__) && !defined(__MACOS_CLASSIC__)
00088 #   define XP_MACOSX
00089 #endif
00090 
00091 #ifdef XP_MAC
00092     #include <Quickdraw.h>
00093     #include <Events.h>
00094 #endif
00095 
00096 #ifdef XP_MACOSX
00097     #include <Carbon/Carbon.h>
00098     #include <ApplicationServices/ApplicationServices.h>
00099     #include <OpenGL/OpenGL.h>
00100 #endif
00101 
00102 #ifdef XP_UNIX
00103     #include <X11/Xlib.h>
00104     #include <X11/Xutil.h>
00105 #endif
00106 
00107 #ifdef XP_WIN
00108     #include <windows.h>
00109 #endif
00110 
00111 #ifdef __SYMBIAN32__
00112 #include <np_defines.h>
00113 #endif
00114 #if defined(XP_MACOSX) && defined(__LP64__)
00115 #error 64-bit Netscape plug-ins are not supported on Mac OS X
00116 #endif
00117 
00118 
00119 
00120 
00121 
00122 #define NP_VERSION_MAJOR 0
00123 #define NP_VERSION_MINOR 18
00124 
00125 
00126 
00127 
00128 
00129 
00130 
00131 #ifndef _UINT16
00132 #define _UINT16
00133 typedef unsigned short uint16;
00134 #endif
00135 
00136 #ifndef _UINT32
00137 #define _UINT32
00138 #ifdef __LP64__
00139 typedef unsigned int uint32;
00140 #else 
00141 typedef unsigned long uint32;
00142 #endif 
00143 #endif
00144 
00145 #ifndef _INT16
00146 #define _INT16
00147 typedef short int16;
00148 #endif
00149 
00150 #ifndef _INT32
00151 #define _INT32
00152 #ifdef __LP64__
00153 typedef int int32;
00154 #else 
00155 typedef long int32;
00156 #endif 
00157 #endif
00158 
00159 #ifndef FALSE
00160 #define FALSE (0)
00161 #endif
00162 #ifndef TRUE
00163 #define TRUE (1)
00164 #endif
00165 #ifndef NULL
00166 #define NULL (0L)
00167 #endif
00168 
00169 typedef unsigned char    NPBool;
00170 typedef int16            NPError;
00171 typedef int16            NPReason;
00172 #ifndef __SYMBIAN32__
00173 typedef char*                    NPMIMEType;
00174 #else
00175 typedef const TDesC8&    NPMIMEType;
00176 #endif
00177 
00178 
00179 
00180 
00181 
00182 #if !defined(__LP64__)
00183 #if defined(XP_MAC) || defined(XP_MACOSX)
00184 #pragma options align=mac68k
00185 #endif
00186 #endif 
00187 
00188 
00189 
00190 
00191 #ifdef __SYMBIAN32__ 
00192 #ifndef _NP_RUNTIME_H_NPP
00193 #define _NP_RUNTIME_H_NPP
00194 typedef struct _NPP
00195 {
00196     void*    pdata;            
00197     void*    ndata;            
00198 } NPP_t;
00199 
00200 typedef NPP_t*    NPP;
00201 #endif // _NP_RUNTIME_H_NPP
00202 #else
00203 typedef struct _NPP
00204 {
00205     void*    pdata;            
00206     void*    ndata;            
00207 } NPP_t;
00208 
00209 typedef NPP_t*    NPP;
00210 #endif //
00211 
00212 typedef struct _NPStream
00213 {
00214     void*        pdata;        
00215     void*        ndata;        
00216 #ifndef __SYMBIAN32__ 
00217     const char*  url;
00218 #else 
00219     HBufC* url;
00220 #endif
00221     uint32       end;
00222     uint32       lastmodified;
00223     void*        notifyData;
00224     const char*  headers;      
00225 
00226 
00227 
00228 
00229 
00230 
00231 
00232 
00233 
00234 } NPStream;
00235 
00236 
00237 typedef struct _NPByteRange
00238 {
00239     int32      offset;         
00240     uint32     length;
00241     struct _NPByteRange* next;
00242 } NPByteRange;
00243 
00244 
00245 typedef struct _NPSavedData
00246 {
00247     int32    len;
00248     void*    buf;
00249 } NPSavedData;
00250 
00251 
00252 typedef struct _NPRect
00253 {
00254     uint16    top;
00255     uint16    left;
00256     uint16    bottom;
00257     uint16    right;
00258 } NPRect;
00259 
00260 
00261 #ifdef XP_UNIX
00262 
00263 
00264 
00265 
00266 
00267 
00268 
00269 
00270 
00271 enum {
00272     NP_SETWINDOW = 1,
00273     NP_PRINT
00274 };
00275 
00276 typedef struct
00277 {
00278     int32        type;
00279 } NPAnyCallbackStruct;
00280 
00281 typedef struct
00282 {
00283     int32           type;
00284     Display*        display;
00285     Visual*         visual;
00286     Colormap        colormap;
00287     unsigned int    depth;
00288 } NPSetWindowCallbackStruct;
00289 
00290 typedef struct
00291 {
00292     int32            type;
00293     FILE*            fp;
00294 } NPPrintCallbackStruct;
00295 
00296 #endif 
00297 
00298 
00299 
00300 
00301 
00302 
00303 
00304 
00305 
00306 
00307 
00308 
00309 
00310 
00311 #define NP_ABI_GCC3_MASK  0x10000000
00312 
00313 
00314 
00315 
00316 #if (defined (XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3))
00317 #define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK
00318 #else
00319 #define _NP_ABI_MIXIN_FOR_GCC3 0
00320 #endif
00321 
00322 #define NP_ABI_MACHO_MASK 0x01000000
00323 
00324 
00325 
00326 
00327 
00328 
00329 
00330 #if (defined(TARGET_RT_MAC_MACHO))
00331 #define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK
00332 #else
00333 #define _NP_ABI_MIXIN_FOR_MACHO 0
00334 #endif
00335 
00336 
00337 #define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO)
00338 
00339 
00340 
00341 
00342 typedef enum {
00343     NPPVpluginNameString = 1,
00344     NPPVpluginDescriptionString,
00345     NPPVpluginWindowBool,
00346     NPPVpluginTransparentBool,
00347 
00348     NPPVjavaClass,                
00349     NPPVpluginWindowSize,         
00350     NPPVpluginTimerInterval,      
00351 
00352     NPPVpluginScriptableInstance = (10 | NP_ABI_MASK), 
00353     NPPVpluginScriptableIID = 11, 
00354 
00355     
00356     NPPVjavascriptPushCallerBool = 12,  
00357     NPPVpluginKeepLibraryInMemory = 13, 
00358     NPPVpluginNeedsXEmbed         = 14, 
00359 
00360     
00361     NPPVpluginScriptableNPObject  = 15,
00362 
00363 #ifdef __SYMBIAN32__
00364     
00365     NPPVPluginFocusPosition = 100,    
00366     NPPVPluginDeactivate = 101,
00367     NPPVPluginZoom = 102,
00368     NPPVPluginPointerEvent = 103,
00369     NPPVpluginInteractiveBool = 1000,
00370 #endif
00371 
00372     
00373 
00374 
00375 
00376     NPPVformValue = 16,    
00377     NPPVpluginFullScreenBool = 17 
00378 } NPPVariable;
00379 
00380 
00381 
00382 
00383 typedef enum {
00384     NPNVxDisplay = 1,
00385     NPNVxtAppContext,
00386     NPNVnetscapeWindow,
00387     NPNVjavascriptEnabledBool,
00388     NPNVasdEnabledBool,
00389     NPNVisOfflineBool,
00390 
00391     
00392     NPNVserviceManager = (10 | NP_ABI_MASK),  
00393     NPNVDOMElement     = (11 | NP_ABI_MASK),  
00394     NPNVDOMWindow      = (12 | NP_ABI_MASK),  
00395     NPNVToolkit        = (13 | NP_ABI_MASK),  
00396     NPNVSupportsXEmbedBool = 14,              
00397 
00398     
00399     NPNVWindowNPObject = 15,
00400 
00401     
00402     NPNVPluginElementNPObject,
00403 
00404 #ifdef XP_MACOSX
00405     , NPNVpluginDrawingModel = 1000 
00406 
00407 #ifndef NP_NO_QUICKDRAW
00408     , NPNVsupportsQuickDrawBool = 2000 
00409 #endif
00410     , NPNVsupportsCoreGraphicsBool = 2001 
00411     , NPNVsupportsOpenGLBool = 2002 
00412 #endif 
00413     
00414     
00415     NPNNetworkAccess,
00416     NPNVGenericParameter        
00417 } NPNVariable;
00418 
00419 #ifdef GENERIC_CONTEXTS
00420 
00421 union  NPN_GenericParam {
00422 
00423     NPN_GenericParam(int aIntValue)
00424     :intValue(aIntValue)
00425         {
00426         
00427         }
00428     
00429     NPN_GenericParam(bool aBoolValue)
00430     :boolValue(aBoolValue)
00431         {
00432         
00433         }
00434             
00435     NPN_GenericParam(const TDesC& aStrValue)
00436     :strValue(aStrValue)
00437         {
00438         
00439         }
00440         
00441     NPN_GenericParam(void*  aVoidValue)
00442     :voidValue(aVoidValue)
00443         {
00444         
00445         }
00446     int intValue;
00447     bool   boolValue;
00448     const TDesC& strValue;
00449     void*  voidValue;
00450 };
00451 
00452 
00453 typedef struct NPN_GenericElement{          
00454 
00455     NPN_GenericElement(const TDesC& aElementId, int aElementValue)
00456     :genericElementId(aElementId), genericElementValue(aElementValue)
00457         {
00458         
00459         }
00460     
00461     NPN_GenericElement(const TDesC& aElementId, bool aElementValue)
00462     :genericElementId(aElementId), genericElementValue(aElementValue)
00463         {
00464         
00465         }
00466 
00467     NPN_GenericElement(const TDesC& aElementId, void* aElementValue)
00468     :genericElementId(aElementId), genericElementValue(aElementValue)
00469         {
00470         
00471         }
00472                         
00473     NPN_GenericElement(const TDesC& aElementId, const TDesC& aElementValue)
00474     :genericElementId(aElementId), genericElementValue(aElementValue)
00475         {
00476         
00477         }
00478     const TDesC&  genericElementId;          
00479     NPN_GenericParam genericElementValue;
00480 } GenericEntry;
00481 #endif
00482 
00483 
00484 
00485 
00486 typedef enum {
00487     NPWindowTypeWindow = 1,
00488     NPWindowTypeDrawable
00489 } NPWindowType;
00490 
00491 #ifdef XP_MACOSX
00492 
00493 
00494 
00495 
00496  
00497 typedef enum {
00498 #ifndef NP_NO_QUICKDRAW
00499     NPDrawingModelQuickDraw = 0,
00500 #endif
00501     NPDrawingModelCoreGraphics = 1,
00502     NPDrawingModelOpenGL = 2
00503 } NPDrawingModel;
00504 
00505 #endif
00506 
00507 typedef struct _NPWindow
00508 {
00509     void*    window;     
00510     int32    x;            
00511     int32    y;            
00512     uint32    width;        
00513     uint32    height;
00514     NPRect    clipRect;    
00515                         
00516 #ifdef XP_UNIX
00517     void *    ws_info;    
00518 #endif 
00519     NPWindowType type;    
00520 } NPWindow;
00521 
00522 
00523 typedef struct _NPFullPrint
00524 {
00525     NPBool    pluginPrinted;    
00526                             
00527     NPBool    printOne;        
00528                             
00529     void*    platformPrint;    
00530 } NPFullPrint;
00531 
00532 typedef struct _NPEmbedPrint
00533 {
00534     NPWindow    window;
00535     void*    platformPrint;    
00536 } NPEmbedPrint;
00537 
00538 typedef struct _NPPrint
00539 {
00540     uint16    mode;                        
00541     union
00542     {
00543         NPFullPrint     fullPrint;        
00544         NPEmbedPrint    embedPrint;        
00545     } print;
00546 } NPPrint;
00547 
00548 #if defined(XP_MAC) || defined(XP_MACOSX)
00549 typedef EventRecord    NPEvent;
00550 #elif defined(XP_WIN)
00551 typedef struct _NPEvent
00552 {
00553     uint16   event;
00554     uint32   wParam;
00555     uint32   lParam;
00556 } NPEvent;
00557 #elif defined (XP_UNIX)
00558 typedef XEvent NPEvent;
00559 #elif defined (__SYMBIAN32__)
00560 typedef struct _NPEvent
00561 {
00562     uint32   event;
00563     void*    param;
00564 } NPEvent;
00565 #else
00566 typedef void*            NPEvent;
00567 #endif 
00568 
00569 #if defined(XP_MAC)
00570 typedef RgnHandle NPRegion;
00571 #elif defined(XP_MACOSX)
00572 
00573 
00574 
00575 
00576 
00577 typedef void *NPRegion;
00578 #ifndef NP_NO_QUICKDRAW
00579 typedef RgnHandle NPQDRegion;
00580 #endif
00581 typedef CGPathRef NPCGRegion;
00582 #elif defined(XP_WIN)
00583 typedef HRGN NPRegion;
00584 #elif defined(XP_UNIX)
00585 typedef Region NPRegion;
00586 #else
00587 typedef void *NPRegion;
00588 #endif 
00589 
00590 #ifdef XP_MACOSX
00591 
00592 
00593 
00594 
00595 
00596 
00597 typedef struct NP_CGContext
00598 {
00599     CGContextRef context;
00600     WindowRef window;
00601 } NP_CGContext;
00602 
00603 
00604 
00605 
00606 
00607 
00608 typedef struct NP_GLContext
00609 {
00610     CGLContextObj context;
00611     WindowRef window;
00612 } NP_GLContext;
00613 
00614 #endif 
00615 
00616 #if defined(XP_MAC) || defined(XP_MACOSX)
00617 
00618 
00619 
00620 
00621 
00622 #ifndef NP_NO_QUICKDRAW
00623 
00624 
00625 
00626 
00627 
00628 
00629 
00630 
00631 
00632 
00633  
00634 typedef struct NP_Port
00635 {
00636     CGrafPtr     port;        
00637     int32        portx;        
00638     int32        porty;
00639 } NP_Port;
00640 
00641 #endif 
00642 
00643 
00644 
00645 
00646 #define getFocusEvent        (osEvt + 16)
00647 #define loseFocusEvent        (osEvt + 17)
00648 #define adjustCursorEvent   (osEvt + 18)
00649 
00650 #endif 
00651 
00652 
00653 
00654 
00655 
00656 #define NP_EMBED        1
00657 #define NP_FULL         2
00658 
00659 
00660 
00661 
00662 #define NP_NORMAL        1
00663 #define NP_SEEK         2
00664 #define NP_ASFILE        3
00665 #define NP_ASFILEONLY        4
00666 
00667 #define NP_MAXREADY    (((unsigned)(~0)<<1)>>1)
00668 
00669 #if !defined(__LP64__)
00670 #if defined(XP_MAC) || defined(XP_MACOSX)
00671 #pragma options align=reset
00672 #endif
00673 #endif 
00674 
00675 
00676 
00677 
00678 
00679 
00680 
00681 
00682 
00683 #define NPERR_BASE                            0
00684 #define NPERR_NO_ERROR                        (NPERR_BASE + 0)
00685 #define NPERR_GENERIC_ERROR                    (NPERR_BASE + 1)
00686 #define NPERR_INVALID_INSTANCE_ERROR        (NPERR_BASE + 2)
00687 #define NPERR_INVALID_FUNCTABLE_ERROR        (NPERR_BASE + 3)
00688 #define NPERR_MODULE_LOAD_FAILED_ERROR        (NPERR_BASE + 4)
00689 #define NPERR_OUT_OF_MEMORY_ERROR            (NPERR_BASE + 5)
00690 #define NPERR_INVALID_PLUGIN_ERROR            (NPERR_BASE + 6)
00691 #define NPERR_INVALID_PLUGIN_DIR_ERROR        (NPERR_BASE + 7)
00692 #define NPERR_INCOMPATIBLE_VERSION_ERROR    (NPERR_BASE + 8)
00693 #define NPERR_INVALID_PARAM                (NPERR_BASE + 9)
00694 #define NPERR_INVALID_URL                    (NPERR_BASE + 10)
00695 #define NPERR_FILE_NOT_FOUND                (NPERR_BASE + 11)
00696 #define NPERR_NO_DATA                        (NPERR_BASE + 12)
00697 #define NPERR_STREAM_NOT_SEEKABLE            (NPERR_BASE + 13)
00698 
00699 
00700 
00701 
00702 #define NPRES_BASE                0
00703 #define NPRES_DONE                    (NPRES_BASE + 0)
00704 #define NPRES_NETWORK_ERR            (NPRES_BASE + 1)
00705 #define NPRES_USER_BREAK            (NPRES_BASE + 2)
00706 
00707 
00708 
00709 
00710 #define NP_NOERR  NP_NOERR_is_obsolete_use_NPERR_NO_ERROR
00711 #define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR
00712 #define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK
00713 
00714 
00715 
00716 
00717 #define NPVERS_HAS_STREAMOUTPUT     8
00718 #define NPVERS_HAS_NOTIFICATION     9
00719 #define NPVERS_HAS_LIVECONNECT        9
00720 #define NPVERS_WIN16_HAS_LIVECONNECT    9
00721 #define NPVERS_68K_HAS_LIVECONNECT    11
00722 #define NPVERS_HAS_WINDOWLESS       11
00723 #define NPVERS_HAS_XPCONNECT_SCRIPTING    13  
00724 #define NPVERS_HAS_NPRUNTIME_SCRIPTING    14
00725 #define NPVERS_HAS_FORM_VALUES            15  
00726 #define NPVERS_HAS_POPUPS_ENABLED_STATE   16  
00727 #define NPVERS_HAS_RESPONSE_HEADERS       17
00728 #define NPVERS_HAS_NPOBJECT_ENUM          18
00729 
00730 
00731 
00732 
00733 
00734 
00735 #if defined(_WINDOWS) && !defined(WIN32)
00736 #define NP_LOADDS  _loadds
00737 #else
00738 #define NP_LOADDS
00739 #endif
00740 
00741 #ifndef __SYMBIAN32__
00742  #ifdef __cplusplus
00743  extern "C" {
00744  #endif
00745 #endif
00746 
00747 
00748 
00749 
00750 
00751 #ifdef XP_UNIX
00752 char*                    NPP_GetMIMEDescription(void);
00753 #endif 
00754 
00755 #ifdef __SYMBIAN32__
00756 #include <badesca.h>
00757 IMPORT_C const TDesC* NPP_GetMIMEDescription(void);
00758 #endif 
00759 
00760 NPError     NPP_Initialize(void);
00761 #ifdef __SYMBIAN32__
00762 IMPORT_C
00763 #endif 
00764 void        NPP_Shutdown(void);
00765 
00766 #ifndef __SYMBIAN32__
00767 NPError     NP_LOADDS    NPP_New(NPMIMEType pluginType, NPP instance,
00768                                 uint16 mode, int16 argc, char* argn[],
00769                                 char* argv[], NPSavedData* saved);
00770 #else
00771 NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance,
00772               uint16 mode, CDesCArray* argn,
00773               CDesCArray* argv, NPSavedData* saved);
00774 #endif 
00775 
00776 NPError     NP_LOADDS    NPP_Destroy(NPP instance, NPSavedData** save);
00777 NPError     NP_LOADDS    NPP_SetWindow(NPP instance, NPWindow* window);
00778 NPError     NP_LOADDS    NPP_NewStream(NPP instance, NPMIMEType type,
00779                                       NPStream* stream, NPBool seekable,
00780                                       uint16* stype);
00781 NPError     NP_LOADDS    NPP_DestroyStream(NPP instance, NPStream* stream,
00782                                           NPReason reason);
00783 int32        NP_LOADDS    NPP_WriteReady(NPP instance, NPStream* stream);
00784 int32        NP_LOADDS    NPP_Write(NPP instance, NPStream* stream, int32 offset,
00785                                   int32 len, void* buffer);
00786 
00787 #ifndef __SYMBIAN32__
00788 void        NP_LOADDS    NPP_StreamAsFile(NPP instance, NPStream* stream,
00789                                          const char* fname);
00790 #else
00791 void    NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream,
00792                                    const TDesC& fname);
00793 #endif 
00794 
00795 void        NP_LOADDS    NPP_Print(NPP instance, NPPrint* platformPrint);
00796 int16            NPP_HandleEvent(NPP instance, void* event);
00797 
00798 #ifndef __SYMBIAN32__
00799 void        NP_LOADDS    NPP_URLNotify(NPP instance, const char* url,
00800                                       NPReason reason, void* notifyData);
00801 jref        NP_LOADDS            NPP_GetJavaClass(void);
00802 #else
00803 void    NP_LOADDS NPP_URLNotify(NPP instance, const TDesC& url,
00804                                 NPReason reason, void* notifyData);
00805 #endif 
00806 
00807 
00808 #ifdef __SYMBIAN32__
00809 IMPORT_C
00810 #endif 
00811 NPError     NPP_GetValue(NPP instance, NPPVariable variable,
00812                                      void *value);
00813 NPError     NPP_SetValue(NPP instance, NPNVariable variable,
00814                                      void *value);
00815 
00816 
00817 
00818 
00819 
00820 void        NPN_Version(int* plugin_major, int* plugin_minor,
00821                             int* netscape_major, int* netscape_minor);
00822 
00823 #ifndef __SYMBIAN32__
00824 NPError     NPN_GetURLNotify(NPP instance, const char* url,
00825                                  const char* target, void* notifyData);
00826 NPError     NPN_GetURL(NPP instance, const char* url,
00827                            const char* target);
00828 NPError     NPN_PostURLNotify(NPP instance, const char* url,
00829                                   const char* target, uint32 len,
00830                                   const char* buf, NPBool file,
00831                                   void* notifyData);
00832 NPError     NPN_PostURL(NPP instance, const char* url,
00833                             const char* target, uint32 len,
00834                             const char* buf, NPBool file);
00835 #else
00836 NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const TDesC& url,
00837                                    const TDesC* target, void* notifyData);
00838 NPError NP_LOADDS NPN_GetURL(NPP instance, const TDesC& url,
00839                              const TDesC* target);
00840 NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const TDesC& url,
00841                                     const TDesC* target,
00842                                     const TDesC& buf, NPBool file,
00843                                     void* notifyData);
00844 NPError NP_LOADDS NPN_PostURL(NPP instance, const TDesC& url,
00845                               const TDesC* target,
00846                               const TDesC& buf, NPBool file);
00847 #endif 
00848 
00849 NPError     NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
00850 
00851 #ifndef __SYMBIAN32__
00852 NPError     NPN_NewStream(NPP instance, NPMIMEType type,
00853                               const char* target, NPStream** stream);
00854 #else
00855 NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type,
00856                                 const TDesC* target, NPStream** stream);
00857 #endif 
00858 
00859 int32   NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer);
00860 NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPReason reason);
00861 
00862 #ifndef __SYMBIAN32__
00863 void        NPN_Status(NPP instance, const char* message);
00864 #else
00865 void    NP_LOADDS NPN_Status(NPP instance, const TDesC& message);
00866 #endif 
00867 
00868 #ifndef __SYMBIAN32__
00869 const char*    NPN_UserAgent(NPP instance);
00870 #else
00871 const TDesC* NP_LOADDS  NPN_UserAgent(NPP instance);
00872 #endif 
00873 
00874 
00875 void*        NPN_MemAlloc(uint32 size);
00876 void        NPN_MemFree(void* ptr);
00877 uint32        NPN_MemFlush(uint32 size);
00878 void        NPN_ReloadPlugins(NPBool reloadPages);
00879 #ifndef __SYMBIAN32__
00880 JRIEnv*     NPN_GetJavaEnv(void);
00881 jref        NPN_GetJavaPeer(NPP instance);
00882 #endif
00883 NPError     NPN_GetValue(NPP instance, NPNVariable variable,
00884                              void *value);
00885 NPError     NPN_SetValue(NPP instance, NPPVariable variable,
00886                              void *value);
00887 void        NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
00888 void        NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion);
00889 void        NPN_ForceRedraw(NPP instance);
00890 void        NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
00891 void        NPN_PopPopupsEnabledState(NPP instance);
00892 
00893 #ifndef __SYMBIAN32__
00894  #ifdef __cplusplus
00895  }  
00896  #endif
00897 #endif
00898 
00899 #endif