15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* ***** BEGIN LICENSE BLOCK ***** 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Version: MPL 1.1/GPL 2.0/LGPL 2.1 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The contents of this file are subject to the Mozilla Public License Version 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1.1 (the "License"); you may not use this file except in compliance with 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the License. You may obtain a copy of the License at 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.mozilla.org/MPL/ 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Software distributed under the License is distributed on an "AS IS" basis, 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * for the specific language governing rights and limitations under the 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * License. 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The Original Code is mozilla.org code. 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The Initial Developer of the Original Code is 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Netscape Communications Corporation. 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Portions created by the Initial Developer are Copyright (C) 1998 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the Initial Developer. All Rights Reserved. 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Contributor(s): 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Alternatively, the contents of this file may be used under the terms of 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * either the GNU General Public License Version 2 or later (the "GPL"), or 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in which case the provisions of the GPL or the LGPL are applicable instead 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * of those above. If you wish to allow use of your version of this file only 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * under the terms of either the GPL or the LGPL, and not to allow others to 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * use your version of this file under the terms of the MPL, indicate your 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * decision by deleting the provisions above and replace them with the notice 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * and other provisions required by the GPL or the LGPL. If you do not delete 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the provisions above, a recipient may use your version of this file under 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the terms of any one of the MPL, the GPL or the LGPL. 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ***** END LICENSE BLOCK ***** */ 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * npapi.h $Revision: 3.46 $ 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Netscape client plug-in API spec 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _NPAPI_H_ 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _NPAPI_H_ 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __OS2__ 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#pragma pack(1) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "prtypes.h" 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Copied from xp_core.h */ 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* removed #ifdef for hpux defined in /usr/include/model.h */ 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _INT16 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _INT16 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _INT32 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _INT32 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _UINT16 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _UINT16 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _UINT32 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _UINT32 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NO_NSPR_10_SUPPORT disables the inclusion 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * of obsolete/protypes.h, whose int16, uint16, 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * int32, and uint32 typedefs conflict with those 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in this file. 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NO_NSPR_10_SUPPORT 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NO_NSPR_10_SUPPORT 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef OJI 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "jri.h" /* Java Runtime Interface */ 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined (__OS2__ ) || defined (OS2) 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ifndef XP_OS2 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define XP_OS2 1 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif /* XP_OS2 */ 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __OS2__ */ 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef _WINDOWS 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# include <windef.h> 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ifndef XP_WIN 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define XP_WIN 1 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif /* XP_WIN */ 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* _WINDOWS */ 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __MWERKS__ 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define _declspec __declspec 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ifdef __INTEL__ 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# undef NULL 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ifndef XP_WIN 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define XP_WIN 1 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif /* XP_WIN */ 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif /* __INTEL__ */ 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __MWERKS__ */ 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_MACOSX 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <Carbon/Carbon.h> 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __LP64__ 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_NO_QUICKDRAW 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(XP_UNIX) 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# include <stdio.h> 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# if defined(MOZ_X11) 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# include <X11/Xlib.h> 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# include <X11/Xutil.h> 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Plugin Version Constants */ 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_VERSION_MAJOR 0 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_VERSION_MINOR 19 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* The OS/2 version of Netscape uses RC_DATA to define the 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mime types, file extensions, etc that are required. 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Use a vertical bar to separate types, end types with \0. 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FileVersion and ProductVersion are 32bit ints, all other 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) entries are strings the MUST be terminated wwith a \0. 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AN EXAMPLE: 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_ProductVersion { 1,0,0,1,} 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_MIMEType { "video/x-video|", 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "video/x-flick\0" } 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_FileExtents { "avi|", 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "flc\0" } 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|", 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "MMOS2 Flc/Fli player(*.flc)\0" } 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_FileVersion { 1,0,0,1 } 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_CompanyName { "Netscape Communications\0" } 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0" 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_InternalName { "NPAVI32\0" ) 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0" 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" } 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" } 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* RC_DATA types for version info - required */ 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_ProductVersion 1 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_MIMEType 2 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_FileOpenName 3 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_FileExtents 4 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* RC_DATA types for version info - used if found */ 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_FileDescription 5 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_ProductName 6 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* RC_DATA types for version info - optional */ 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_CompanyName 7 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_FileVersion 8 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_InternalName 9 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_LegalCopyright 10 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_INFO_OriginalFilename 11 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef RC_INVOKED 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Definition of Basic Types */ 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _UINT16 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned short uint16; 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _UINT32 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__) 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned int uint32; 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# else /* __alpha */ 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned long uint32; 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif /* __alpha */ 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * AIX defines these in sys/inttypes.h included from sys/types.h 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef AIX 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _INT16 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef short int16; 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _INT32 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__) 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int int32; 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# else /* __alpha */ 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef long int32; 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif /* __alpha */ 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef FALSE 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define FALSE (0) 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef TRUE 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define TRUE (1) 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NULL 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NULL (0L) 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_MACOSX 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum { 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NP_NO_QUICKDRAW 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPDrawingModelQuickDraw = 0, 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPDrawingModelCoreGraphics = 1 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPDrawingModel; 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned char NPBool; 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int16 NPError; 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int16 NPReason; 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef char* NPMIMEType; 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Structures and definitions */ 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NPP is a plug-in's opaque instance handle 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPP 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* pdata; /* plug-in private data */ 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* ndata; /* netscape private data */ 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPP_t; 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef NPP_t* NPP; 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPStream 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* pdata; /* plug-in private data */ 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* ndata; /* netscape private data */ 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* url; 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 end; 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 lastmodified; 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* notifyData; 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* headers; /* Response headers from host. 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Exists only for >= NPVERS_HAS_RESPONSE_HEADERS. 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Used for HTTP only; NULL for non-HTTP. 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Available from NPP_NewStream onwards. 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Plugin should copy this data before storing it. 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Includes HTTP status line and all headers, 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * preferably verbatim as received from server, 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * headers formatted as in HTTP ("Header: Value"), 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * and newlines (\n, NOT \r\n) separating lines. 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Terminated by \n\0 (NOT \n\n\0). */ 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPStream; 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPByteRange 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 offset; /* negative offset means from the end */ 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 length; 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct _NPByteRange* next; 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPByteRange; 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPSavedData 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 len; 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* buf; 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPSavedData; 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPRect 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16 top; 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16 left; 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16 bottom; 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16 right; 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPRect; 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPSize 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 width; 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 height; 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPSize; 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_UNIX 3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Unix specific structures and definitions 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Callback Structures. 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * These are used to pass additional platform specific information. 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum { 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NP_SETWINDOW = 1, 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NP_PRINT 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 type; 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPAnyCallbackStruct; 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 type; 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef MOZ_X11 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Display* display; 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Visual* visual; 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Colormap colormap; 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) unsigned int depth; 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPSetWindowCallbackStruct; 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 type; 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FILE* fp; 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPPrintCallbackStruct; 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* XP_UNIX */ 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The following masks are applied on certain platforms to NPNV and 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NPPV selectors that pass around pointers to COM interfaces. Newer 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * compilers on some platforms may generate vtables that are not 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * compatible with older compilers. To prevent older plugins from 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * not understanding a new browser's ABI, these masks change the 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * values of those selectors on those platforms. To remain backwards 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * compatible with differenet versions of the browser, plugins can 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * use these masks to dynamically determine and use the correct C++ 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ABI that the browser is expecting. This does not apply to Windows 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * as Microsoft's COM ABI will likely not change. 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_ABI_GCC3_MASK 0x10000000 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * gcc 3.x generated vtables on UNIX and OSX are incompatible with 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * previous compilers. 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if (defined (XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3)) 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _NP_ABI_MIXIN_FOR_GCC3 0 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_ABI_MACHO_MASK 0x01000000 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * On OSX, the Mach-O executable format is significantly 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * different than CFM. In addition to having a different 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * C++ ABI, it also has has different C calling convention. 3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * You must use glue code when calling between CFM and 3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Mach-O C functions. 3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if (defined(TARGET_RT_MAC_MACHO)) 3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK 3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _NP_ABI_MIXIN_FOR_MACHO 0 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO) 3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * List of variable names for which NPP_GetValue shall be implemented 3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum { 3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginNameString = 1, 3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginDescriptionString, 3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginWindowBool, 3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginTransparentBool, 3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVjavaClass, /* Not implemented in Mozilla 1.0 */ 3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginWindowSize, 3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginTimerInterval, 3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginScriptableInstance = (10 | NP_ABI_MASK), 3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginScriptableIID = 11, 3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Introduced in Mozilla 0.9.9 */ 3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVjavascriptPushCallerBool = 12, 3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Introduced in Mozilla 1.0 */ 4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginKeepLibraryInMemory = 13, 4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginNeedsXEmbed = 14, 4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Get the NPObject for scripting the plugin. Introduced in Firefox 4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1.0 (NPAPI minor version 14). 4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVpluginScriptableNPObject = 15, 4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Get the plugin value (as \0-terminated UTF-8 string data) for 4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * form submission if the plugin is part of a form. Use 4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NPN_MemAlloc() to allocate memory for the string data. Introduced 4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in Mozilla 1.8b2 (NPAPI minor version 15). 4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPPVformValue = 16 4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPPVariable; 4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * List of variable names for which NPN_GetValue is implemented by Mozilla 4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum { 4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVxDisplay = 1, 4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVxtAppContext, 4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVnetscapeWindow, 4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVjavascriptEnabledBool, 4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVasdEnabledBool, 4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVisOfflineBool, 4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 10 and over are available on Mozilla builds starting with 0.9.4 */ 4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVserviceManager = (10 | NP_ABI_MASK), 4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVDOMElement = (11 | NP_ABI_MASK), /* available in Mozilla 1.2 */ 4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVDOMWindow = (12 | NP_ABI_MASK), 4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVToolkit = (13 | NP_ABI_MASK), 4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVSupportsXEmbedBool = 14, 4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Get the NPObject wrapper for the browser window. */ 4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVWindowNPObject = 15, 4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Get the NPObject wrapper for the plugins DOM element. */ 4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVPluginElementNPObject = 16 4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_MACOSX 4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Used for negotiating drawing models */ 4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) , NPNVpluginDrawingModel = 1000 4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NP_NO_QUICKDRAW 4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) , NPNVsupportsQuickDrawBool = 2000 4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) , NPNVsupportsCoreGraphicsBool = 2001 4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPNVariable; 4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The type of Tookkit the widgets use 4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum { 4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVGtk12 = 1, 4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNVGtk2 4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPNToolkitType; 4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The type of a NPWindow - it specifies the type of the data structure 4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * returned in the window field. 4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum { 4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPWindowTypeWindow = 1, 4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPWindowTypeDrawable 4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPWindowType; 4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPWindow 4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* window; /* Platform specific window handle */ 4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* OS/2: x - Position of bottom left corner */ 4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* OS/2: y - relative to visible netscape window */ 4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 x; /* Position of top left corner relative */ 4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 y; /* to a netscape page. */ 4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 width; /* Maximum window size */ 4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 height; 4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPRect clipRect; /* Clipping rectangle in port coordinates */ 4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Used by MAC only. */ 4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(XP_UNIX) && !defined(XP_MACOSX) 4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void * ws_info; /* Platform-dependent additonal data */ 4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* XP_UNIX */ 4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPWindowType type; /* Is this a window or a drawable? */ 4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPWindow; 4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPFullPrint 4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */ 4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPBool printOne; /* TRUE if plugin should print one copy to default printer */ 4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* platformPrint; /* Platform-specific printing info */ 4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPFullPrint; 4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPEmbedPrint 4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPWindow window; 4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* platformPrint; /* Platform-specific printing info */ 4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPEmbedPrint; 4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPPrint 5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16 mode; /* NP_FULL or NP_EMBED */ 5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) union 5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPFullPrint fullPrint; /* if mode is NP_FULL */ 5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEmbedPrint embedPrint; /* if mode is NP_EMBED */ 5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } print; 5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPPrint; 5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_MACOSX 5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EventRecord NPEvent; 5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(XP_WIN) 5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPEvent 5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16 event; 5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 wParam; 5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 lParam; 5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPEvent; 5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(XP_OS2) 5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _NPEvent 5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 event; 5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 wParam; 5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 lParam; 5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NPEvent; 5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined (XP_UNIX) && defined(MOZ_X11) 5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef XEvent NPEvent; 5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void* NPEvent; 5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* XP_MACOSX */ 5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_MACOSX 5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void* NPRegion; 5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NP_NO_QUICKDRAW 5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef RgnHandle NPQDRegion; 5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef CGPathRef NPCGRegion; 5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(XP_WIN) 5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef HRGN NPRegion; 5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(XP_UNIX) && defined(MOZ_X11) 5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef Region NPRegion; 5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void *NPRegion; 5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* XP_MACOSX */ 5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_MACOSX 5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Mac-specific structures and definitions. 5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct NP_Port 5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CGrafPtr port; /* Grafport */ 5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 portx; /* position inside the topmost window */ 5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 porty; 5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NP_Port; 5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct NP_CGContext 5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CGContextRef context; 5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WindowRef window; 5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} NP_CGContext; 5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Non-standard event types that can be passed to HandleEvent 5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum NPEventType { 5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEventType_GetFocusEvent = (osEvt + 16), 5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEventType_LoseFocusEvent, 5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEventType_AdjustCursorEvent, 5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEventType_MenuCommandEvent, 5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEventType_ClippingChangedEvent, 5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEventType_ScrollingBeginsEvent = 1000, 5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPEventType_ScrollingEndsEvent 5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef OBSOLETE 5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define getFocusEvent (osEvt + 16) 5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define loseFocusEvent (osEvt + 17) 5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define adjustCursorEvent (osEvt + 18) 5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* XP_MACOSX */ 5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Values for mode passed to NPP_New: 5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_EMBED 1 5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_FULL 2 5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Values for stream type passed to NPP_NewStream: 5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_NORMAL 1 5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_SEEK 2 5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_ASFILE 3 5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_ASFILEONLY 4 5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_MAXREADY (((unsigned)(~0)<<1)>>1) 5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Error and Reason Code definitions */ 6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Values of type NPError: 6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_BASE 0 6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_NO_ERROR (NPERR_BASE + 0) 6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_GENERIC_ERROR (NPERR_BASE + 1) 6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2) 6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3) 6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4) 6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5) 6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6) 6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7) 6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8) 6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_INVALID_PARAM (NPERR_BASE + 9) 6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_INVALID_URL (NPERR_BASE + 10) 6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11) 6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_NO_DATA (NPERR_BASE + 12) 6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13) 6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Values of type NPReason: 6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPRES_BASE 0 6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPRES_DONE (NPRES_BASE + 0) 6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPRES_NETWORK_ERR (NPRES_BASE + 1) 6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPRES_USER_BREAK (NPRES_BASE + 2) 6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Don't use these obsolete error codes any more. 6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR 6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR 6375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK 6385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 6405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Version feature information 6415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_STREAMOUTPUT 8 6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_NOTIFICATION 9 6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_LIVECONNECT 9 6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_WIN16_HAS_LIVECONNECT 9 6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_68K_HAS_LIVECONNECT 11 6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_WINDOWLESS 11 6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_XPCONNECT_SCRIPTING 13 6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14 6505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_FORM_VALUES 15 6515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_POPUPS_ENABLED_STATE 16 6525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_RESPONSE_HEADERS 17 6535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_NPOBJECT_ENUM 18 6545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19 6555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 6575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Function Prototypes */ 6585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*----------------------------------------------------------------------*/ 6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(_WINDOWS) && !defined(WIN32) 6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_LOADDS _loadds 6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(__OS2__) 6645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_LOADDS _System 6655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NP_LOADDS 6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 6685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 6715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" { 6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NPP_* functions are provided by the plugin and called by the navigator. 6765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef XP_UNIX 6795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)char* NPP_GetMIMEDescription(void); 6805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* XP_UNIX */ 6815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_Initialize(void); 6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPP_Shutdown(void); 6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance, 6855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16 mode, int16 argc, char* argn[], 6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char* argv[], NPSavedData* saved); 6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save); 6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window); 6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type, 6905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPStream* stream, NPBool seekable, 6915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint16* stype); 6925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream, 6935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPReason reason); 6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int32 NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream); 6955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int32 NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32 offset, 6965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 len, void* buffer); 6975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream, 6985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* fname); 6995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint); 7005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int16 NP_LOADDS NPP_HandleEvent(NPP instance, void* event); 7015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPP_URLNotify(NPP instance, const char* url, 7025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPReason reason, void* notifyData); 7035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef OJI 7045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)jref NP_LOADDS NPP_GetJavaClass(void); 7055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 7065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value); 7075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value); 7085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 7105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NPN_* functions are provided by the navigator and called by the plugin. 7115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 7125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor, 7135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int* netscape_major, int* netscape_minor); 7145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const char* url, 7155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* target, void* notifyData); 7165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_GetURL(NPP instance, const char* url, 7175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* target); 7185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const char* url, 7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* target, uint32 len, 7205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* buf, NPBool file, 7215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* notifyData); 7225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_PostURL(NPP instance, const char* url, 7235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* target, uint32 len, 7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* buf, NPBool file); 7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_RequestRead(NPStream* stream, NPByteRange* rangeList); 7265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type, 7275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* target, NPStream** stream); 7285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int32 NP_LOADDS NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer); 7295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_DestroyStream(NPP instance, NPStream* stream, NPReason reason); 7305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_Status(NPP instance, const char* message); 7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* NP_LOADDS NPN_UserAgent(NPP instance); 7325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void* NP_LOADDS NPN_MemAlloc(uint32 size); 7335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_MemFree(void* ptr); 7345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)uint32 NP_LOADDS NPN_MemFlush(uint32 size); 7355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_ReloadPlugins(NPBool reloadPages); 7365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef OJI 7375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)JRIEnv* NP_LOADDS NPN_GetJavaEnv(void); 7385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)jref NP_LOADDS NPN_GetJavaPeer(NPP instance); 7395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 7405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_GetValue(NPP instance, NPNVariable variable, void *value); 7415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NP_LOADDS NPN_SetValue(NPP instance, NPPVariable variable, void *value); 7425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_InvalidateRect(NPP instance, NPRect *invalidRect); 7435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion); 7445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_ForceRedraw(NPP instance); 7455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//jam changed two functions below to return bool 7465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NP_LOADDS NPN_PushPopupsEnabledState(NPP instance, NPBool enabled); 7475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NP_LOADDS NPN_PopPopupsEnabledState(NPP instance); 7485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NP_LOADDS NPN_PluginThreadAsyncCall(NPP instance, 7495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void (*func) (void *), 7505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void *userData); 7515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 7535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} /* end extern "C" */ 7545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 7555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* RC_INVOKED */ 7575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __OS2__ 7585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#pragma pack() 7595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 7605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* _NPAPI_H_ */ 762