![]() |
SPPiPL.hGo to the documentation of this file.00001 /***********************************************************************/ 00002 /* */ 00003 /* SPPiPL.h */ 00004 /* */ 00005 /* ADOBE SYSTEMS INCORPORATED */ 00006 /* Copyright 1995-2007 Adobe Systems Incorporated. */ 00007 /* All Rights Reserved. */ 00008 /* */ 00009 /* NOTICE: Adobe permits you to use, modify, and distribute this file */ 00010 /* in accordance with the terms of the Adobe license agreement */ 00011 /* accompanying it. If you have received this file from a source other */ 00012 /* than Adobe, then your use, modification, or distribution of it */ 00013 /* requires the prior written permission of Adobe. */ 00014 /* */ 00015 /* Patents Pending */ 00016 /* */ 00017 /* */ 00018 /***********************************************************************/ 00019 00020 #ifndef __SPPiPL__ 00021 #define __SPPiPL__ 00022 00023 00024 /******************************************************************************* 00025 ** 00026 ** Imports and alignment 00027 ** 00028 **/ 00029 00030 #include "SPTypes.h" 00031 #include "AiBasicTypes.h" 00032 00033 #if PRAGMA_STRUCT_ALIGN 00034 #pragma options align=mac68k 00035 #endif 00036 00037 #include "SPHeaderBegin.h" 00038 00039 /******************************************************************************* 00040 ** 00041 ** Constants 00042 ** 00043 ** Note: 4-character long IDs must be defined in hexadecimal, not long 00044 ** literal ('long'), due to Windows RC compilers not understanding what 00045 ** to do with them. 00046 ** 00047 **/ 00048 00051 #define PIAdobeVendorID 0x41444245 00052 00055 #define PISPVersionProperty 0x69767273 00056 00059 #define PIImportsProperty 0x696D7074 00060 00063 #define PIExportsProperty 0x65787074 00064 00067 #define PIPowerPCCodeResProperty 0x70706352 00068 00073 #define PIDestinationHeapProperty 0x68656170 00074 00075 #define PILoadInAppHeap (1<<0) 00076 00079 #define PIAdapterProperty 0x61647074 00080 00083 #define PIPluginNameProperty 0x70696E6D 00084 00087 #define PIConditionalMessages 0x4163704D 00088 00090 #define PIAcceptsPropertyMessage (1<<0) 00091 00093 #define PISkipShutDownMessage (1<<1) 00094 00095 #define PIAcceptsPurgeCachesMessage (1<<2) 00096 00097 #define PISkipStartupMessage (1<<3) 00098 00101 #define PIReleasePluginEarly 0x52656c50 00102 00103 /******************************************************************************* 00104 ** 00105 ** General PiPL properties and structures 00106 ** 00107 ** Many hosts multiply define these properties, so we bracket them 00108 ** so they are only defined once. 00109 ** 00110 **/ 00111 00112 #ifndef kGeneralPiPLPropertiesDefined // Already defined? 00113 00115 #define kGeneralPiPLPropertiesDefined // Only define once. 00116 00118 typedef ai::uint32 PIType; 00119 00121 #define kCurrentPiPLVersion 0 00122 00125 #define PIKindProperty 0x6b696e64 00126 00130 #define PI68KCodeProperty 0x6d36386bL 00131 00135 #define PIPowerPCCodeProperty 0x70777063 00136 00140 #define PIPowerPCCarbonCodeProperty 0x70706362 00141 00145 #define PIPowerPCMachOCodeProperty 'mach' 00146 00150 #define PICodeMacIntel32Property 'mi32' 00151 00155 #define PICodeMacIntel64Property 'mi64' 00156 00160 #define PICodeFragmentProperty 'frag' 00161 00165 #define PICarbonCodeFragmentProperty 'frgc' 00166 00170 #define PIWin32X86CodeProperty 0x77783836 00171 00175 #define PIWin16X86CodeProperty 0x66783836 00176 00179 typedef struct PIProperty { 00181 PIType vendorID; 00183 PIType propertyKey; 00187 ai::int32 propertyID; 00189 ai::int32 propertyLength; 00191 char propertyData[1]; 00192 } PIProperty; 00193 00197 typedef struct PIPropertyList { 00199 ai::int32 version; 00201 ai::int32 count; 00203 PIProperty properties[1]; 00204 } PIPropertyList; 00205 00206 /* Following structures describe resource file types used in plug-in property lists. 00207 * These structures obey Macintosh 68k alignment and padding rules though 00208 * generally they are laid out so fields have natural alignment and any 00209 * needed padding is explicit in the structure. 00210 */ 00211 00213 typedef struct PI68KCodeDesc { 00215 PIType fType; 00217 short fID; 00218 } PI68KCodeDesc; 00219 00221 typedef struct PICFMCodeDesc { 00225 ai::int32 fContainerOffset; 00228 ai::int32 fContainerLength; 00236 unsigned char fEntryName[1]; 00237 } PICFMCodeDesc; 00238 00240 typedef struct PIMachCodeDesc 00241 { 00244 unsigned char fEntryName[1]; 00245 } PIMachCodeDesc; 00246 00248 typedef struct PIPSMachOCodeDesc 00249 { 00251 ai::int32 fContainerOffset; 00252 00254 ai::int32 fContainerLength; 00255 00257 unsigned char fEntryName[1]; 00258 00259 } PIPSMachOCodeDesc; 00260 00263 typedef struct PIMacIntelCodeDesc 00264 { 00265 00267 unsigned char fEntryName[1]; 00268 00269 } PIMacIntelCodeDesc; 00270 00273 typedef struct PIFragmentCodeDesc 00274 { 00276 ai::int32 fFragmentResource; 00277 00279 ai::int32 fFragmentNumber; 00280 00283 unsigned char fEntryName[1]; 00284 00285 } PIFragmentCodeDesc; 00286 00288 typedef struct PIWin32X86CodeDesc { 00293 char fEntryName[1]; 00294 } PIWin32X86CodeDesc; 00295 00297 typedef struct PIWin16X86CodeDesc { 00300 char fEntryName[1]; 00301 } PIWin16X86CodeDesc; 00302 00303 #endif // kGeneralPiPLPropertiesDefined 00304 00305 00306 /******************************************************************************* 00307 ** 00308 ** Additional Types 00309 ** 00310 **/ 00311 00313 typedef struct PICFMCodeResourceDesc { 00315 ai::int32 fContainerOffset; /* Currently unused, reserved. */ 00318 ai::int32 fContainerLength; 00320 PIType fType; 00322 short fID; 00330 unsigned char fEntryName[1]; 00331 } PICFMCodeResourceDesc; 00332 00333 /*******************************************************************************/ 00334 00335 #if PRAGMA_STRUCT_ALIGN 00336 #pragma options align=reset 00337 #endif 00338 00339 #include "SPHeaderEnd.h" 00340 00341 #endif // SPPiPL |
||||||
|
![]() |
|