00001 #ifndef __XMP_Const_h__
00002 #define __XMP_Const_h__ 1
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "XMP_Environment.h"
00019
00020 #include <stddef.h>
00021
00022 #if XMP_MacBuild
00023 #include <stdint.h>
00024 #endif
00025
00026 #if __cplusplus
00027 extern "C" {
00028 #endif
00029
00030
00037
00038
00039
00040
00041
00042
00043
00044
00045 #if XMP_MacBuild
00046
00047 typedef int8_t XMP_Int8;
00048 typedef int16_t XMP_Int16;
00049 typedef int32_t XMP_Int32;
00050 typedef int64_t XMP_Int64;
00051
00052 typedef uint8_t XMP_Uns8;
00053 typedef uint16_t XMP_Uns16;
00054 typedef uint32_t XMP_Uns32;
00055 typedef uint64_t XMP_Uns64;
00056
00057 #else
00058
00059 typedef signed char XMP_Int8;
00060 typedef signed short XMP_Int16;
00061 typedef signed long XMP_Int32;
00062 typedef signed long long XMP_Int64;
00063
00064 typedef unsigned char XMP_Uns8;
00065 typedef unsigned short XMP_Uns16;
00066 typedef unsigned long XMP_Uns32;
00067 typedef unsigned long long XMP_Uns64;
00068
00069 #endif
00070
00071 typedef XMP_Uns8 XMP_Bool;
00072
00073
00074
00075 #if 0
00076 typedef XMP_Int8 XMPInt8;
00077 typedef XMP_Int16 XMPInt16;
00078 typedef XMP_Int32 XMPInt32;
00079 typedef XMP_Int64 XMPInt64;
00080 typedef XMP_Uns8 XMPUns8;
00081 typedef XMP_Uns16 XMPUns16;
00082 typedef XMP_Uns32 XMPUns32;
00083 typedef XMP_Uns64 XMPUns64;
00084 typedef XMP_Bool XMPBool;
00085 #endif
00086
00095 typedef struct __XMPMeta__ * XMPMetaRef;
00096 typedef struct __XMPIterator__ * XMPIteratorRef;
00097 typedef struct __XMPFiles__ * XMPFilesRef;
00098
00099
00100
00132 typedef const char * XMP_StringPtr;
00133 typedef XMP_Uns32 XMP_StringLen;
00134 typedef XMP_Int32 XMP_Index;
00135 typedef XMP_Uns32 XMP_OptionBits;
00136
00149 #define kXMP_TrueStr "True"
00150 #define kXMP_FalseStr "False"
00151
00156
00157
00190 struct XMP_DateTime {
00191 XMP_Int32 year;
00192 XMP_Int32 month;
00193 XMP_Int32 day;
00194 XMP_Int32 hour;
00195 XMP_Int32 minute;
00196 XMP_Int32 second;
00197 XMP_Int32 tzSign;
00198 XMP_Int32 tzHour;
00199 XMP_Int32 tzMinute;
00200 XMP_Int32 nanoSecond;
00201 };
00202
00203 enum {
00204 kXMP_TimeWestOfUTC = -1,
00205 kXMP_TimeIsUTC = 0,
00206 kXMP_TimeEastOfUTC = +1
00207 };
00208
00209
00210
00211
00212
00213
00273 #define kXMP_NS_XMP "http://ns.adobe.com/xap/1.0/"
00274
00275 #define kXMP_NS_XMP_Rights "http://ns.adobe.com/xap/1.0/rights/"
00276 #define kXMP_NS_XMP_MM "http://ns.adobe.com/xap/1.0/mm/"
00277 #define kXMP_NS_XMP_BJ "http://ns.adobe.com/xap/1.0/bj/"
00278
00279 #define kXMP_NS_PDF "http://ns.adobe.com/pdf/1.3/"
00280 #define kXMP_NS_Photoshop "http://ns.adobe.com/photoshop/1.0/"
00281 #define kXMP_NS_PSAlbum "http://ns.adobe.com/album/1.0/"
00282 #define kXMP_NS_EXIF "http://ns.adobe.com/exif/1.0/"
00283 #define kXMP_NS_EXIF_Aux "http://ns.adobe.com/exif/1.0/aux/"
00284 #define kXMP_NS_TIFF "http://ns.adobe.com/tiff/1.0/"
00285 #define kXMP_NS_PNG "http://ns.adobe.com/png/1.0/"
00286 #define kXMP_NS_SWF "http://ns.adobe.com/swf/1.0/"
00287 #define kXMP_NS_JPEG "http://ns.adobe.com/jpeg/1.0/"
00288 #define kXMP_NS_JP2K "http://ns.adobe.com/jp2k/1.0/"
00289 #define kXMP_NS_CameraRaw "http://ns.adobe.com/camera-raw-settings/1.0/"
00290 #define kXMP_NS_DM "http://ns.adobe.com/xmp/1.0/DynamicMedia/"
00291 #define kXMP_NS_ASF "http://ns.adobe.com/asf/1.0/"
00292 #define kXMP_NS_WAV "http://ns.adobe.com/xmp/wav/1.0/"
00293
00294 #define kXMP_NS_XMP_Note "http://ns.adobe.com/xmp/note/"
00295
00296 #define kXMP_NS_AdobeStockPhoto "http://ns.adobe.com/StockPhoto/1.0/"
00297
00342 #define kXMP_NS_XMP_IdentifierQual "http://ns.adobe.com/xmp/Identifier/qual/1.0/"
00343 #define kXMP_NS_XMP_Dimensions "http://ns.adobe.com/xap/1.0/sType/Dimensions#"
00344 #define kXMP_NS_XMP_Text "http://ns.adobe.com/xap/1.0/t/"
00345 #define kXMP_NS_XMP_PagedFile "http://ns.adobe.com/xap/1.0/t/pg/"
00346 #define kXMP_NS_XMP_Graphics "http://ns.adobe.com/xap/1.0/g/"
00347 #define kXMP_NS_XMP_Image "http://ns.adobe.com/xap/1.0/g/img/"
00348 #define kXMP_NS_XMP_Font "http://ns.adobe.com/xap/1.0/sType/Font#"
00349 #define kXMP_NS_XMP_ResourceEvent "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
00350 #define kXMP_NS_XMP_ResourceRef "http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
00351 #define kXMP_NS_XMP_ST_Version "http://ns.adobe.com/xap/1.0/sType/Version#"
00352 #define kXMP_NS_XMP_ST_Job "http://ns.adobe.com/xap/1.0/sType/Job#"
00353 #define kXMP_NS_XMP_ManifestItem "http://ns.adobe.com/xap/1.0/sType/ManifestItem#"
00354
00355
00356 #define kXMP_NS_XMP_T "http://ns.adobe.com/xap/1.0/t/"
00357 #define kXMP_NS_XMP_T_PG "http://ns.adobe.com/xap/1.0/t/pg/"
00358 #define kXMP_NS_XMP_G_IMG "http://ns.adobe.com/xap/1.0/g/img/"
00359
00389 #define kXMP_NS_DC "http://purl.org/dc/elements/1.1/"
00390
00391 #define kXMP_NS_IPTCCore "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"
00392
00393 #define kXMP_NS_PDFA_Schema "http://www.aiim.org/pdfa/ns/schema#"
00394 #define kXMP_NS_PDFA_Property "http://www.aiim.org/pdfa/ns/property#"
00395 #define kXMP_NS_PDFA_Type "http://www.aiim.org/pdfa/ns/type#"
00396 #define kXMP_NS_PDFA_Field "http://www.aiim.org/pdfa/ns/field#"
00397 #define kXMP_NS_PDFA_ID "http://www.aiim.org/pdfa/ns/id/"
00398 #define kXMP_NS_PDFA_Extension "http://www.aiim.org/pdfa/ns/extension/"
00399
00400 #define kXMP_NS_PDFX "http://ns.adobe.com/pdfx/1.3/"
00401 #define kXMP_NS_PDFX_ID "http://www.npes.org/pdfx/ns/id/"
00402
00403 #define kXMP_NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
00404 #define kXMP_NS_XML "http://www.w3.org/XML/1998/namespace"
00405
00406
00407
00408
00409
00410
00411 #define kXMP_ArrayLastItem ((XMP_Index)(-1L))
00412 #define kXMP_UseNullTermination ((XMP_StringLen)(~0UL))
00413
00414 #define kXMP_NoOptions ((XMP_OptionBits)0UL)
00415
00416 #define XMP_SetOption(var,opt) var |= (opt)
00417 #define XMP_ClearOption(var,opt) var &= ~(opt)
00418 #define XMP_TestOption(var,opt) (((var) & (opt)) != 0)
00419 #define XMP_OptionIsSet(var,opt) (((var) & (opt)) != 0)
00420 #define XMP_OptionIsClear(var,opt) (((var) & (opt)) == 0)
00421
00422 #define XMP_PropIsSimple(opt) (((opt) & kXMP_PropCompositeMask) == 0)
00423 #define XMP_PropIsStruct(opt) (((opt) & kXMP_PropValueIsStruct) != 0)
00424 #define XMP_PropIsArray(opt) (((opt) & kXMP_PropValueIsArray) != 0)
00425 #define XMP_ArrayIsUnordered(opt) (((opt) & kXMP_PropArrayIsOrdered) == 0)
00426 #define XMP_ArrayIsOrdered(opt) (((opt) & kXMP_PropArrayIsOrdered) != 0)
00427 #define XMP_ArrayIsAlternate(opt) (((opt) & kXMP_PropArrayIsAlternate) != 0)
00428 #define XMP_ArrayIsAltText(opt) (((opt) & kXMP_PropArrayIsAltText) != 0)
00429
00430 #define XMP_PropHasQualifiers(opt) (((opt) & kXMP_PropHasQualifiers) != 0)
00431 #define XMP_PropIsQualifier(opt) (((opt) & kXMP_PropIsQualifier) != 0)
00432 #define XMP_PropHasLang(opt) (((opt) & kXMP_PropHasLang) != 0)
00433
00434 #define XMP_NodeIsSchema(opt) (((opt) & kXMP_SchemaNode) != 0)
00435 #define XMP_PropIsAlias(opt) (((opt) & kXMP_PropIsAlias) != 0)
00436
00437
00438
00439 enum {
00440
00441
00442 kXMP_PropValueIsURI = 0x00000002UL,
00443
00444
00445 kXMP_PropHasQualifiers = 0x00000010UL,
00446 kXMP_PropIsQualifier = 0x00000020UL,
00447 kXMP_PropHasLang = 0x00000040UL,
00448 kXMP_PropHasType = 0x00000080UL,
00449
00450
00451 kXMP_PropValueIsStruct = 0x00000100UL,
00452 kXMP_PropValueIsArray = 0x00000200UL,
00453 kXMP_PropArrayIsUnordered = kXMP_PropValueIsArray,
00454 kXMP_PropArrayIsOrdered = 0x00000400UL,
00455 kXMP_PropArrayIsAlternate = 0x00000800UL,
00456
00457
00458 kXMP_PropArrayIsAltText = 0x00001000UL,
00459
00460
00461
00462
00463 kXMP_PropIsAlias = 0x00010000UL,
00464 kXMP_PropHasAliases = 0x00020000UL,
00465 kXMP_PropIsInternal = 0x00040000UL,
00466 kXMP_PropIsStable = 0x00100000UL,
00467 kXMP_PropIsDerived = 0x00200000UL,
00468
00469
00470
00471
00472
00473 kXMP_PropArrayFormMask = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText,
00474 kXMP_PropCompositeMask = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask,
00475 kXMP_ImplReservedMask = 0x70000000L
00476 };
00477
00478 #define kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL)
00479
00480 enum {
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493
00494 kXMP_InsertBeforeItem = 0x00004000UL,
00495 kXMP_InsertAfterItem = 0x00008000UL,
00496
00497
00498 kXMP_DeleteExisting = 0x20000000UL,
00499
00500
00501 kXMP_PropValueOptionsMask = kXMP_PropValueIsURI,
00502 kXMP_PropArrayLocationMask = kXMP_InsertBeforeItem | kXMP_InsertAfterItem
00503
00504 };
00505
00506
00507
00508 enum {
00509 kXMP_RequireXMPMeta = 0x0001UL,
00510 kXMP_ParseMoreBuffers = 0x0002UL,
00511 kXMP_StrictAliasing = 0x0004UL
00512 };
00513
00514 enum {
00515
00516
00517
00518 kXMP_OmitPacketWrapper = 0x0010UL,
00519 kXMP_ReadOnlyPacket = 0x0020UL,
00520 kXMP_UseCompactFormat = 0x0040UL,
00521
00522 kXMP_IncludeThumbnailPad = 0x0100UL,
00523 kXMP_ExactPacketLength = 0x0200UL,
00524 kXMP_WriteAliasComments = 0x0400UL,
00525 kXMP_OmitAllFormatting = 0x0800UL,
00526
00527 _XMP_LittleEndian_Bit = 0x0001UL,
00528 _XMP_UTF16_Bit = 0x0002UL,
00529 _XMP_UTF32_Bit = 0x0004UL,
00530
00531 kXMP_EncodingMask = 0x0007UL,
00532 kXMP_EncodeUTF8 = 0UL,
00533 kXMP_EncodeUTF16Big = _XMP_UTF16_Bit,
00534 kXMP_EncodeUTF16Little = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
00535 kXMP_EncodeUTF32Big = _XMP_UTF32_Bit,
00536 kXMP_EncodeUTF32Little = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
00537
00538 };
00539
00540
00541
00542 enum {
00543
00544 kXMP_IterClassMask = 0x00FFUL,
00545 kXMP_IterProperties = 0x0000UL,
00546 kXMP_IterAliases = 0x0001UL,
00547 kXMP_IterNamespaces = 0x0002UL,
00548 kXMP_IterJustChildren = 0x0100UL,
00549 kXMP_IterJustLeafNodes = 0x0200UL,
00550 kXMP_IterJustLeafName = 0x0400UL,
00551 kXMP_IterIncludeAliases = 0x0800UL,
00552
00553 kXMP_IterOmitQualifiers = 0x1000UL
00554
00555 };
00556
00557 enum {
00558 kXMP_IterSkipSubtree = 0x0001UL,
00559 kXMP_IterSkipSiblings = 0x0002UL
00560 };
00561
00562
00563
00564 enum {
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574 kXMPUtil_AllowCommas = 0x10000000UL
00575
00576 };
00577
00578 enum {
00579 kXMPUtil_DoAllProperties = 0x0001UL,
00580 kXMPUtil_ReplaceOldValues = 0x0002UL,
00581 kXMPUtil_DeleteEmptyValues = 0x0004UL,
00582 kXMPUtil_IncludeAliases = 0x0800UL
00583 };
00584
00585
00586
00587
00588
00589 enum {
00590
00591
00592
00593
00594
00595 kXMP_PDFFile = 0x50444620UL,
00596 kXMP_PostScriptFile = 0x50532020UL,
00597 kXMP_EPSFile = 0x45505320UL,
00598
00599 kXMP_JPEGFile = 0x4A504547UL,
00600 kXMP_JPEG2KFile = 0x4A505820UL,
00601 kXMP_TIFFFile = 0x54494646UL,
00602 kXMP_GIFFile = 0x47494620UL,
00603 kXMP_PNGFile = 0x504E4720UL,
00604
00605 kXMP_SWFFile = 0x53574620UL,
00606 kXMP_FLAFile = 0x464C4120UL,
00607 kXMP_FLVFile = 0x464C5620UL,
00608
00609 kXMP_MOVFile = 0x4D4F5620UL,
00610 kXMP_AVIFile = 0x41564920UL,
00611 kXMP_CINFile = 0x43494E20UL,
00612 kXMP_WAVFile = 0x57415620UL,
00613 kXMP_MP3File = 0x4D503320UL,
00614 kXMP_SESFile = 0x53455320UL,
00615 kXMP_CELFile = 0x43454C20UL,
00616 kXMP_MPEGFile = 0x4D504547UL,
00617 kXMP_MPEG2File = 0x4D503220UL,
00618 kXMP_MPEG4File = 0x4D503420UL,
00619 kXMP_WMAVFile = 0x574D4156UL,
00620 kXMP_AIFFFile = 0x41494646UL,
00621
00622 kXMP_HTMLFile = 0x48544D4CUL,
00623 kXMP_XMLFile = 0x584D4C20UL,
00624 kXMP_TextFile = 0x74657874UL,
00625
00626
00627
00628 kXMP_PhotoshopFile = 0x50534420UL,
00629 kXMP_IllustratorFile = 0x41492020UL,
00630 kXMP_InDesignFile = 0x494E4444UL,
00631 kXMP_AEProjectFile = 0x41455020UL,
00632 kXMP_AEProjTemplateFile = 0x41455420UL,
00633 kXMP_AEFilterPresetFile = 0x46465820UL,
00634 kXMP_EncoreProjectFile = 0x4E434F52UL,
00635 kXMP_PremiereProjectFile = 0x5052504AUL,
00636 kXMP_PremiereTitleFile = 0x5052544CUL,
00637
00638
00639
00640 kXMP_UnknownFile = 0x20202020UL
00641
00642 };
00643 typedef XMP_Uns32 XMP_FileFormat;
00644
00645
00646
00647 enum {
00648 kXMP_CharLittleEndianMask = 1,
00649 kXMP_Char16BitMask = 2,
00650 kXMP_Char32BitMask = 4
00651 };
00652
00653 enum {
00654 kXMP_Char8Bit = 0,
00655 kXMP_Char16BitBig = kXMP_Char16BitMask,
00656 kXMP_Char16BitLittle = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
00657 kXMP_Char32BitBig = kXMP_Char32BitMask,
00658 kXMP_Char32BitLittle = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
00659 kXMP_CharUnknown = 1
00660 };
00661
00662 #define XMP_CharFormIs16Bit(f) ( ((int)(f) & kXMP_Char16BitMask) != 0 )
00663 #define XMP_CharFormIs32Bit(f) ( ((int)(f) & kXMP_Char32BitMask) != 0 )
00664
00665 #define XMP_CharFormIsBigEndian(f) ( ((int)(f) & kXMP_CharLittleEndianMask) == 0 )
00666 #define XMP_CharFormIsLittleEndian(f) ( ((int)(f) & kXMP_CharLittleEndianMask) != 0 )
00667
00668 #define XMP_GetCharSize(f) ( ((int)(f)&6) == 0 ? 1 : (int)(f)&6 )
00669
00670 #define XMP_CharToSerializeForm(cf) ( (XMP_OptionBits)(cf) )
00671 #define XMP_CharFromSerializeForm(sf) ( (XMP_Uns8)(sf) )
00672
00673 struct XMP_PacketInfo {
00674 XMP_Int64 offset;
00675 XMP_Int32 length;
00676 XMP_Int32 padSize;
00677 XMP_Uns8 charForm;
00678 XMP_Bool writeable;
00679 XMP_Uns8 pad1, pad2;
00680 #if __cplusplus
00681 XMP_PacketInfo() : offset(0), length(0), padSize(0), charForm(0), writeable(0), pad1(0), pad2(0) {};
00682 #endif
00683 };
00684 #if ! __cplusplus
00685 typedef struct XMP_PacketInfo XMP_PacketInfo;
00686 #endif
00687 enum { kXMP_PacketInfoVersion = 3 };
00688
00689
00690
00691 enum {
00692 kXMP_UnknownTNail = 0,
00693 kXMP_JPEGTNail = 1,
00694 kXMP_TIFFTNail = 2,
00695 kXMP_PShopTNail = 3
00696 };
00697
00698 struct XMP_ThumbnailInfo {
00699 XMP_FileFormat fileFormat;
00700 XMP_Uns32 fullWidth, fullHeight;
00701 XMP_Uns32 tnailWidth, tnailHeight;
00702 XMP_Uns16 fullOrientation, tnailOrientation;
00703 const XMP_Uns8 * tnailImage;
00704 XMP_Uns32 tnailSize;
00705 XMP_Uns8 tnailFormat;
00706 XMP_Uns8 pad1, pad2, pad3;
00707 #if __cplusplus
00708 XMP_ThumbnailInfo() : fileFormat(kXMP_UnknownFile), fullWidth(0), fullHeight(0),
00709 tnailWidth(0), tnailHeight(0), fullOrientation(0), tnailOrientation(0),
00710 tnailImage(0), tnailSize(0), tnailFormat(kXMP_UnknownTNail) {};
00711 #endif
00712 };
00713 #if ! __cplusplus
00714 typedef struct XMP_ThumbnailInfo XMP_ThumbnailInfo;
00715 #endif
00716 enum { kXMP_ThumbnailInfoVersion = 1 };
00717
00718
00719
00720 #define kXMPFiles_UnknownOffset ((XMP_Int64)-1)
00721 #define kXMPFiles_UnknownLength ((XMP_Int32)-1)
00722
00723 enum {
00724 kXMPFiles_NoQuickTimeInit = 0x0001
00725 };
00726
00727 enum {
00728 kXMPFiles_CanInjectXMP = 0x00000001,
00729 kXMPFiles_CanExpand = 0x00000002,
00730 kXMPFiles_CanRewrite = 0x00000004,
00731 kXMPFiles_PrefersInPlace = 0x00000008,
00732 kXMPFiles_CanReconcile = 0x00000010,
00733 kXMPFiles_AllowsOnlyXMP = 0x00000020,
00734 kXMPFiles_ReturnsRawPacket = 0x00000040,
00735 kXMPFiles_ReturnsTNail = 0x00000080,
00736 kXMPFiles_HandlerOwnsFile = 0x00000100,
00737 kXMPFiles_AllowsSafeUpdate = 0x00000200,
00738 kXMPFiles_NeedsReadOnlyPacket = 0x00000400,
00739 kXMPFiles_UsesSidecarXMP = 0x00000800
00740 };
00741
00742 enum {
00743 kXMPFiles_OpenForRead = 0x00000001,
00744 kXMPFiles_OpenForUpdate = 0x00000002,
00745 kXMPFiles_OpenOnlyXMP = 0x00000004,
00746 kXMPFiles_OpenCacheTNail = 0x00000008,
00747 kXMPFiles_OpenStrictly = 0x00000010,
00748 kXMPFiles_OpenUseSmartHandler = 0x00000020,
00749 kXMPFiles_OpenUsePacketScanning = 0x00000040,
00750 kXMPFiles_OpenLimitedScanning = 0x00000080,
00751 kXMPFiles_OpenInBackground = 0x10000000
00752 };
00753
00754
00755
00756
00757
00758 enum {
00759 kXMPFiles_UpdateSafely = 0x0001
00760 };
00761
00762
00763
00764
00765
00779 #if ! __cplusplus
00780
00781 typedef struct XMP_Error {
00782 XMP_Int32 id;
00783 XMP_StringPtr errMsg;
00784 } XMP_Error;
00785
00786 #else
00787
00788 class XMP_Error {
00789 public:
00790 XMP_Error ( XMP_Int32 _id, XMP_StringPtr _errMsg ) : id(_id), errMsg(_errMsg) {};
00791 inline XMP_Int32 GetID() const { return id; };
00792 inline XMP_StringPtr GetErrMsg() const { return errMsg; };
00793 private:
00794 XMP_Int32 id;
00795 XMP_StringPtr errMsg;
00796 };
00797
00798 #endif
00799
00800 enum {
00801
00802
00803 kXMPErr_Unknown = 0,
00804 kXMPErr_TBD = 1,
00805 kXMPErr_Unavailable = 2,
00806 kXMPErr_BadObject = 3,
00807 kXMPErr_BadParam = 4,
00808 kXMPErr_BadValue = 5,
00809 kXMPErr_AssertFailure = 6,
00810 kXMPErr_EnforceFailure = 7,
00811 kXMPErr_Unimplemented = 8,
00812 kXMPErr_InternalFailure = 9,
00813 kXMPErr_Deprecated = 10,
00814 kXMPErr_ExternalFailure = 11,
00815 kXMPErr_UserAbort = 12,
00816 kXMPErr_StdException = 13,
00817 kXMPErr_UnknownException = 14,
00818 kXMPErr_NoMemory = 15,
00819
00820
00821 kXMPErr_BadSchema = 101,
00822 kXMPErr_BadXPath = 102,
00823 kXMPErr_BadOptions = 103,
00824 kXMPErr_BadIndex = 104,
00825 kXMPErr_BadIterPosition = 105,
00826 kXMPErr_BadParse = 106,
00827 kXMPErr_BadSerialize = 107,
00828 kXMPErr_BadFileFormat = 108,
00829 kXMPErr_NoFileHandler = 109,
00830 kXMPErr_TooLargeForJPEG = 110,
00831
00832
00833 kXMPErr_BadXML = 201,
00834 kXMPErr_BadRDF = 202,
00835 kXMPErr_BadXMP = 203,
00836 kXMPErr_EmptyIterator = 204,
00837 kXMPErr_BadUnicode = 205,
00838 kXMPErr_BadTIFF = 206,
00839 kXMPErr_BadJPEG = 207,
00840 kXMPErr_BadPSD = 208,
00841 kXMPErr_BadPSIR = 209,
00842 kXMPErr_BadIPTC = 210,
00843 kXMPErr_BadMPEG = 211
00844
00845 };
00846
00852
00853
00854
00855
00856
00880 typedef XMP_Int32 XMP_Status;
00881
00882 typedef XMP_Status (* XMP_TextOutputProc) ( void * refCon,
00883 XMP_StringPtr buffer,
00884 XMP_StringLen bufferSize );
00885
00891
00892
00893
00894
00895 typedef struct XMP_VersionInfo {
00896 XMP_Uns8 major;
00897 XMP_Uns8 minor;
00898 XMP_Uns8 micro;
00899 XMP_Bool isDebug;
00900 XMP_Uns32 build;
00901 XMP_Uns32 flags;
00902 XMP_StringPtr message;
00903 } XMP_VersionInfo;
00904
00905 typedef bool (* XMP_AbortProc) ( void * arg );
00906
00907
00908
00909 #if __cplusplus
00910 }
00911 #endif
00912
00913 #endif