Please note, this is a STATIC archive of website from 03 Nov 2016, does not collect or store any user information, there is no "phishing" involved.


Represents a single instance of a plug-in. You specify one of these to any NPAPI function that needs to know which plug-in to work with.


typedef struct _NPP
    void* pdata; /* plug-in private data */
    void* ndata; /* Mozilla private data */
} NPP_t;

typedef NPP_t*  NPP;


The data structure has the following fields:

A value, whose definition is up to the plug-in, that the plug-in can use to store a pointer to an internal data structure associated with the instance; this field isn't modified by the browser.
A private value, owned by the browser, which is used to store data associated with the instance; this value should not be modified by the plug-in.


Gecko creates an NPP structure for each plug-in instance and passes a pointer to it to NPP_New(). This pointer--which is an opaque instance handle of a plug-in--identifies the instance on which API calls should operate. NPP contains private instance data for both the plug-in and the browser.

The NPP_Destroy() function informs the plug-in when the NPP instance is about to be deleted; after this call returns, the NPP pointer is no longer valid.

See also

Document Tags and Contributors

 Contributors to this page: teoli, kscarfone, ethertank, Sheppy, Demos, Pmash
 Last updated by: kscarfone,