| XMP Toolkit SDK 6.0.0

Classes | Macros | Typedefs | Enumerations | Variables
XMP_Const.h File Reference

Common C/C++ types and constants for the XMP toolkit. More...

`#include "XMP_Environment.h"`
`#include <stddef.h>`
`#include <vector>`

Go to the source code of this file.

## Classes
struct | XMP_DateTime
| The expanded type for a date and time. More...
struct | XMP_PacketInfo
| XMP packet description. More...
class | XMP_Error
| XMP Toolkit error, associates an error code with a descriptive error string. More...
struct | XMP_VersionInfo
| XMP Toolkit version information. More...

## Macros
#define | XMP_MARKER_EXTENSIBILITY_BACKWARD_COMPATIBILITY 1
#define | __AVAILABILITY_INTERNAL_DEPRECATED_XMP
#define | ConvertXMP_BoolToBool(a) (a) != kXMP_Bool_False
#define | ConvertBoolToXMP_Bool(a) (a) ? !kXMP_Bool_False : kXMP_Bool_False
#define | XMPDateTime_IsDateOnly(dt) ((dt).hasDate & (! (dt).hasTime))
#define | XMPDateTime_IsTimeOnly(dt) ((dt).hasTime & (! (dt).hasDate))
#define | XMPDateTime_ClearTimeZone(dt) { (dt).hasTimeZone = (dt).tzSign = (dt).tzHour = (dt).tzMinute = 0; }
#define | kXMP_NS_PSAlbum "http://ns.adobe.com/album/1.0/"
#define | kXMP_NS_EXIF_Aux "http://ns.adobe.com/exif/1.0/aux/"
#define | kXMP_NS_PNG "http://ns.adobe.com/png/1.0/"
#define | kXMP_NS_SWF "http://ns.adobe.com/swf/1.0/"
#define | kXMP_NS_JPEG "http://ns.adobe.com/jpeg/1.0/"
#define | kXMP_NS_JP2K "http://ns.adobe.com/jp2k/1.0/"
#define | kXMP_NS_CameraRaw "http://ns.adobe.com/camera-raw-settings/1.0/"
#define | kXMP_NS_DM "http://ns.adobe.com/xmp/1.0/DynamicMedia/"
#define | kXMP_NS_Script "http://ns.adobe.com/xmp/1.0/Script/"
#define | kXMP_NS_ASF "http://ns.adobe.com/asf/1.0/"
#define | kXMP_NS_WAV "http://ns.adobe.com/xmp/wav/1.0/"
#define | kXMP_NS_BWF "http://ns.adobe.com/bwf/bext/1.0/"
#define | kXMP_NS_AEScart "http://ns.adobe.com/aes/cart/"
#define | kXMP_NS_RIFFINFO "http://ns.adobe.com/riff/info/"
#define | kXMP_NS_iXML "http://ns.adobe.com/ixml/1.0/"
#define | kXMP_NS_XMP_Note "http://ns.adobe.com/xmp/note/"
#define | kXMP_NS_AdobeStockPhoto "http://ns.adobe.com/StockPhoto/1.0/"
#define | kXMP_NS_CreatorAtom "http://ns.adobe.com/creatorAtom/1.0/"
#define | kXMP_NS_ExifEX "http://cipa.jp/exif/1.0/"
#define | kXMP_NS_XMP_Text "http://ns.adobe.com/xap/1.0/t/"
#define | kXMP_NS_XMP_PagedFile "http://ns.adobe.com/xap/1.0/t/pg/"
#define | kXMP_NS_XMP_Graphics "http://ns.adobe.com/xap/1.0/g/"
#define | kXMP_NS_XMP_Font "http://ns.adobe.com/xap/1.0/sType/Font#"
#define | kXMP_NS_XMP_ManifestItem "http://ns.adobe.com/xap/1.0/sType/ManifestItem#"
#define | kXMP_NS_XMP_G_IMG "http://ns.adobe.com/xap/1.0/g/img/"
#define | kXMP_NS_DICOM "http://ns.adobe.com/DICOM/"
#define | kXMP_NS_PLUS "http://ns.useplus.org/ldf/xmp/1.0/"
#define | kXMP_NS_PDFA_Schema "http://www.aiim.org/pdfa/ns/schema#"
#define | kXMP_NS_PDFA_Property "http://www.aiim.org/pdfa/ns/property#"
#define | kXMP_NS_PDFA_Type "http://www.aiim.org/pdfa/ns/type#"
#define | kXMP_NS_PDFA_Field "http://www.aiim.org/pdfa/ns/field#"
#define | kXMP_NS_PDFA_ID "http://www.aiim.org/pdfa/ns/id/"
#define | kXMP_NS_PDFA_Extension "http://www.aiim.org/pdfa/ns/extension/"
#define | kXMP_NS_PDFX "http://ns.adobe.com/pdfx/1.3/"
#define | kXMP_NS_PDFX_ID "http://www.npes.org/pdfx/ns/id/"
#define | kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL)
#define | kXMPFiles_UnknownOffset ((XMP_Int64)-1)
| Constant for an unknown packet offset within a file. More...
#define | kXMPFiles_UnknownLength ((XMP_Int32)-1)
| Constant for an unknown packet length within a file. More...
XML namespace constants for standard XMP schema.
#define | kXMP_NS_XMP "http://ns.adobe.com/xap/1.0/"
| The XML namespace for the XMP "basic" schema. More...
#define | kXMP_NS_XMP_Rights "http://ns.adobe.com/xap/1.0/rights/"
| The XML namespace for the XMP copyright schema. More...
#define | kXMP_NS_XMP_MM "http://ns.adobe.com/xap/1.0/mm/"
| The XML namespace for the XMP digital asset management schema. More...
#define | kXMP_NS_XMP_BJ "http://ns.adobe.com/xap/1.0/bj/"
| The XML namespace for the job management schema. More...
#define | kXMP_NS_PDF "http://ns.adobe.com/pdf/1.3/"
| The XML namespace for the PDF schema. More...
#define | kXMP_NS_Photoshop "http://ns.adobe.com/photoshop/1.0/"
| The XML namespace for the Photoshop custom schema. More...
#define | kXMP_NS_EXIF "http://ns.adobe.com/exif/1.0/"
| The XML namespace for Adobe's EXIF schema. More...
#define | kXMP_NS_TIFF "http://ns.adobe.com/tiff/1.0/"
| The XML namespace for Adobe's TIFF schema. More...
#define | kXMP_NS_XMP_T "http://ns.adobe.com/xap/1.0/t/"
| The XML namespace for the XMP text document schema. More...
#define | kXMP_NS_XMP_T_PG "http://ns.adobe.com/xap/1.0/t/pg/"
| The XML namespace for the XMP paged document schema. More...
XML namespace constants for qualifiers and structured property fields.
#define | kXMP_NS_XMP_IdentifierQual "http://ns.adobe.com/xmp/Identifier/qual/1.0/"
| The XML namespace for qualifiers of the xmp:Identifier property. More...
#define | kXMP_NS_XMP_Dimensions "http://ns.adobe.com/xap/1.0/sType/Dimensions#"
| The XML namespace for fields of the Dimensions type. More...
#define | kXMP_NS_XMP_Image "http://ns.adobe.com/xap/1.0/g/img/"
| The XML namespace for fields of a graphical image. Used for the Thumbnail type. More...
#define | kXMP_NS_XMP_ResourceEvent "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
| The XML namespace for fields of the ResourceEvent type. More...
#define | kXMP_NS_XMP_ResourceRef "http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
| The XML namespace for fields of the ResourceRef type. More...
#define | kXMP_NS_XMP_ST_Version "http://ns.adobe.com/xap/1.0/sType/Version#"
| The XML namespace for fields of the Version type. More...
#define | kXMP_NS_XMP_ST_Job "http://ns.adobe.com/xap/1.0/sType/Job#"
| The XML namespace for fields of the JobRef type. More...
XML namespace constants from outside Adobe.
#define | kXMP_NS_DC "http://purl.org/dc/elements/1.1/"
| The XML namespace for the Dublin Core schema. More...
#define | kXMP_NS_IPTCCore "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"
| The XML namespace for the IPTC Core schema. More...
#define | kXMP_NS_IPTCExt "http://iptc.org/std/Iptc4xmpExt/2008-02-29/"
| The XML namespace for the IPTC Extension schema. More...
#define | kXMP_NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
| The XML namespace for RDF. More...
#define | kXMP_NS_XML "http://www.w3.org/XML/1998/namespace"
| The XML namespace for XML. More...
Macros for standard option selections.
#define | kXMP_ArrayLastItem ((XMP_Index)(-1L))
| Options macro accesses last array item. More...
#define | kXMP_UseNullTermination ((XMP_StringLen)(~0UL))
| Options macro sets string style. More...
#define | kXMP_NoOptions ((XMP_OptionBits)0UL)
| Options macro clears all property-type bits. More...
Macros for setting and testing general option bits.
#define | XMP_SetOption(var, opt) var |= (opt)
| Macro sets an option flag bit. More...
#define | XMP_ClearOption(var, opt) var &= ~(opt)
| Macro clears an option flag bit. More...
#define | XMP_TestOption(var, opt) (((var) & (opt)) != 0)
| Macro reports whether an option flag bit is set. More...
#define | XMP_OptionIsSet(var, opt) (((var) & (opt)) != 0)
| Macro reports whether an option flag bit is set. More...
#define | XMP_OptionIsClear(var, opt) (((var) & (opt)) == 0)
| Macro reports whether an option flag bit is clear. More...
Macros for setting and testing specific option bits.
#define | XMP_PropIsSimple(opt) (((opt) & kXMP_PropCompositeMask) == 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_PropIsStruct(opt) (((opt) & kXMP_PropValueIsStruct) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_PropIsArray(opt) (((opt) & kXMP_PropValueIsArray) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_ArrayIsUnordered(opt) (((opt) & kXMP_PropArrayIsOrdered) == 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_ArrayIsOrdered(opt) (((opt) & kXMP_PropArrayIsOrdered) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_ArrayIsAlternate(opt) (((opt) & kXMP_PropArrayIsAlternate) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_ArrayIsAltText(opt) (((opt) & kXMP_PropArrayIsAltText) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_PropHasQualifiers(opt) (((opt) & kXMP_PropHasQualifiers) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_PropIsQualifier(opt) (((opt) & kXMP_PropIsQualifier) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_PropHasLang(opt) (((opt) & kXMP_PropHasLang) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_NodeIsSchema(opt) (((opt) & kXMP_SchemaNode) != 0)
| Macro reports the property type specified by an options flag. More...
#define | XMP_PropIsAlias(opt) (((opt) & kXMP_PropIsAlias) != 0)
| Macro reports the property type specified by an options flag. More...
Macros to test components of the character form mask
#define | XMP_CharFormIs16Bit(f) ( ((int)(f) & kXMP_Char16BitMask) != 0 )
| Macro reports the encoding of a character. More...
#define | XMP_CharFormIs32Bit(f) ( ((int)(f) & kXMP_Char32BitMask) != 0 )
| Macro reports the encoding of a character. More...
#define | XMP_CharFormIsBigEndian(f) ( ((int)(f) & kXMP_CharLittleEndianMask) == 0 )
| Macro reports the byte-order of a character. More...
#define | XMP_CharFormIsLittleEndian(f) ( ((int)(f) & kXMP_CharLittleEndianMask) != 0 )
| Macro reports the byte-order of a character. More...
#define | XMP_GetCharSize(f) ( ((int)(f)&6) == 0 ? 1 : (int)(f)&6 )
| Macro reports the byte-size of a character. More...
#define | XMP_CharToSerializeForm(cf) ( (XMP_OptionBits)(cf) )
| Macro converts `XMP_Uns8` to `XMP_OptionBits`. More...
#define | XMP_CharFromSerializeForm(sf) ( (XMP_Uns8)(sf) )
| Macro converts `XMP_OptionBits` to `XMP_Uns8`. More...

## Typedefs
typedef XMP_Uns8 | XMP_Bool
typedef struct __XMPMeta__ * | XMPMetaRef
| An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across client DLL boundaries. See `TXMPMeta::GetInternalRef()`. More...
typedef struct __XMPIterator__ * | XMPIteratorRef
| An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP iteration object across client DLL boundaries. See `TXMPIterator`. More...
typedef struct __XMPDocOps__ * | XMPDocOpsRef
| An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an XMP document operations object across client DLL boundaries. See `TXMPDocOps`. More...
typedef struct __XMPFiles__ * | XMPFilesRef
| An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP file-handling object across client DLL boundaries. See `TXMPFiles`. More...
typedef XMP_Uns32 | XMP_FileFormat
| Type for file format identification constants. See `kXMP_PDFFile` and following. More...
typedef struct XMP_VersionInfo | XMP_VersionInfo
| XMP Toolkit version information. More...
Special purpose callback functions
typedef XMP_Int32 | XMP_Status
| A signed 32-bit integer used as a status result for the output callback routine, `XMP_TextOutputProc`. Zero means no error, all other values except -1 are private to the callback. The callback is wrapped to prevent exceptions being thrown across DLL boundaries. Any exceptions thrown out of the callback cause a return status of -1. More...
typedef XMP_Status(* | XMP_TextOutputProc) (void *refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize)
| The signature of a client-defined callback for text output from XMP Toolkit debugging operations. More...
typedef bool(* | XMP_AbortProc) (void *arg)
| The signature of a client-defined callback to check for a user request to abort a time-consuming operation within XMPFiles. More...
typedef bool(* | XMP_ProgressReportProc) (void *context, float elapsedTime, float fractionDone, float secondsToGo)
| The signature of a client-defined callback for progress report notifications. More...
typedef XMP_Bool(* | XMP_ProgressReportWrapper) (XMP_ProgressReportProc proc, void *context, float elapsedTime, float fractionDone, float secondsToGo)
| Internal: The signature of a client-side wrapper for the progress report callback. More...

## Enumerations
enum | { kXMP_TimeWestOfUTC = -1, kXMP_TimeIsUTC = 0, kXMP_TimeEastOfUTC = +1 }
| Constant values for `XMP_DateTime::tzSign` field. More...
enum | { kXMP_PropValueIsURI = 0x00000002UL, kXMP_PropHasQualifiers = 0x00000010UL, kXMP_PropIsQualifier = 0x00000020UL, kXMP_PropHasLang = 0x00000040UL, kXMP_PropHasType = 0x00000080UL, kXMP_PropValueIsStruct = 0x00000100UL, kXMP_PropValueIsArray = 0x00000200UL, kXMP_PropArrayIsUnordered = kXMP_PropValueIsArray, kXMP_PropArrayIsOrdered = 0x00000400UL, kXMP_PropArrayIsAlternate = 0x00000800UL, kXMP_PropArrayIsAltText = 0x00001000UL, kXMP_PropIsAlias = 0x00010000UL, kXMP_PropHasAliases = 0x00020000UL, kXMP_PropIsInternal = 0x00040000UL, kXMP_PropIsStable = 0x00100000UL, kXMP_PropIsDerived = 0x00200000UL, kXMP_PropArrayFormMask = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText, kXMP_PropCompositeMask = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask, kXMP_ImplReservedMask = 0x70000000L }
| Option bit flags for the `TXMPMeta` property accessor functions. More...
enum | { kXMP_InsertBeforeItem = 0x00004000UL, kXMP_InsertAfterItem = 0x00008000UL, kXMP_DeleteExisting = 0x20000000UL, kXMP_PropValueOptionsMask = kXMP_PropValueIsURI, kXMP_PropArrayLocationMask = kXMP_InsertBeforeItem | kXMP_InsertAfterItem }
| Option bit flags for the `TXMPMeta` property setting functions. More...
enum | { kXMP_RequireXMPMeta = 0x0001UL, kXMP_ParseMoreBuffers = 0x0002UL, kXMP_StrictAliasing = 0x0004UL }
| Option bit flags for `TXMPMeta::ParseFromBuffer()`. More...
enum | { kXMP_OmitPacketWrapper = 0x0010UL, kXMP_ReadOnlyPacket = 0x0020UL, kXMP_UseCompactFormat = 0x0040UL, kXMP_UseCanonicalFormat = 0x0080UL, kXMP_IncludeThumbnailPad = 0x0100UL, kXMP_ExactPacketLength = 0x0200UL, kXMP_OmitAllFormatting = 0x0800UL, kXMP_OmitXMPMetaElement = 0x1000UL, kXMP_IncludeRDFHash = 0x2000UL, _XMP_LittleEndian_Bit = 0x0001UL, _XMP_UTF16_Bit = 0x0002UL, _XMP_UTF32_Bit = 0x0004UL, kXMP_EncodingMask = 0x0007UL, kXMP_EncodeUTF8 = 0UL, kXMP_EncodeUTF16Big = _XMP_UTF16_Bit, kXMP_EncodeUTF16Little = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit, kXMP_EncodeUTF32Big = _XMP_UTF32_Bit, kXMP_EncodeUTF32Little = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit }
| Option bit flags for `TXMPMeta::SerializeToBuffer()`. More...
enum | { kXMP_IterClassMask = 0x00FFUL, kXMP_IterProperties = 0x0000UL, kXMP_IterAliases = 0x0001UL, kXMP_IterNamespaces = 0x0002UL, kXMP_IterJustChildren = 0x0100UL, kXMP_IterJustLeafNodes = 0x0200UL, kXMP_IterJustLeafName = 0x0400UL, kXMP_IterOmitQualifiers = 0x1000UL }
| Option bit flags for `TXMPIterator` construction. More...
enum | { kXMP_IterSkipSubtree = 0x0001UL, kXMP_IterSkipSiblings = 0x0002UL }
| Option bit flags for `TXMPIterator::Skip()`. More...
enum | { kXMPUtil_AllowCommas = 0x10000000UL }
| Option bit flags for `TXMPUtils::CatenateArrayItems()` and `TXMPUtils::SeparateArrayItems()`. More...
enum | { kXMPTemplate_IncludeInternalProperties = 0x0001UL, kXMPTemplate_ReplaceExistingProperties = 0x0002UL, kXMPTemplate_ReplaceWithDeleteEmpty = 0x0004UL, kXMPTemplate_AddNewProperties = 0x0008UL, kXMPTemplate_ClearUnnamedProperties = 0x0010UL }
| Option bit flags for `TXMPUtils::ApplyTemplate()`. More...
enum | { kXMPUtil_DoAllProperties = 0x0001UL, kXMPUtil_ReplaceOldValues = 0x0002UL, kXMPUtil_DeleteEmptyValues = 0x0004UL, kXMPUtil_IncludeAliases = 0x0800UL }
| Option bit flags for `TXMPUtils::RemoveProperties()` and `TXMPUtils::AppendProperties()`. More...
enum | SeekMode { kXMP_SeekFromStart, kXMP_SeekFromCurrent, kXMP_SeekFromEnd }
| Seek mode constants for use with XMP_IO and inside XMPFiles library code. More...
enum | { kXMP_PDFFile = 0x50444620UL, kXMP_PostScriptFile = 0x50532020UL, kXMP_EPSFile = 0x45505320UL, kXMP_JPEGFile = 0x4A504547UL, kXMP_JPEG2KFile = 0x4A505820UL, kXMP_TIFFFile = 0x54494646UL, kXMP_GIFFile = 0x47494620UL, kXMP_PNGFile = 0x504E4720UL, kXMP_SWFFile = 0x53574620UL, kXMP_FLAFile = 0x464C4120UL, kXMP_FLVFile = 0x464C5620UL, kXMP_MOVFile = 0x4D4F5620UL, kXMP_AVIFile = 0x41564920UL, kXMP_CINFile = 0x43494E20UL, kXMP_WAVFile = 0x57415620UL, kXMP_MP3File = 0x4D503320UL, kXMP_SESFile = 0x53455320UL, kXMP_CELFile = 0x43454C20UL, kXMP_MPEGFile = 0x4D504547UL, kXMP_MPEG2File = 0x4D503220UL, kXMP_MPEG4File = 0x4D503420UL, kXMP_MXFFile = 0x4D584620UL, kXMP_WMAVFile = 0x574D4156UL, kXMP_AIFFFile = 0x41494646UL, kXMP_REDFile = 0x52454420UL, kXMP_ARRIFile = 0x41525249UL, kXMP_HEIFFile = 0x48454946UL, kXMP_P2File = 0x50322020UL, kXMP_XDCAM_FAMFile = 0x58444346UL, kXMP_XDCAM_SAMFile = 0x58444353UL, kXMP_XDCAM_EXFile = 0x58444358UL, kXMP_AVCHDFile = 0x41564844UL, kXMP_SonyHDVFile = 0x53484456UL, kXMP_CanonXFFile = 0x434E5846UL, kXMP_AVCUltraFile = 0x41564355UL, kXMP_HTMLFile = 0x48544D4CUL, kXMP_XMLFile = 0x584D4C20UL, kXMP_TextFile = 0x74657874UL, kXMP_SVGFile = 0x53564720UL, kXMP_PhotoshopFile = 0x50534420UL, kXMP_IllustratorFile = 0x41492020UL, kXMP_InDesignFile = 0x494E4444UL, kXMP_AEProjectFile = 0x41455020UL, kXMP_AEProjTemplateFile = 0x41455420UL, kXMP_AEFilterPresetFile = 0x46465820UL, kXMP_EncoreProjectFile = 0x4E434F52UL, kXMP_PremiereProjectFile = 0x5052504AUL, kXMP_PremiereTitleFile = 0x5052544CUL, kXMP_UCFFile = 0x55434620UL, kXMP_UnknownFile = 0x20202020UL }
| File format constants for use with XMPFiles. More...
enum | { kXMP_CharLittleEndianMask = 1, kXMP_Char16BitMask = 2, kXMP_Char32BitMask = 4 }
| Byte-order masks, do not use directly. More...
enum | { kXMP_Char8Bit = 0, kXMP_Char16BitBig = kXMP_Char16BitMask, kXMP_Char16BitLittle = kXMP_Char16BitMask | kXMP_CharLittleEndianMask, kXMP_Char32BitBig = kXMP_Char32BitMask, kXMP_Char32BitLittle = kXMP_Char32BitMask | kXMP_CharLittleEndianMask, kXMP_CharUnknown = 1 }
| Constants to allow easy testing for 16/32 bit and big/little endian. More...
enum | { kXMP_PacketInfoVersion = 3 }
| Version of the XMP_PacketInfo type. More...
enum | { kXMPFiles_IgnoreLocalText = 0x0002, kXMPFiles_ServerMode = kXMPFiles_IgnoreLocalText }
| Option bit flags for `TXMPFiles::Initialize()`. More...
enum | { kXMPFiles_CanInjectXMP = 0x00000001, kXMPFiles_CanExpand = 0x00000002, kXMPFiles_CanRewrite = 0x00000004, kXMPFiles_PrefersInPlace = 0x00000008, kXMPFiles_CanReconcile = 0x00000010, kXMPFiles_AllowsOnlyXMP = 0x00000020, kXMPFiles_ReturnsRawPacket = 0x00000040, kXMPFiles_HandlerOwnsFile = 0x00000100, kXMPFiles_AllowsSafeUpdate = 0x00000200, kXMPFiles_NeedsReadOnlyPacket = 0x00000400, kXMPFiles_UsesSidecarXMP = 0x00000800, kXMPFiles_FolderBasedFormat = 0x00001000, kXMPFiles_CanNotifyProgress = 0x00002000, kXMPFiles_NeedsPreloading = 0x00004000, kXMPFiles_NeedsLocalFileOpened = 0x00010000 }
| Option bit flags for `TXMPFiles::GetFormatInfo()`. More...
enum | { kXMPFiles_OpenForRead = 0x00000001, kXMPFiles_OpenForUpdate = 0x00000002, kXMPFiles_OpenOnlyXMP = 0x00000004, kXMPFiles_ForceGivenHandler = 0x00000008, kXMPFiles_OpenStrictly = 0x00000010, kXMPFiles_OpenUseSmartHandler = 0x00000020, kXMPFiles_OpenUsePacketScanning = 0x00000040, kXMPFiles_OpenLimitedScanning = 0x00000080, kXMPFiles_OpenRepairFile = 0x00000100, kXMPFiles_OptimizeFileLayout = 0x00000200 }
| Option bit flags for `TXMPFiles::OpenFile()`. More...
enum | { kXMPFiles_UpdateSafely = 0x0001 }
| Option bit flags for `TXMPFiles::CloseFile()`. More...

## Variables
const XMP_Uns8 | kXMP_Bool_False = 0
static const XMP_Uns8 | Min_XMP_Uns8 = ( (XMP_Uns8) 0x00 )
static const XMP_Uns8 | Max_XMP_Uns8 = ( (XMP_Uns8) 0xFF )
static const XMP_Uns16 | Min_XMP_Uns16 = ( (XMP_Uns16) 0x00 )
static const XMP_Uns16 | Max_XMP_Uns16 = ( (XMP_Uns16) 0xFFFF )
static const XMP_Uns32 | Min_XMP_Uns32 = ( (XMP_Uns32) 0x00 )
static const XMP_Uns32 | Max_XMP_Uns32 = ( (XMP_Uns32) 0xFFFFFFFF )
static const XMP_Uns64 | Min_XMP_Uns64 = ( (XMP_Uns64) 0x00 )
static const XMP_Uns64 | Max_XMP_Uns64 = ( (XMP_Uns64) 0xFFFFFFFFFFFFFFFFLL )
static const XMP_Int8 | Min_XMP_Int8 = ( (XMP_Int8) 0x80 )
static const XMP_Int8 | Max_XMP_Int8 = ( (XMP_Int8) 0x7F )
static const XMP_Int16 | Min_XMP_Int16 = ( (XMP_Int16) 0x8000 )
static const XMP_Int16 | Max_XMP_Int16 = ( (XMP_Int16) 0x7FFF )
static const XMP_Int32 | Min_XMP_Int32 = ( (XMP_Int32) 0x80000000 )
static const XMP_Int32 | Max_XMP_Int32 = ( (XMP_Int32) 0x7FFFFFFF )
static const XMP_Int64 | Min_XMP_Int64 = ( (XMP_Int64) 0x8000000000000000LL )
static const XMP_Int64 | Max_XMP_Int64 = ( (XMP_Int64) 0x7FFFFFFFFFFFFFFFLL )

## General scalar types and constants
#define | kXMP_TrueStr "True"
| The canonical true string value for Booleans in serialized XMP. More...
#define | kXMP_FalseStr "False"
| The canonical false string value for Booleans in serialized XMP. More...
enum | { kXMPTS_Yes = 1, kXMPTS_No = 0, kXMPTS_Maybe = -1 }
| Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes values are true (non-zero), the no value is false (zero). More...
typedef XMP_Uns32 | XMP_StringLen
| The type for string length parameters. A 32-bit unsigned integer, as big as will be practically needed. More...
typedef XMP_Int32 | XMP_Index
| The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for loop termination. More...
typedef XMP_Uns32 | XMP_OptionBits
| The type for a collection of 32 flag bits. More...
typedef XMP_Int8 | XMP_TriState
const typedef char * | XMP_StringPtr
| The type for input string parameters. A `const char *`, a null-terminated UTF-8 string. More...

## Error notification and Exceptions
From the beginning through version 5.5, XMP Tookit errors result in throwing an `XMP_Error` exception. For the most part exceptions were thrown early and thus API calls aborted as soon as an error was detected. Starting in version 5.5, support has been added for notifications of errors arising in calls to `TXMPMeta` and `TXMPFiles` functions. A client can register an error notification callback function for a `TXMPMeta` or `TXMPFiles` object. This can be done as a global default or individually to each object. The global default applies to all objects created after it is registered. Within the object there is no difference between the global default or explicitly registered callback. The callback function returns a `bool` value indicating if recovery should be attempted (true) or an exception thrown (false). If no callback is registered, a best effort at recovery and continuation will be made with an exception thrown if recovery is not possible. More details can be found in the `TXMPMeta` and `TXMPFiles` documentation. The `XMP_Error` class contains a numeric code and an English explanation. New numeric codes may be added at any time. There are typically many possible explanations for each numeric code. The explanations try to be precise about the specific circumstances causing the error. Note The explanation string is for debugging use only. It must not be shown to users in a final product. It is written for developers not users, and never localized.
enum | { kXMPErrSev_Recoverable = 0, kXMPErrSev_OperationFatal = 1, kXMPErrSev_FileFatal = 2, kXMPErrSev_ProcessFatal = 3 }
| Severity codes for error notifications. More...
enum | { kXMPErr_NoError = -1, kXMPErr_Unknown = 0, kXMPErr_TBD = 1, kXMPErr_Unavailable = 2, kXMPErr_BadObject = 3, kXMPErr_BadParam = 4, kXMPErr_BadValue = 5, kXMPErr_AssertFailure = 6, kXMPErr_EnforceFailure = 7, kXMPErr_Unimplemented = 8, kXMPErr_InternalFailure = 9, kXMPErr_Deprecated = 10, kXMPErr_ExternalFailure = 11, kXMPErr_UserAbort = 12, kXMPErr_StdException = 13, kXMPErr_UnknownException = 14, kXMPErr_NoMemory = 15, kXMPErr_ProgressAbort = 16, kXMPErr_BadSchema = 101, kXMPErr_BadXPath = 102, kXMPErr_BadOptions = 103, kXMPErr_BadIndex = 104, kXMPErr_BadIterPosition = 105, kXMPErr_BadParse = 106, kXMPErr_BadSerialize = 107, kXMPErr_BadFileFormat = 108, kXMPErr_NoFileHandler = 109, kXMPErr_TooLargeForJPEG = 110, kXMPErr_NoFile = 111, kXMPErr_FilePermission = 112, kXMPErr_DiskSpace = 113, kXMPErr_ReadError = 114, kXMPErr_WriteError = 115, kXMPErr_BadBlockFormat = 116, kXMPErr_FilePathNotAFile = 117, kXMPErr_RejectedFileExtension = 118, kXMPErr_BadXML = 201, kXMPErr_BadRDF = 202, kXMPErr_BadXMP = 203, kXMPErr_EmptyIterator = 204, kXMPErr_BadUnicode = 205, kXMPErr_BadTIFF = 206, kXMPErr_BadJPEG = 207, kXMPErr_BadPSD = 208, kXMPErr_BadPSIR = 209, kXMPErr_BadIPTC = 210, kXMPErr_BadMPEG = 211, kXMPErr_HEIFConstructionMethodNotSupported = 212, kXMPErr_BadPNG = 213 }
| XMP_Error exception code constants. More...
typedef XMP_Uns8 | XMP_ErrorSeverity
typedef bool(* | XMPMeta_ErrorCallbackProc) (void *context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)
| The signature of a client-defined callback for TXMPMeta error notifications. More...
typedef bool(* | XMPFiles_ErrorCallbackProc) (void *context, XMP_StringPtr filePath, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)
| The signature of a client-defined callback for TXMPFiles error notifications. More...
typedef XMP_Bool(* | XMPMeta_ErrorCallbackWrapper) (XMPMeta_ErrorCallbackProc clientProc, void *context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)
| Internal: The signatures of client-side wrappers for the error notification callbacks. More...
typedef XMP_Bool(* | XMPFiles_ErrorCallbackWrapper) (XMPFiles_ErrorCallbackProc clientProc, void *context, XMP_StringPtr filePath, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

## Detailed Description

Common C/C++ types and constants for the XMP toolkit.

Definition in file XMP_Const.h.

## Macro Definition Documentation

## ◆ __AVAILABILITY_INTERNAL_DEPRECATED_XMP

#define __AVAILABILITY_INTERNAL_DEPRECATED_XMP

Definition at line 33 of file XMP_Const.h.

## ◆ ConvertBoolToXMP_Bool

#define ConvertBoolToXMP_Bool | ( |  | a | ) | (a) ? !kXMP_Bool_False : kXMP_Bool_False

Definition at line 116 of file XMP_Const.h.

## ◆ ConvertXMP_BoolToBool

#define ConvertXMP_BoolToBool | ( |  | a | ) | (a) != kXMP_Bool_False

Definition at line 115 of file XMP_Const.h.

## ◆ kXMP_ArrayLastItem

#define kXMP_ArrayLastItem ((XMP_Index)(-1L))

Options macro accesses last array item.

Definition at line 471 of file XMP_Const.h.

## ◆ kXMP_FalseStr

#define kXMP_FalseStr "False"

The canonical false string value for Booleans in serialized XMP.

Code that converts from string to bool should be case insensitive, and also allow "0".

Definition at line 194 of file XMP_Const.h.

## ◆ kXMP_NoOptions

#define kXMP_NoOptions ((XMP_OptionBits)0UL)

Options macro clears all property-type bits.

Definition at line 473 of file XMP_Const.h.

## ◆ kXMP_NS_AdobeStockPhoto

#define kXMP_NS_AdobeStockPhoto "http://ns.adobe.com/StockPhoto/1.0/"

Definition at line 362 of file XMP_Const.h.

## ◆ kXMP_NS_AEScart

#define kXMP_NS_AEScart "http://ns.adobe.com/aes/cart/"

Definition at line 357 of file XMP_Const.h.

## ◆ kXMP_NS_ASF

#define kXMP_NS_ASF "http://ns.adobe.com/asf/1.0/"

Definition at line 354 of file XMP_Const.h.

## ◆ kXMP_NS_BWF

#define kXMP_NS_BWF "http://ns.adobe.com/bwf/bext/1.0/"

Definition at line 356 of file XMP_Const.h.

## ◆ kXMP_NS_CameraRaw

#define kXMP_NS_CameraRaw "http://ns.adobe.com/camera-raw-settings/1.0/"

Definition at line 351 of file XMP_Const.h.

## ◆ kXMP_NS_CreatorAtom

#define kXMP_NS_CreatorAtom "http://ns.adobe.com/creatorAtom/1.0/"

Definition at line 363 of file XMP_Const.h.

## ◆ kXMP_NS_DC

#define kXMP_NS_DC "http://purl.org/dc/elements/1.1/"

The XML namespace for the Dublin Core schema.

Definition at line 431 of file XMP_Const.h.

## ◆ kXMP_NS_DICOM

#define kXMP_NS_DICOM "http://ns.adobe.com/DICOM/"

Definition at line 436 of file XMP_Const.h.

## ◆ kXMP_NS_DM

#define kXMP_NS_DM "http://ns.adobe.com/xmp/1.0/DynamicMedia/"

Definition at line 352 of file XMP_Const.h.

## ◆ kXMP_NS_EXIF

#define kXMP_NS_EXIF "http://ns.adobe.com/exif/1.0/"

The XML namespace for Adobe's EXIF schema.

Definition at line 344 of file XMP_Const.h.

## ◆ kXMP_NS_EXIF_Aux

#define kXMP_NS_EXIF_Aux "http://ns.adobe.com/exif/1.0/aux/"

Definition at line 345 of file XMP_Const.h.

## ◆ kXMP_NS_ExifEX

#define kXMP_NS_ExifEX "http://cipa.jp/exif/1.0/"

Definition at line 365 of file XMP_Const.h.

## ◆ kXMP_NS_IPTCCore

#define kXMP_NS_IPTCCore "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"

The XML namespace for the IPTC Core schema.

Definition at line 433 of file XMP_Const.h.

## ◆ kXMP_NS_IPTCExt

#define kXMP_NS_IPTCExt "http://iptc.org/std/Iptc4xmpExt/2008-02-29/"

The XML namespace for the IPTC Extension schema.

Definition at line 434 of file XMP_Const.h.

## ◆ kXMP_NS_iXML

#define kXMP_NS_iXML "http://ns.adobe.com/ixml/1.0/"

Definition at line 359 of file XMP_Const.h.

## ◆ kXMP_NS_JP2K

#define kXMP_NS_JP2K "http://ns.adobe.com/jp2k/1.0/"

Definition at line 350 of file XMP_Const.h.

## ◆ kXMP_NS_JPEG

#define kXMP_NS_JPEG "http://ns.adobe.com/jpeg/1.0/"

Definition at line 349 of file XMP_Const.h.

## ◆ kXMP_NS_PDF

#define kXMP_NS_PDF "http://ns.adobe.com/pdf/1.3/"

The XML namespace for the PDF schema.

Definition at line 341 of file XMP_Const.h.

## ◆ kXMP_NS_PDFA_Extension

#define kXMP_NS_PDFA_Extension "http://www.aiim.org/pdfa/ns/extension/"

Definition at line 445 of file XMP_Const.h.

## ◆ kXMP_NS_PDFA_Field

#define kXMP_NS_PDFA_Field "http://www.aiim.org/pdfa/ns/field#"

Definition at line 443 of file XMP_Const.h.

## ◆ kXMP_NS_PDFA_ID

#define kXMP_NS_PDFA_ID "http://www.aiim.org/pdfa/ns/id/"

Definition at line 444 of file XMP_Const.h.

## ◆ kXMP_NS_PDFA_Property

#define kXMP_NS_PDFA_Property "http://www.aiim.org/pdfa/ns/property#"

Definition at line 441 of file XMP_Const.h.

## ◆ kXMP_NS_PDFA_Schema

#define kXMP_NS_PDFA_Schema "http://www.aiim.org/pdfa/ns/schema#"

Definition at line 440 of file XMP_Const.h.

## ◆ kXMP_NS_PDFA_Type

#define kXMP_NS_PDFA_Type "http://www.aiim.org/pdfa/ns/type#"

Definition at line 442 of file XMP_Const.h.

## ◆ kXMP_NS_PDFX

#define kXMP_NS_PDFX "http://ns.adobe.com/pdfx/1.3/"

Definition at line 447 of file XMP_Const.h.

## ◆ kXMP_NS_PDFX_ID

#define kXMP_NS_PDFX_ID "http://www.npes.org/pdfx/ns/id/"

Definition at line 448 of file XMP_Const.h.

## ◆ kXMP_NS_Photoshop

#define kXMP_NS_Photoshop "http://ns.adobe.com/photoshop/1.0/"

The XML namespace for the Photoshop custom schema.

Definition at line 342 of file XMP_Const.h.

## ◆ kXMP_NS_PLUS

#define kXMP_NS_PLUS "http://ns.useplus.org/ldf/xmp/1.0/"

Definition at line 438 of file XMP_Const.h.

## ◆ kXMP_NS_PNG

#define kXMP_NS_PNG "http://ns.adobe.com/png/1.0/"

Definition at line 347 of file XMP_Const.h.

## ◆ kXMP_NS_PSAlbum

#define kXMP_NS_PSAlbum "http://ns.adobe.com/album/1.0/"

Definition at line 343 of file XMP_Const.h.

## ◆ kXMP_NS_RDF

#define kXMP_NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"

The XML namespace for RDF.

Definition at line 450 of file XMP_Const.h.

## ◆ kXMP_NS_RIFFINFO

#define kXMP_NS_RIFFINFO "http://ns.adobe.com/riff/info/"

Definition at line 358 of file XMP_Const.h.

## ◆ kXMP_NS_Script

#define kXMP_NS_Script "http://ns.adobe.com/xmp/1.0/Script/"

Definition at line 353 of file XMP_Const.h.

## ◆ kXMP_NS_SWF

#define kXMP_NS_SWF "http://ns.adobe.com/swf/1.0/"

Definition at line 348 of file XMP_Const.h.

## ◆ kXMP_NS_TIFF

#define kXMP_NS_TIFF "http://ns.adobe.com/tiff/1.0/"

The XML namespace for Adobe's TIFF schema.

Definition at line 346 of file XMP_Const.h.

## ◆ kXMP_NS_WAV

#define kXMP_NS_WAV "http://ns.adobe.com/xmp/wav/1.0/"

Definition at line 355 of file XMP_Const.h.

## ◆ kXMP_NS_XML

#define kXMP_NS_XML "http://www.w3.org/XML/1998/namespace"

The XML namespace for XML.

Definition at line 451 of file XMP_Const.h.

## ◆ kXMP_NS_XMP

#define kXMP_NS_XMP "http://ns.adobe.com/xap/1.0/"

The XML namespace for the XMP "basic" schema.

Definition at line 335 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_BJ

#define kXMP_NS_XMP_BJ "http://ns.adobe.com/xap/1.0/bj/"

The XML namespace for the job management schema.

Definition at line 339 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_Dimensions

#define kXMP_NS_XMP_Dimensions "http://ns.adobe.com/xap/1.0/sType/Dimensions#"

The XML namespace for fields of the Dimensions type.

Definition at line 394 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_Font

#define kXMP_NS_XMP_Font "http://ns.adobe.com/xap/1.0/sType/Font#"

Definition at line 399 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_G_IMG

#define kXMP_NS_XMP_G_IMG "http://ns.adobe.com/xap/1.0/g/img/"

Definition at line 409 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_Graphics

#define kXMP_NS_XMP_Graphics "http://ns.adobe.com/xap/1.0/g/"

Definition at line 397 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_IdentifierQual

#define kXMP_NS_XMP_IdentifierQual "http://ns.adobe.com/xmp/Identifier/qual/1.0/"

The XML namespace for qualifiers of the xmp:Identifier property.

Definition at line 393 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_Image

#define kXMP_NS_XMP_Image "http://ns.adobe.com/xap/1.0/g/img/"

The XML namespace for fields of a graphical image. Used for the Thumbnail type.

Definition at line 398 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_ManifestItem

#define kXMP_NS_XMP_ManifestItem "http://ns.adobe.com/xap/1.0/sType/ManifestItem#"

Definition at line 404 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_MM

#define kXMP_NS_XMP_MM "http://ns.adobe.com/xap/1.0/mm/"

The XML namespace for the XMP digital asset management schema.

Definition at line 338 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_Note

#define kXMP_NS_XMP_Note "http://ns.adobe.com/xmp/note/"

Definition at line 360 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_PagedFile

#define kXMP_NS_XMP_PagedFile "http://ns.adobe.com/xap/1.0/t/pg/"

Definition at line 396 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_ResourceEvent

#define kXMP_NS_XMP_ResourceEvent "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"

The XML namespace for fields of the ResourceEvent type.

Definition at line 400 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_ResourceRef

#define kXMP_NS_XMP_ResourceRef "http://ns.adobe.com/xap/1.0/sType/ResourceRef#"

The XML namespace for fields of the ResourceRef type.

Definition at line 401 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_Rights

#define kXMP_NS_XMP_Rights "http://ns.adobe.com/xap/1.0/rights/"

The XML namespace for the XMP copyright schema.

Definition at line 337 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_ST_Job

#define kXMP_NS_XMP_ST_Job "http://ns.adobe.com/xap/1.0/sType/Job#"

The XML namespace for fields of the JobRef type.

Definition at line 403 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_ST_Version

#define kXMP_NS_XMP_ST_Version "http://ns.adobe.com/xap/1.0/sType/Version#"

The XML namespace for fields of the Version type.

Definition at line 402 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_T

#define kXMP_NS_XMP_T "http://ns.adobe.com/xap/1.0/t/"

The XML namespace for the XMP text document schema.

Definition at line 407 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_T_PG

#define kXMP_NS_XMP_T_PG "http://ns.adobe.com/xap/1.0/t/pg/"

The XML namespace for the XMP paged document schema.

Definition at line 408 of file XMP_Const.h.

## ◆ kXMP_NS_XMP_Text

#define kXMP_NS_XMP_Text "http://ns.adobe.com/xap/1.0/t/"

Definition at line 395 of file XMP_Const.h.

## ◆ kXMP_SchemaNode

#define kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL)

Definition at line 676 of file XMP_Const.h.

## ◆ kXMP_TrueStr

#define kXMP_TrueStr "True"

The canonical true string value for Booleans in serialized XMP.

Code that converts from string to bool should be case insensitive, and also allow "1".

Definition at line 193 of file XMP_Const.h.

## ◆ kXMP_UseNullTermination

#define kXMP_UseNullTermination ((XMP_StringLen)(~0UL))

Options macro sets string style.

Definition at line 472 of file XMP_Const.h.

## ◆ kXMPFiles_UnknownLength

#define kXMPFiles_UnknownLength ((XMP_Int32)-1)

Constant for an unknown packet length within a file.

Definition at line 1078 of file XMP_Const.h.

## ◆ kXMPFiles_UnknownOffset

#define kXMPFiles_UnknownOffset ((XMP_Int64)-1)

Constant for an unknown packet offset within a file.

Definition at line 1074 of file XMP_Const.h.

## ◆ XMP_ArrayIsAlternate

#define XMP_ArrayIsAlternate | ( |  | opt | ) | (((opt) & kXMP_PropArrayIsAlternate) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 573 of file XMP_Const.h.

## ◆ XMP_ArrayIsAltText

#define XMP_ArrayIsAltText | ( |  | opt | ) | (((opt) & kXMP_PropArrayIsAltText) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 574 of file XMP_Const.h.

## ◆ XMP_ArrayIsOrdered

#define XMP_ArrayIsOrdered | ( |  | opt | ) | (((opt) & kXMP_PropArrayIsOrdered) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 572 of file XMP_Const.h.

## ◆ XMP_ArrayIsUnordered

#define XMP_ArrayIsUnordered | ( |  | opt | ) | (((opt) & kXMP_PropArrayIsOrdered) == 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 571 of file XMP_Const.h.

## ◆ XMP_CharFormIs16Bit

#define XMP_CharFormIs16Bit | ( |  | f | ) | ( ((int)(f) & kXMP_Char16BitMask) != 0 )

Macro reports the encoding of a character.

Parameters

  f | The character to check.

Definition at line 1064 of file XMP_Const.h.

## ◆ XMP_CharFormIs32Bit

#define XMP_CharFormIs32Bit | ( |  | f | ) | ( ((int)(f) & kXMP_Char32BitMask) != 0 )

Macro reports the encoding of a character.

Parameters

  f | The character to check.

Definition at line 1065 of file XMP_Const.h.

## ◆ XMP_CharFormIsBigEndian

#define XMP_CharFormIsBigEndian | ( |  | f | ) | ( ((int)(f) & kXMP_CharLittleEndianMask) == 0 )

Macro reports the byte-order of a character.

Parameters

  f | The character to check.

Definition at line 1066 of file XMP_Const.h.

## ◆ XMP_CharFormIsLittleEndian

#define XMP_CharFormIsLittleEndian | ( |  | f | ) | ( ((int)(f) & kXMP_CharLittleEndianMask) != 0 )

Macro reports the byte-order of a character.

Parameters

  f | The character to check.

Definition at line 1067 of file XMP_Const.h.

## ◆ XMP_CharFromSerializeForm

#define XMP_CharFromSerializeForm | ( |  | sf | ) | ( (XMP_Uns8)(sf) )

Macro converts `XMP_OptionBits` to `XMP_Uns8`.

Parameters

  sf | The character to convert.

Definition at line 1070 of file XMP_Const.h.

## ◆ XMP_CharToSerializeForm

#define XMP_CharToSerializeForm | ( |  | cf | ) | ( (XMP_OptionBits)(cf) )

Macro converts `XMP_Uns8` to `XMP_OptionBits`.

Parameters

  cf | The character to convert.

Definition at line 1069 of file XMP_Const.h.

## ◆ XMP_ClearOption

#define XMP_ClearOption | ( |  | var,
|  |  | opt
| ) |  | var &= ~(opt)

Macro clears an option flag bit.

Parameters

  var | A variable storing an options flag.
  opt | The bit-flag constant to clear.

Definition at line 509 of file XMP_Const.h.

## ◆ XMP_GetCharSize

#define XMP_GetCharSize | ( |  | f | ) | ( ((int)(f)&6) == 0 ? 1 : (int)(f)&6 )

Macro reports the byte-size of a character.

Parameters

  f | The character to check.

Definition at line 1068 of file XMP_Const.h.

## ◆ XMP_MARKER_EXTENSIBILITY_BACKWARD_COMPATIBILITY

#define XMP_MARKER_EXTENSIBILITY_BACKWARD_COMPATIBILITY 1

Definition at line 27 of file XMP_Const.h.

## ◆ XMP_NodeIsSchema

#define XMP_NodeIsSchema | ( |  | opt | ) | (((opt) & kXMP_SchemaNode) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 580 of file XMP_Const.h.

## ◆ XMP_OptionIsClear

#define XMP_OptionIsClear | ( |  | var,
|  |  | opt
| ) |  | (((var) & (opt)) == 0)

Macro reports whether an option flag bit is clear.

Parameters

  var | A variable storing an options flag.
  opt | The bit-flag constant to test.

Returns
  True if the bit is clear.

Definition at line 512 of file XMP_Const.h.

## ◆ XMP_OptionIsSet

#define XMP_OptionIsSet | ( |  | var,
|  |  | opt
| ) |  | (((var) & (opt)) != 0)

Macro reports whether an option flag bit is set.

Parameters

  var | A variable storing an options flag.
  opt | The bit-flag constant to test.

Returns
  True if the bit is set.

Definition at line 511 of file XMP_Const.h.

## ◆ XMP_PropHasLang

#define XMP_PropHasLang | ( |  | opt | ) | (((opt) & kXMP_PropHasLang) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 578 of file XMP_Const.h.

## ◆ XMP_PropHasQualifiers

#define XMP_PropHasQualifiers | ( |  | opt | ) | (((opt) & kXMP_PropHasQualifiers) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 576 of file XMP_Const.h.

## ◆ XMP_PropIsAlias

#define XMP_PropIsAlias | ( |  | opt | ) | (((opt) & kXMP_PropIsAlias) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 581 of file XMP_Const.h.

## ◆ XMP_PropIsArray

#define XMP_PropIsArray | ( |  | opt | ) | (((opt) & kXMP_PropValueIsArray) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 569 of file XMP_Const.h.

## ◆ XMP_PropIsQualifier

#define XMP_PropIsQualifier | ( |  | opt | ) | (((opt) & kXMP_PropIsQualifier) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 577 of file XMP_Const.h.

## ◆ XMP_PropIsSimple

#define XMP_PropIsSimple | ( |  | opt | ) | (((opt) & kXMP_PropCompositeMask) == 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 567 of file XMP_Const.h.

## ◆ XMP_PropIsStruct

#define XMP_PropIsStruct | ( |  | opt | ) | (((opt) & kXMP_PropValueIsStruct) != 0)

Macro reports the property type specified by an options flag.

Parameters

  opt | The options flag to check.

Definition at line 568 of file XMP_Const.h.

## ◆ XMP_SetOption

#define XMP_SetOption | ( |  | var,
|  |  | opt
| ) |  | var |= (opt)

Macro sets an option flag bit.

Parameters

  var | A variable storing an options flag.
  opt | The bit-flag constant to set.

Definition at line 508 of file XMP_Const.h.

## ◆ XMP_TestOption

#define XMP_TestOption | ( |  | var,
|  |  | opt
| ) |  | (((var) & (opt)) != 0)

Macro reports whether an option flag bit is set.

Parameters

  var | A variable storing an options flag.
  opt | The bit-flag constant to test.

Returns
  True if the bit is set.

Definition at line 510 of file XMP_Const.h.

## ◆ XMPDateTime_ClearTimeZone

#define XMPDateTime_ClearTimeZone | ( |  | dt | ) | { (dt).hasTimeZone = (dt).tzSign = (dt).tzHour = (dt).tzMinute = 0; }

Definition at line 294 of file XMP_Const.h.

## ◆ XMPDateTime_IsDateOnly

#define XMPDateTime_IsDateOnly | ( |  | dt | ) | ((dt).hasDate & (! (dt).hasTime))

Definition at line 291 of file XMP_Const.h.

## ◆ XMPDateTime_IsTimeOnly

#define XMPDateTime_IsTimeOnly | ( |  | dt | ) | ((dt).hasTime & (! (dt).hasDate))

Definition at line 292 of file XMP_Const.h.

## Typedef Documentation

## ◆ XMP_AbortProc

typedef bool(* XMP_AbortProc) (void *arg)

The signature of a client-defined callback to check for a user request to abort a time-consuming operation within XMPFiles.

Parameters

  arg | A pointer to caller-defined data passed from the registration call.

Returns
  True to abort the current operation, which results in an exception being thrown.

See also
  `TXMPFiles::SetAbortProc()`

Definition at line 1527 of file XMP_Const.h.

## ◆ XMP_Bool

typedef XMP_Uns8 XMP_Bool

Definition at line 111 of file XMP_Const.h.

## ◆ XMP_ErrorSeverity

typedef XMP_Uns8 XMP_ErrorSeverity

Definition at line 1242 of file XMP_Const.h.

## ◆ XMP_FileFormat

typedef XMP_Uns32 XMP_FileFormat

Type for file format identification constants. See `kXMP_PDFFile` and following.

Definition at line 1004 of file XMP_Const.h.

## ◆ XMP_Index

XMP_Index

The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for loop termination.

Definition at line 180 of file XMP_Const.h.

## ◆ XMP_OptionBits

XMP_OptionBits

The type for a collection of 32 flag bits.

Individual flags are defined as enum value bit masks; see `kXMP_PropValueIsURI` and following. A number of macros provide common set or set operations, such as `XMP_PropIsSimple`. For other tests use an expression like `options & kXMP_<theOption>`. When passing multiple option flags use the bitwise-OR operator. '|', not the arithmatic plus, '+'.

Definition at line 181 of file XMP_Const.h.

## ◆ XMP_ProgressReportProc

typedef bool(* XMP_ProgressReportProc) (void *context, float elapsedTime, float fractionDone, float secondsToGo)

The signature of a client-defined callback for progress report notifications.

Parameters

  context | A pointer used to carry client-private context.
  elapsedTime | The time in seconds since the progress reporting started.
  fractionDone | A float value estimating the amount of work already done, in the range of 0.0 to 1.0. A value of 0.0 is given if the amount is not known, this happens if there is no estimate total for the total work. The units of work are not defined, but should usually be related to the number of bytes of I/O. This will go backwards if total work estimate changes.
  secondsToGo | A float value estimating the number of seconds left to complete the file operation. A value of 0.0 is given if the amount is not known, this happens if the amount of total work is unknown. This can go backwards according to throughput or if work estimate changes.

Returns
  True if the file operation should continue, false if it should be aborted with an exception being thrown from the XMPFiles library back to the original caller.

See also
  `TXMPFiles::SetDefaultProgressCallback()` and `TXMPFiles::SetProgressCallback()`

Definition at line 1550 of file XMP_Const.h.

## ◆ XMP_ProgressReportWrapper

typedef XMP_Bool(* XMP_ProgressReportWrapper) (XMP_ProgressReportProc proc, void *context, float elapsedTime, float fractionDone, float secondsToGo)

Internal: The signature of a client-side wrapper for the progress report callback.

Definition at line 1555 of file XMP_Const.h.

## ◆ XMP_Status

typedef XMP_Int32 XMP_Status

A signed 32-bit integer used as a status result for the output callback routine, `XMP_TextOutputProc`. Zero means no error, all other values except -1 are private to the callback. The callback is wrapped to prevent exceptions being thrown across DLL boundaries. Any exceptions thrown out of the callback cause a return status of -1.

Definition at line 1494 of file XMP_Const.h.

## ◆ XMP_StringLen

XMP_StringLen

The type for string length parameters. A 32-bit unsigned integer, as big as will be practically needed.

Definition at line 179 of file XMP_Const.h.

## ◆ XMP_TextOutputProc

typedef XMP_Status(* XMP_TextOutputProc) (void *refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize)

The signature of a client-defined callback for text output from XMP Toolkit debugging operations.

The callback is invoked one or more times for each line of output. The end of a line is signaled by a '\n' character at the end of the buffer. Formatting newlines are never present in the middle of a buffer, but values of properties might contain any UTF-8 characters.

Parameters

  refCon | A pointer to client-defined data passed to the TextOutputProc.
  buffer | A string containing one line of output.
  bufferSize | The number of characters in the output buffer.

Returns
  A success/fail status value. Any failure result aborts the output.

See also
  `TXMPMeta::DumpObject()`

Definition at line 1513 of file XMP_Const.h.

## ◆ XMP_TriState

typedef XMP_Int8 XMP_TriState

Definition at line 206 of file XMP_Const.h.

## ◆ XMP_VersionInfo

typedef struct XMP_VersionInfo XMP_VersionInfo

XMP Toolkit version information.

## ◆ XMPDocOpsRef

typedef struct __XMPDocOps__* XMPDocOpsRef

An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an XMP document operations object across client DLL boundaries. See `TXMPDocOps`.

Definition at line 147 of file XMP_Const.h.

## ◆ XMPFiles_ErrorCallbackProc

typedef bool(* XMPFiles_ErrorCallbackProc) (void *context, XMP_StringPtr filePath, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

The signature of a client-defined callback for TXMPFiles error notifications.

Parameters

  context | A pointer used to carry client-private context.
  filePath | The path for the file involved in the error.
  severity | The severity of the error, see the `XMP_ErrorSeverity` values.
  cause | A numeric code for the cause of the error, from the XMP_Error exception codes. Codes used with TXMPFiles error notifications: `kXMPErr_NoFile` - A file does not exist `kXMPErr_FilePermission` - A file exists but cannot be opened `kXMPErr_FilePathNotAFile` - A path exists which is not a file `dXMPErr_RejectedFileExtension` - Any Operation called on rejected file extension `KXMPErr_NoFileHandler` - No suitable handler is found for the file `kXMPErr_DiskSpace` - A file write fails due to lack of disk space `kXMPErr_ReadError` - A file read fails `kXMPErr_WriteError` - A file write fails for some other reason than space `kXMPErr_BadFileFormat` - A file is corrupt or ill-formed `kXMPErr_BadBlockFormat` - A portion of a file is corrupt or ill-formed `kXMPErr_BadValue` - An XMP or non-XMP metadata item has an invalid value `kXMPErr_NoMemory` - A heap allocation failure
  message | An explanation of the error, for debugging use only. This should not be displayed to users in a final product.

Returns
  True if the operation should continue with a best effort attempt at recovery, false if it should be aborted with an exception thrown from the library back to the original caller. Recovery is possible only if the severity is kXMPErrSev_Recoverable, an exception will be thrown on return from the callback in all other cases.

See also
  `TXMPFiles::SetDefaultErrorCallback()` and `TXMPFiles::SetErrorCallback()`

Definition at line 1317 of file XMP_Const.h.

## ◆ XMPFiles_ErrorCallbackWrapper

typedef XMP_Bool(* XMPFiles_ErrorCallbackWrapper) (XMPFiles_ErrorCallbackProc clientProc, void *context, XMP_StringPtr filePath, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

Definition at line 1325 of file XMP_Const.h.

## ◆ XMPFilesRef

typedef struct __XMPFiles__* XMPFilesRef

An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP file-handling object across client DLL boundaries. See `TXMPFiles`.

Definition at line 151 of file XMP_Const.h.

## ◆ XMPIteratorRef

typedef struct __XMPIterator__* XMPIteratorRef

An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP iteration object across client DLL boundaries. See `TXMPIterator`.

Definition at line 143 of file XMP_Const.h.

## ◆ XMPMeta_ErrorCallbackProc

typedef bool(* XMPMeta_ErrorCallbackProc) (void *context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

The signature of a client-defined callback for TXMPMeta error notifications.

Parameters

  context | A pointer used to carry client-private context.
  severity | The severity of the error, see the `XMP_ErrorSeverity` values.
  cause | A numeric code for the cause of the error, from the XMP_Error exception codes. Codes used with TXMPMeta error notifications: `kXMPErr_BadXML` - An XML syntax error found during parsing. `kXMPErr_BadRDF` - A syntax or semantic parsing error in the XMP subset of RDF. `kXMPErr_BadXMP` - A semantic XMP data model error. `kXMPErr_BadValue` - An XMP value error, wrong type, out of range, etc. `kXMPErr_NoMemory` - A heap allocation failure.
  message | An explanation of the error, for debugging use only. This should not be displayed to users in a final product.

Returns
  True if the operation should continue with a best effort attempt at recovery, false if it should be aborted with an exception thrown from the library back to the original caller. Recovery is possible only if the severity is kXMPErrSev_Recoverable, an exception will be thrown on return from the callback in all other cases.

See also
  `TXMPMeta::SetDefaultErrorCallback()` and `TXMPMeta::SetErrorCallback()`

Definition at line 1281 of file XMP_Const.h.

## ◆ XMPMeta_ErrorCallbackWrapper

typedef XMP_Bool(* XMPMeta_ErrorCallbackWrapper) (XMPMeta_ErrorCallbackProc clientProc, void *context, XMP_ErrorSeverity severity, XMP_Int32 cause, XMP_StringPtr message)

Internal: The signatures of client-side wrappers for the error notification callbacks.

Definition at line 1322 of file XMP_Const.h.

## ◆ XMPMetaRef

typedef struct __XMPMeta__* XMPMetaRef

An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across client DLL boundaries. See `TXMPMeta::GetInternalRef()`.

Definition at line 139 of file XMP_Const.h.

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes values are true (non-zero), the no value is false (zero).

Enumerator
kXMPTS_Yes | The part or parts have definitely changed.
kXMPTS_No | The part or parts have definitely not changed.
kXMPTS_Maybe | The part or parts might, or might not, have changed.

Definition at line 198 of file XMP_Const.h.

198 {
200 kXMPTS_Yes = 1,
202 kXMPTS_No = 0,
204 kXMPTS_Maybe = -1
205 };

## ◆ anonymous enum

anonymous enum

Constant values for `XMP_DateTime::tzSign` field.

Enumerator
kXMP_TimeWestOfUTC | Time zone is west of UTC.
kXMP_TimeIsUTC | UTC time.
kXMP_TimeEastOfUTC | Time zone is east of UTC.

Definition at line 282 of file XMP_Const.h.

282 {
284 kXMP_TimeWestOfUTC = -1,
286 kXMP_TimeIsUTC = 0,
288 kXMP_TimeEastOfUTC = +1
289 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPUtils::RemoveProperties()` and `TXMPUtils::AppendProperties()`.

Enumerator
kXMPUtil_DoAllProperties | Do all properties, default is just external properties.
kXMPUtil_ReplaceOldValues | Replace existing values, default is to leave them.
kXMPUtil_DeleteEmptyValues | Delete properties if the new value is empty.
kXMPUtil_IncludeAliases | Include aliases, default is just actual properties.

Definition at line 855 of file XMP_Const.h.

855 {
856
858 kXMPUtil_DoAllProperties = 0x0001UL,
859
861 kXMPUtil_ReplaceOldValues = 0x0002UL,
862
864 kXMPUtil_DeleteEmptyValues = 0x0004UL,
865
867 kXMPUtil_IncludeAliases = 0x0800UL
868
869 };

## ◆ anonymous enum

anonymous enum

File format constants for use with XMPFiles.

Enumerator
kXMP_PDFFile | Public file format constant: 'PDF '.
kXMP_PostScriptFile | Public file format constant: 'PS ', general PostScript following DSC conventions.
kXMP_EPSFile | Public file format constant: 'EPS ', encapsulated PostScript.
kXMP_JPEGFile | Public file format constant: 'JPEG'.
kXMP_JPEG2KFile | Public file format constant: 'JPX ', JPEG 2000, ISO 15444-1.
kXMP_TIFFFile | Public file format constant: 'TIFF'.
kXMP_GIFFile | Public file format constant: 'GIF '.
kXMP_PNGFile | Public file format constant: 'PNG '.
kXMP_SWFFile | Public file format constant: 'SWF '.
kXMP_FLAFile | Public file format constant: 'FLA '.
kXMP_FLVFile | Public file format constant: 'FLV '.
kXMP_MOVFile | Public file format constant: 'MOV ', Quicktime.
kXMP_AVIFile | Public file format constant: 'AVI '.
kXMP_CINFile | Public file format constant: 'CIN ', Cineon.
kXMP_WAVFile | Public file format constant: 'WAV '.
kXMP_MP3File | Public file format constant: 'MP3 '.
kXMP_SESFile | Public file format constant: 'SES ', Audition session.
kXMP_CELFile | Public file format constant: 'CEL ', Audition loop.
kXMP_MPEGFile | Public file format constant: 'MPEG'.
kXMP_MPEG2File | Public file format constant: 'MP2 '.
kXMP_MPEG4File | Public file format constant: 'MP4 ', ISO 14494-12 and -14.
kXMP_MXFFile | Public file format constant: 'MXF '.
kXMP_WMAVFile | Public file format constant: 'WMAV', Windows Media Audio and Video.
kXMP_AIFFFile | Public file format constant: 'AIFF'.
kXMP_REDFile | Public file format constant: 'RED ', RED file format.
kXMP_ARRIFile | Public file format constant: 'ARRI', ARRI file format.
kXMP_HEIFFile | Public file format constant: 'HEIF', HEIF file format.
kXMP_P2File | Public file format constant: 'P2 ', a collection not really a single file.
kXMP_XDCAM_FAMFile | Public file format constant: 'XDCF', a collection not really a single file.
kXMP_XDCAM_SAMFile | Public file format constant: 'XDCS', a collection not really a single file.
kXMP_XDCAM_EXFile | Public file format constant: 'XDCX', a collection not really a single file.
kXMP_AVCHDFile | Public file format constant: 'AVHD', a collection not really a single file.
kXMP_SonyHDVFile | Public file format constant: 'SHDV', a collection not really a single file.
kXMP_CanonXFFile | Public file format constant: 'CNXF', a collection not really a single file.
kXMP_AVCUltraFile | Public file format constant: 'AVCU', a collection not really a single file.
kXMP_HTMLFile | Public file format constant: 'HTML'.
kXMP_XMLFile | Public file format constant: 'XML '.
kXMP_TextFile | Public file format constant: 'text'.
kXMP_SVGFile | Public file format constant: 'SVG '.
kXMP_PhotoshopFile | Adobe application file format constant: 'PSD '.
kXMP_IllustratorFile | Adobe application file format constant: 'AI '.
kXMP_InDesignFile | Adobe application file format constant: 'INDD'.
kXMP_AEProjectFile | Adobe application file format constant: 'AEP '.
kXMP_AEProjTemplateFile | Adobe application file format constant: 'AET ', After Effects Project Template.
kXMP_AEFilterPresetFile | Adobe application file format constant: 'FFX '.
kXMP_EncoreProjectFile | Adobe application file format constant: 'NCOR'.
kXMP_PremiereProjectFile | Adobe application file format constant: 'PRPJ'.
kXMP_PremiereTitleFile | Adobe application file format constant: 'PRTL'.
kXMP_UCFFile | Adobe application file format constant: 'UCF ', Universal Container Format.
kXMP_UnknownFile | Unknown file format constant: ' '.

Definition at line 879 of file XMP_Const.h.

879 {
880
881 // ! Hex used to avoid gcc warnings. Leave the constants so the text reads big endian. There
882 // ! seems to be no decent way on UNIX to determine the target endianness at compile time.
883 // ! Forcing it on the client isn't acceptable.
884
885 // --------------------
886 // Public file formats.
887
889 kXMP_PDFFile = 0x50444620UL,
891 kXMP_PostScriptFile = 0x50532020UL,
893 kXMP_EPSFile = 0x45505320UL,
894
896 kXMP_JPEGFile = 0x4A504547UL,
898 kXMP_JPEG2KFile = 0x4A505820UL,
900 kXMP_TIFFFile = 0x54494646UL,
902 kXMP_GIFFile = 0x47494620UL,
904 kXMP_PNGFile = 0x504E4720UL,
905
907 kXMP_SWFFile = 0x53574620UL,
909 kXMP_FLAFile = 0x464C4120UL,
911 kXMP_FLVFile = 0x464C5620UL,
912
914 kXMP_MOVFile = 0x4D4F5620UL,
916 kXMP_AVIFile = 0x41564920UL,
918 kXMP_CINFile = 0x43494E20UL,
920 kXMP_WAVFile = 0x57415620UL,
922 kXMP_MP3File = 0x4D503320UL,
924 kXMP_SESFile = 0x53455320UL,
926 kXMP_CELFile = 0x43454C20UL,
928 kXMP_MPEGFile = 0x4D504547UL,
930 kXMP_MPEG2File = 0x4D503220UL,
932 kXMP_MPEG4File = 0x4D503420UL,
934 kXMP_MXFFile = 0x4D584620UL,
936 kXMP_WMAVFile = 0x574D4156UL,
938 kXMP_AIFFFile = 0x41494646UL,
940 kXMP_REDFile = 0x52454420UL,
942 kXMP_ARRIFile = 0x41525249UL,
944 kXMP_HEIFFile = 0x48454946UL,
946 kXMP_P2File = 0x50322020UL,
948 kXMP_XDCAM_FAMFile = 0x58444346UL,
950 kXMP_XDCAM_SAMFile = 0x58444353UL,
952 kXMP_XDCAM_EXFile = 0x58444358UL,
954 kXMP_AVCHDFile = 0x41564844UL,
956 kXMP_SonyHDVFile = 0x53484456UL,
958 kXMP_CanonXFFile = 0x434E5846UL,
960 kXMP_AVCUltraFile = 0x41564355UL,
961
963 kXMP_HTMLFile = 0x48544D4CUL,
965 kXMP_XMLFile = 0x584D4C20UL,
967 kXMP_TextFile = 0x74657874UL,
969 kXMP_SVGFile = 0x53564720UL,
970
971 // -------------------------------
972 // Adobe application file formats.
973
975 kXMP_PhotoshopFile = 0x50534420UL,
977 kXMP_IllustratorFile = 0x41492020UL,
979 kXMP_InDesignFile = 0x494E4444UL,
981 kXMP_AEProjectFile = 0x41455020UL,
983 kXMP_AEProjTemplateFile = 0x41455420UL,
985 kXMP_AEFilterPresetFile = 0x46465820UL,
987 kXMP_EncoreProjectFile = 0x4E434F52UL,
989 kXMP_PremiereProjectFile = 0x5052504AUL,
991 kXMP_PremiereTitleFile = 0x5052544CUL,
993 kXMP_UCFFile = 0x55434620UL,
994
995 // -------
996 // Others.
997
999 kXMP_UnknownFile = 0x20202020UL
1000
1001 };

## ◆ anonymous enum

anonymous enum

Byte-order masks, do not use directly.

Enumerator
kXMP_CharLittleEndianMask |
kXMP_Char16BitMask |
kXMP_Char32BitMask |

Definition at line 1009 of file XMP_Const.h.

1009 {
1010 kXMP_CharLittleEndianMask = 1,
1011 kXMP_Char16BitMask = 2,
1012 kXMP_Char32BitMask = 4
1013 };

## ◆ anonymous enum

anonymous enum

Constants to allow easy testing for 16/32 bit and big/little endian.

Enumerator
kXMP_Char8Bit | 8-bit
kXMP_Char16BitBig | 16-bit big-endian
kXMP_Char16BitLittle | 16-bit little-endian
kXMP_Char32BitBig | 32-bit big-endian
kXMP_Char32BitLittle | 32-bit little-endian
kXMP_CharUnknown | Variable or not-yet-known cases.

Definition at line 1016 of file XMP_Const.h.

1016 {
1018 kXMP_Char8Bit = 0,
1020 kXMP_Char16BitBig = kXMP_Char16BitMask,
1022 kXMP_Char16BitLittle = kXMP_Char16BitMask | kXMP_CharLittleEndianMask,
1024 kXMP_Char32BitBig = kXMP_Char32BitMask,
1026 kXMP_Char32BitLittle = kXMP_Char32BitMask | kXMP_CharLittleEndianMask,
1028 kXMP_CharUnknown = 1
1029 };

## ◆ anonymous enum

anonymous enum

Version of the XMP_PacketInfo type.

Enumerator
kXMP_PacketInfoVersion | Version of the XMP_PacketInfo type.

Definition at line 1107 of file XMP_Const.h.

1107 {
1109 kXMP_PacketInfoVersion = 3
1110 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPFiles::Initialize()`.

Enumerator
kXMPFiles_IgnoreLocalText | Ignore non-XMP text that uses an undefined "local" encoding.
kXMPFiles_ServerMode | Combination of flags necessary for server products using XMPFiles.

Definition at line 1115 of file XMP_Const.h.

1115 {
1117 kXMPFiles_IgnoreLocalText = 0x0002,
1119 kXMPFiles_ServerMode = kXMPFiles_IgnoreLocalText
1120 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPFiles::GetFormatInfo()`.

Enumerator
kXMPFiles_CanInjectXMP | Can inject first-time XMP into an existing file.
kXMPFiles_CanExpand | Can expand XMP or other metadata in an existing file.
kXMPFiles_CanRewrite | Can copy one file to another, writing new metadata.
kXMPFiles_PrefersInPlace | Can expand, but prefers in-place update.
kXMPFiles_CanReconcile | Supports reconciliation between XMP and other forms.
kXMPFiles_AllowsOnlyXMP | Allows access to just the XMP, ignoring other forms.
kXMPFiles_ReturnsRawPacket | File handler returns raw XMP packet information.
kXMPFiles_HandlerOwnsFile | The file handler does the file open and close.
kXMPFiles_AllowsSafeUpdate | The file handler allows crash-safe file updates.
kXMPFiles_NeedsReadOnlyPacket | The file format needs the XMP packet to be read-only.
kXMPFiles_UsesSidecarXMP | The file handler uses a "sidecar" file for the XMP.
kXMPFiles_FolderBasedFormat | The format is folder oriented, for example the P2 video format.
kXMPFiles_CanNotifyProgress | The file Handler is capable of notifying progress notifications.
kXMPFiles_NeedsPreloading | The plugin handler is not capable for delay loading.
kXMPFiles_NeedsLocalFileOpened | The format needs file during Process XMP even if it's Read Only Operation. So that file is not closed after OpenFile operation when kXMPFiles_OpenForUpdate not passed

Definition at line 1123 of file XMP_Const.h.

1123 {
1124
1126 kXMPFiles_CanInjectXMP = 0x00000001,
1127
1129 kXMPFiles_CanExpand = 0x00000002,
1130
1132 kXMPFiles_CanRewrite = 0x00000004,
1133
1135 kXMPFiles_PrefersInPlace = 0x00000008,
1136
1138 kXMPFiles_CanReconcile = 0x00000010,
1139
1141 kXMPFiles_AllowsOnlyXMP = 0x00000020,
1142
1144 kXMPFiles_ReturnsRawPacket = 0x00000040,
1145
1147 kXMPFiles_HandlerOwnsFile = 0x00000100,
1148
1150 kXMPFiles_AllowsSafeUpdate = 0x00000200,
1151
1153 kXMPFiles_NeedsReadOnlyPacket = 0x00000400,
1154
1156 kXMPFiles_UsesSidecarXMP = 0x00000800,
1157
1159 kXMPFiles_FolderBasedFormat = 0x00001000,
1160
1162 kXMPFiles_CanNotifyProgress = 0x00002000,
1163
1165 kXMPFiles_NeedsPreloading = 0x00004000,
1166
1169 kXMPFiles_NeedsLocalFileOpened = 0x00010000
1170 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPFiles::OpenFile()`.

Enumerator
kXMPFiles_OpenForRead | Open for read-only access.
kXMPFiles_OpenForUpdate | Open for reading and writing.
kXMPFiles_OpenOnlyXMP | Only the XMP is wanted, allows space/time optimizations.
kXMPFiles_ForceGivenHandler | Force use of the given handler (format), do not even verify the format.
kXMPFiles_OpenStrictly | Be strict about only attempting to use the designated file handler, no fallback to other handlers.
kXMPFiles_OpenUseSmartHandler | Require the use of a smart handler.
kXMPFiles_OpenUsePacketScanning | Force packet scanning, do not use a smart handler.
kXMPFiles_OpenLimitedScanning | Only packet scan files "known" to need scanning.
kXMPFiles_OpenRepairFile | Attempt to repair a file opened for update, default is to not open (throw an exception).
kXMPFiles_OptimizeFileLayout | When updating a file, spend the effort necessary to optimize file layout.

Definition at line 1173 of file XMP_Const.h.

1173 {
1174
1176 kXMPFiles_OpenForRead = 0x00000001,
1177
1179 kXMPFiles_OpenForUpdate = 0x00000002,
1180
1182 kXMPFiles_OpenOnlyXMP = 0x00000004,
1183
1185 kXMPFiles_ForceGivenHandler = 0x00000008,
1186
1188 kXMPFiles_OpenStrictly = 0x00000010,
1189
1191 kXMPFiles_OpenUseSmartHandler = 0x00000020,
1192
1194 kXMPFiles_OpenUsePacketScanning = 0x00000040,
1195
1197 kXMPFiles_OpenLimitedScanning = 0x00000080,
1198
1200 kXMPFiles_OpenRepairFile = 0x00000100,
1201
1203 kXMPFiles_OptimizeFileLayout = 0x00000200
1204
1205 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPFiles::CloseFile()`.

Enumerator
kXMPFiles_UpdateSafely | Write into a temporary file and swap for crash safety.

Definition at line 1208 of file XMP_Const.h.

1208 {
1210 kXMPFiles_UpdateSafely = 0x0001
1211 };

## ◆ anonymous enum

anonymous enum

Severity codes for error notifications.

Enumerator
kXMPErrSev_Recoverable | Partial recovery and continuation is possible.
kXMPErrSev_OperationFatal | Recovery is not possible, an exception will be thrown aborting the API call.
kXMPErrSev_FileFatal | Recovery is not possible, an exception will be thrown, the file is corrupt and possibly unusable.
kXMPErrSev_ProcessFatal | Recovery is not possible, an exception will be thrown, the entire process should be aborted.

Definition at line 1245 of file XMP_Const.h.

1245 {
1247 kXMPErrSev_Recoverable = 0,
1249 kXMPErrSev_OperationFatal = 1,
1251 kXMPErrSev_FileFatal = 2,
1253 kXMPErrSev_ProcessFatal = 3
1254 };

## ◆ anonymous enum

anonymous enum

Option bit flags for the `TXMPMeta` property accessor functions.

Enumerator
kXMP_PropValueIsURI | The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED.
kXMP_PropHasQualifiers | The property has qualifiers, includes `rdf:type` and `xml:lang`.
kXMP_PropIsQualifier | This is a qualifier for some other property, includes `rdf:type` and `xml:lang`. Qualifiers can have arbitrary structure, and can themselves have qualifiers. If the qualifier itself has a structured value, this flag is only set for the top node of the qualifier's subtree.
kXMP_PropHasLang | Implies `kXMP_PropHasQualifiers`, property has `xml:lang`.
kXMP_PropHasType | Implies `kXMP_PropHasQualifiers`, property has `rdf:type`.
kXMP_PropValueIsStruct | The value is a structure with nested fields.
kXMP_PropValueIsArray | The value is an array (RDF alt/bag/seq). The "ArrayIs..." flags identify specific types of array; default is a general unordered array, serialized using an `rdf:Bag` container.
kXMP_PropArrayIsUnordered | The item order does not matter.
kXMP_PropArrayIsOrdered | Implies `kXMP_PropValueIsArray`, item order matters. It is serialized using an `rdf:Seq` container.
kXMP_PropArrayIsAlternate | Implies `kXMP_PropArrayIsOrdered`, items are alternates. It is serialized using an `rdf:Alt` container.
kXMP_PropArrayIsAltText | Implies `kXMP_PropArrayIsAlternate`, items are localized text. Each array element is a simple property with an `xml:lang` attribute.
kXMP_PropIsAlias | This property is an alias name for another property. This is only returned by `TXMPMeta::GetProperty()` and then only if the property name is simple, not an path expression.
kXMP_PropHasAliases | This property is the base value (actual) for a set of aliases.This is only returned by `TXMPMeta::GetProperty()` and then only if the property name is simple, not an path expression.
kXMP_PropIsInternal | The value of this property is "owned" by the application, and should not generally be editable in a UI.
kXMP_PropIsStable | The value of this property is not derived from the document content.
kXMP_PropIsDerived | The value of this property is derived from the document content.
kXMP_PropArrayFormMask | Property type bit-flag mask for all array types.
kXMP_PropCompositeMask | Property type bit-flag mask for composite types (array and struct)
kXMP_ImplReservedMask | Mask for bits that are reserved for transient use by the implementation.

Definition at line 586 of file XMP_Const.h.

586 {
587
589 kXMP_PropValueIsURI = 0x00000002UL,
590
591 // ------------------------------------------------------
592 // Options relating to qualifiers attached to a property.
593
595 kXMP_PropHasQualifiers = 0x00000010UL,
596
601 kXMP_PropIsQualifier = 0x00000020UL,
602
604 kXMP_PropHasLang = 0x00000040UL,
605
607 kXMP_PropHasType = 0x00000080UL,
608
609 // --------------------------------------------
610 // Options relating to the data structure form.
611
613 kXMP_PropValueIsStruct = 0x00000100UL,
614
617 kXMP_PropValueIsArray = 0x00000200UL,
618
620 kXMP_PropArrayIsUnordered = kXMP_PropValueIsArray,
621
623 kXMP_PropArrayIsOrdered = 0x00000400UL,
624
626 kXMP_PropArrayIsAlternate = 0x00000800UL,
627
628 // ------------------------------------
629 // Additional struct and array options.
630
633 kXMP_PropArrayIsAltText = 0x00001000UL,
634
635 // kXMP_InsertBeforeItem = 0x00004000UL, ! Used by SetXyz functions.
636 // kXMP_InsertAfterItem = 0x00008000UL, ! Used by SetXyz functions.
637
638 // ----------------------------
639 // Other miscellaneous options.
640
643 kXMP_PropIsAlias = 0x00010000UL,
644
647 kXMP_PropHasAliases = 0x00020000UL,
648
650 kXMP_PropIsInternal = 0x00040000UL,
651
653 kXMP_PropIsStable = 0x00100000UL,
654
656 kXMP_PropIsDerived = 0x00200000UL,
657
658 // kXMPUtil_AllowCommas = 0x10000000UL, ! Used by TXMPUtils::CatenateArrayItems and ::SeparateArrayItems.
659 // kXMP_DeleteExisting = 0x20000000UL, ! Used by TXMPMeta::SetXyz functions to delete any pre-existing property.
660 // kXMP_SchemaNode = 0x80000000UL, ! Returned by iterators - #define to avoid warnings
661
662 // ------------------------------
663 // Masks that are multiple flags.
664
666 kXMP_PropArrayFormMask = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText,
667
669 kXMP_PropCompositeMask = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask,
670
672 kXMP_ImplReservedMask = 0x70000000L
673
674 };

## ◆ anonymous enum

anonymous enum

XMP_Error exception code constants.

Enumerator
kXMPErr_NoError | Generic error codes. No error
kXMPErr_Unknown | Generic unknown error.
kXMPErr_TBD | Generic undefined error.
kXMPErr_Unavailable | Generic unavailable error.
kXMPErr_BadObject | Generic bad object error.
kXMPErr_BadParam | Generic bad parameter error.
kXMPErr_BadValue | Generic bad value error.
kXMPErr_AssertFailure | Generic assertion failure.
kXMPErr_EnforceFailure | Generic enforcement failure.
kXMPErr_Unimplemented | Generic unimplemented error.
kXMPErr_InternalFailure | Generic internal failure.
kXMPErr_Deprecated | Generic deprecated error.
kXMPErr_ExternalFailure | Generic external failure.
kXMPErr_UserAbort | Generic user abort error.
kXMPErr_StdException | Generic standard exception.
kXMPErr_UnknownException | Generic unknown exception.
kXMPErr_NoMemory | Generic out-of-memory error.
kXMPErr_ProgressAbort | Progress reporting callback requested abort.
kXMPErr_BadSchema | Bad schema parameter.
kXMPErr_BadXPath | Bad XPath parameter.
kXMPErr_BadOptions | Bad options parameter.
kXMPErr_BadIndex | Bad index parameter.
kXMPErr_BadIterPosition | Bad iteration position.
kXMPErr_BadParse | XML parsing error (deprecated)
kXMPErr_BadSerialize | Serialization error.
kXMPErr_BadFileFormat | File format error.
kXMPErr_NoFileHandler | No file handler found for format.
kXMPErr_TooLargeForJPEG | Data too large for JPEG file format.
kXMPErr_NoFile | A file does not exist.
kXMPErr_FilePermission | A file exists but cannot be opened.
kXMPErr_DiskSpace | A file write failed due to lack of disk space.
kXMPErr_ReadError | A file read failed.
kXMPErr_WriteError | A file write failed for a reason other than lack of disk space.
kXMPErr_BadBlockFormat | A block of a file is ill-formed, e.g. invalid IPTC-IIM in a photo.
kXMPErr_FilePathNotAFile | File Path is not a file.
kXMPErr_RejectedFileExtension | Rejected File extension.
kXMPErr_BadXML | XML format error.
kXMPErr_BadRDF | RDF format error.
kXMPErr_BadXMP | XMP format error.
kXMPErr_EmptyIterator | Empty iterator.
kXMPErr_BadUnicode | Unicode error.
kXMPErr_BadTIFF | TIFF format error.
kXMPErr_BadJPEG | JPEG format error.
kXMPErr_BadPSD | PSD format error.
kXMPErr_BadPSIR | PSIR format error.
kXMPErr_BadIPTC | IPTC format error.
kXMPErr_BadMPEG | MPEG format error.
kXMPErr_HEIFConstructionMethodNotSupported | HEIF format: Modify Operation is not supported for Construction Method 1 or 2.
kXMPErr_BadPNG | PNG format error.

Definition at line 1364 of file XMP_Const.h.

1364 {
1365
1366 // --------------------
1368
1370 kXMPErr_NoError = -1,
1371
1373 kXMPErr_Unknown = 0,
1375 kXMPErr_TBD = 1,
1377 kXMPErr_Unavailable = 2,
1379 kXMPErr_BadObject = 3,
1381 kXMPErr_BadParam = 4,
1383 kXMPErr_BadValue = 5,
1385 kXMPErr_AssertFailure = 6,
1387 kXMPErr_EnforceFailure = 7,
1389 kXMPErr_Unimplemented = 8,
1391 kXMPErr_InternalFailure = 9,
1393 kXMPErr_Deprecated = 10,
1395 kXMPErr_ExternalFailure = 11,
1397 kXMPErr_UserAbort = 12,
1399 kXMPErr_StdException = 13,
1401 kXMPErr_UnknownException = 14,
1403 kXMPErr_NoMemory = 15,
1405 kXMPErr_ProgressAbort = 16,
1406
1407 // ------------------------------------
1408 // More specific parameter error codes.
1409
1411 kXMPErr_BadSchema = 101,
1413 kXMPErr_BadXPath = 102,
1415 kXMPErr_BadOptions = 103,
1417 kXMPErr_BadIndex = 104,
1419 kXMPErr_BadIterPosition = 105,
1421 kXMPErr_BadParse = 106,
1423 kXMPErr_BadSerialize = 107,
1425 kXMPErr_BadFileFormat = 108,
1427 kXMPErr_NoFileHandler = 109,
1429 kXMPErr_TooLargeForJPEG = 110,
1431 kXMPErr_NoFile = 111,
1433 kXMPErr_FilePermission = 112,
1435 kXMPErr_DiskSpace = 113,
1437 kXMPErr_ReadError = 114,
1439 kXMPErr_WriteError = 115,
1441 kXMPErr_BadBlockFormat = 116,
1443 kXMPErr_FilePathNotAFile = 117,
1445 kXMPErr_RejectedFileExtension = 118,
1446
1447 // -----------------------------------------------
1448 // File format and internal structure error codes.
1449
1451 kXMPErr_BadXML = 201,
1453 kXMPErr_BadRDF = 202,
1455 kXMPErr_BadXMP = 203,
1457 kXMPErr_EmptyIterator = 204,
1459 kXMPErr_BadUnicode = 205,
1461 kXMPErr_BadTIFF = 206,
1463 kXMPErr_BadJPEG = 207,
1465 kXMPErr_BadPSD = 208,
1467 kXMPErr_BadPSIR = 209,
1469 kXMPErr_BadIPTC = 210,
1471 kXMPErr_BadMPEG = 211,
1473 kXMPErr_HEIFConstructionMethodNotSupported = 212,
1475 kXMPErr_BadPNG = 213
1476
1477 };

## ◆ anonymous enum

anonymous enum

Option bit flags for the `TXMPMeta` property setting functions.

These option bits are shared with the accessor functions:

- `kXMP_PropValueIsURI`
- `kXMP_PropValueIsStruct`
- `kXMP_PropValueIsArray`
- `kXMP_PropArrayIsOrdered`
- `kXMP_PropArrayIsAlternate`
- `kXMP_PropArrayIsAltText`

Enumerator
kXMP_InsertBeforeItem | Option for array item location: Insert a new item before the given index.
kXMP_InsertAfterItem | Option for array item location: Insert a new item after the given index.
kXMP_DeleteExisting | Delete any pre-existing property.
kXMP_PropValueOptionsMask | Bit-flag mask for property-value option bits.
kXMP_PropArrayLocationMask | Bit-flag mask for array-item location bits.

Definition at line 686 of file XMP_Const.h.

686 {
687
689 kXMP_InsertBeforeItem = 0x00004000UL,
690
692 kXMP_InsertAfterItem = 0x00008000UL,
693
695 kXMP_DeleteExisting = 0x20000000UL,
696
698 kXMP_PropValueOptionsMask = kXMP_PropValueIsURI,
699
701 kXMP_PropArrayLocationMask = kXMP_InsertBeforeItem | kXMP_InsertAfterItem
702
703 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPMeta::ParseFromBuffer()`.

Enumerator
kXMP_RequireXMPMeta | Require a surrounding `x:xmpmeta` element.
kXMP_ParseMoreBuffers | This is the not last input buffer for this parse stream.
kXMP_StrictAliasing | Do not reconcile alias differences, throw an exception.

Definition at line 708 of file XMP_Const.h.

708 {
709
711 kXMP_RequireXMPMeta = 0x0001UL,
712
714 kXMP_ParseMoreBuffers = 0x0002UL,
715
717 kXMP_StrictAliasing = 0x0004UL
718
719 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPMeta::SerializeToBuffer()`.

Enumerator
kXMP_OmitPacketWrapper | Omit the XML packet wrapper.
kXMP_ReadOnlyPacket | Default is a writeable packet.
kXMP_UseCompactFormat | Use a compact form of RDF.
kXMP_UseCanonicalFormat | Use a canonical form of RDF.
kXMP_IncludeThumbnailPad | Include a padding allowance for a thumbnail image.
kXMP_ExactPacketLength | The padding parameter is the overall packet length.
kXMP_OmitAllFormatting | Omit all formatting whitespace.
kXMP_OmitXMPMetaElement | Omit the x:xmpmeta element surrounding the rdf:RDF element.
kXMP_IncludeRDFHash | Include a rdf Hash and Merged flag in x:xmpmeta element.
_XMP_LittleEndian_Bit |
_XMP_UTF16_Bit |
_XMP_UTF32_Bit |
kXMP_EncodingMask | Bit-flag mask for encoding-type bits.
kXMP_EncodeUTF8 | Use UTF8 encoding.
kXMP_EncodeUTF16Big | Use UTF16 big-endian encoding.
kXMP_EncodeUTF16Little | Use UTF16 little-endian encoding.
kXMP_EncodeUTF32Big | Use UTF32 big-endian encoding.
kXMP_EncodeUTF32Little | Use UTF13 little-endian encoding.

Definition at line 722 of file XMP_Const.h.

722 {
723
724 // *** Option to remove empty struct/array, or leaf with empty value?
725
727 kXMP_OmitPacketWrapper = 0x0010UL,
728
730 kXMP_ReadOnlyPacket = 0x0020UL,
731
733 kXMP_UseCompactFormat = 0x0040UL,
734
736 kXMP_UseCanonicalFormat = 0x0080UL,
737
739 kXMP_IncludeThumbnailPad = 0x0100UL,
740
742 kXMP_ExactPacketLength = 0x0200UL,
743
745 kXMP_OmitAllFormatting = 0x0800UL,
746
748 kXMP_OmitXMPMetaElement = 0x1000UL,
749
751 kXMP_IncludeRDFHash = 0x2000UL,
752
753 _XMP_LittleEndian_Bit = 0x0001UL, // ! Don't use directly, see the combined values below!
754 _XMP_UTF16_Bit = 0x0002UL,
755 _XMP_UTF32_Bit = 0x0004UL,
756
758 kXMP_EncodingMask = 0x0007UL,
759
761 kXMP_EncodeUTF8 = 0UL,
762
764 kXMP_EncodeUTF16Big = _XMP_UTF16_Bit,
765
767 kXMP_EncodeUTF16Little = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit,
768
770 kXMP_EncodeUTF32Big = _XMP_UTF32_Bit,
771
773 kXMP_EncodeUTF32Little = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit
774
775 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPIterator` construction.

Enumerator
kXMP_IterClassMask | The low 8 bits are an enum of what data structure to iterate.
kXMP_IterProperties | Iterate the property tree of a TXMPMeta object.
kXMP_IterAliases | Iterate the global alias table.
kXMP_IterNamespaces | Iterate the global namespace table.
kXMP_IterJustChildren | Just do the immediate children of the root, default is subtree.
kXMP_IterJustLeafNodes | Just do the leaf nodes, default is all nodes in the subtree.
kXMP_IterJustLeafName | Return just the leaf part of the path, default is the full path.
kXMP_IterOmitQualifiers | Omit all qualifiers.

Definition at line 780 of file XMP_Const.h.

780 {
781
783 kXMP_IterClassMask = 0x00FFUL,
784
786 kXMP_IterProperties = 0x0000UL,
787
789 kXMP_IterAliases = 0x0001UL,
790
792 kXMP_IterNamespaces = 0x0002UL,
793
795 kXMP_IterJustChildren = 0x0100UL,
796
798 kXMP_IterJustLeafNodes = 0x0200UL,
799
801 kXMP_IterJustLeafName = 0x0400UL,
802
804 kXMP_IterOmitQualifiers = 0x1000UL
805
806 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPIterator::Skip()`.

Enumerator
kXMP_IterSkipSubtree | Skip the subtree below the current node.
kXMP_IterSkipSiblings | Skip the subtree below and remaining siblings of the current node.

Definition at line 809 of file XMP_Const.h.

809 {
810
812 kXMP_IterSkipSubtree = 0x0001UL,
813
815 kXMP_IterSkipSiblings = 0x0002UL
816
817 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPUtils::CatenateArrayItems()` and `TXMPUtils::SeparateArrayItems()`.

These option bits are shared with the accessor functions:

- `kXMP_PropValueIsArray`,
- `kXMP_PropArrayIsOrdered`,
- `kXMP_PropArrayIsAlternate`,
- `kXMP_PropArrayIsAltText`

Enumerator
kXMPUtil_AllowCommas | Allow commas in item values, default is separator.

Definition at line 827 of file XMP_Const.h.

827 {
828
830 kXMPUtil_AllowCommas = 0x10000000UL
831
832 };

## ◆ anonymous enum

anonymous enum

Option bit flags for `TXMPUtils::ApplyTemplate()`.

Enumerator
kXMPTemplate_IncludeInternalProperties | Do all properties, default is just external properties.
kXMPTemplate_ReplaceExistingProperties | Perform a Replace operation, add new properties and modify existing ones.
kXMPTemplate_ReplaceWithDeleteEmpty | Similar to Replace, also delete if the template has an empty value.
kXMPTemplate_AddNewProperties | Perform an Add operation, add properties if they don't already exist.
kXMPTemplate_ClearUnnamedProperties | Perform a Clear operation, keep named properties and delete everything else.

Definition at line 835 of file XMP_Const.h.

835 {
836
838 kXMPTemplate_IncludeInternalProperties = 0x0001UL,
839
841 kXMPTemplate_ReplaceExistingProperties = 0x0002UL,
842
844 kXMPTemplate_ReplaceWithDeleteEmpty = 0x0004UL,
845
847 kXMPTemplate_AddNewProperties = 0x0008UL,
848
850 kXMPTemplate_ClearUnnamedProperties = 0x0010UL
851
852 };

## ◆ SeekMode

enum SeekMode

Seek mode constants for use with XMP_IO and inside XMPFiles library code.

Enumerator
kXMP_SeekFromStart |
kXMP_SeekFromCurrent |
kXMP_SeekFromEnd |

Definition at line 876 of file XMP_Const.h.

876 { kXMP_SeekFromStart, kXMP_SeekFromCurrent, kXMP_SeekFromEnd };

## Variable Documentation

## ◆ kXMP_Bool_False

const XMP_Uns8 kXMP_Bool_False = 0

Definition at line 113 of file XMP_Const.h.

## ◆ Max_XMP_Int16

const XMP_Int16 Max_XMP_Int16 = ( (XMP_Int16) 0x7FFF )
| static

Definition at line 130 of file XMP_Const.h.

## ◆ Max_XMP_Int32

const XMP_Int32 Max_XMP_Int32 = ( (XMP_Int32) 0x7FFFFFFF )
| static

Definition at line 132 of file XMP_Const.h.

## ◆ Max_XMP_Int64

const XMP_Int64 Max_XMP_Int64 = ( (XMP_Int64) 0x7FFFFFFFFFFFFFFFLL )
| static

Definition at line 134 of file XMP_Const.h.

## ◆ Max_XMP_Int8

const XMP_Int8 Max_XMP_Int8 = ( (XMP_Int8) 0x7F )
| static

Definition at line 128 of file XMP_Const.h.

## ◆ Max_XMP_Uns16

const XMP_Uns16 Max_XMP_Uns16 = ( (XMP_Uns16) 0xFFFF )
| static

Definition at line 121 of file XMP_Const.h.

## ◆ Max_XMP_Uns32

const XMP_Uns32 Max_XMP_Uns32 = ( (XMP_Uns32) 0xFFFFFFFF )
| static

Definition at line 123 of file XMP_Const.h.

## ◆ Max_XMP_Uns64

const XMP_Uns64 Max_XMP_Uns64 = ( (XMP_Uns64) 0xFFFFFFFFFFFFFFFFLL )
| static

Definition at line 125 of file XMP_Const.h.

## ◆ Max_XMP_Uns8

const XMP_Uns8 Max_XMP_Uns8 = ( (XMP_Uns8) 0xFF )
| static

Definition at line 119 of file XMP_Const.h.

## ◆ Min_XMP_Int16

const XMP_Int16 Min_XMP_Int16 = ( (XMP_Int16) 0x8000 )
| static

Definition at line 129 of file XMP_Const.h.

## ◆ Min_XMP_Int32

const XMP_Int32 Min_XMP_Int32 = ( (XMP_Int32) 0x80000000 )
| static

Definition at line 131 of file XMP_Const.h.

## ◆ Min_XMP_Int64

const XMP_Int64 Min_XMP_Int64 = ( (XMP_Int64) 0x8000000000000000LL )
| static

Definition at line 133 of file XMP_Const.h.

## ◆ Min_XMP_Int8

const XMP_Int8 Min_XMP_Int8 = ( (XMP_Int8) 0x80 )
| static

Definition at line 127 of file XMP_Const.h.

## ◆ Min_XMP_Uns16

const XMP_Uns16 Min_XMP_Uns16 = ( (XMP_Uns16) 0x00 )
| static

Definition at line 120 of file XMP_Const.h.

## ◆ Min_XMP_Uns32

const XMP_Uns32 Min_XMP_Uns32 = ( (XMP_Uns32) 0x00 )
| static

Definition at line 122 of file XMP_Const.h.

## ◆ Min_XMP_Uns64

const XMP_Uns64 Min_XMP_Uns64 = ( (XMP_Uns64) 0x00 )
| static

Definition at line 124 of file XMP_Const.h.

## ◆ Min_XMP_Uns8

const XMP_Uns8 Min_XMP_Uns8 = ( (XMP_Uns8) 0x00 )
| static

Definition at line 118 of file XMP_Const.h.

## ◆ XMP_StringPtr

XMP_StringPtr

The type for input string parameters. A `const char *`, a null-terminated UTF-8 string.

Definition at line 178 of file XMP_Const.h.

kXMP_MXFFile
@ kXMP_MXFFile
Public file format constant: 'MXF '.
Definition: XMP_Const.h:934
kXMPErr_RejectedFileExtension
@ kXMPErr_RejectedFileExtension
Rejected File extension.
Definition: XMP_Const.h:1445
kXMP_PropHasQualifiers
@ kXMP_PropHasQualifiers
The property has qualifiers, includes rdf:type and xml:lang.
Definition: XMP_Const.h:595
kXMPTS_Maybe
@ kXMPTS_Maybe
The part or parts might, or might not, have changed.
Definition: XMP_Const.h:204
kXMP_PropIsAlias
@ kXMP_PropIsAlias
Definition: XMP_Const.h:643
kXMP_FLVFile
@ kXMP_FLVFile
Public file format constant: 'FLV '.
Definition: XMP_Const.h:911
kXMP_PhotoshopFile
@ kXMP_PhotoshopFile
Adobe application file format constant: 'PSD '.
Definition: XMP_Const.h:975
kXMP_AEFilterPresetFile
@ kXMP_AEFilterPresetFile
Adobe application file format constant: 'FFX '.
Definition: XMP_Const.h:985
kXMP_IterOmitQualifiers
@ kXMP_IterOmitQualifiers
Omit all qualifiers.
Definition: XMP_Const.h:804
kXMP_PropValueIsURI
@ kXMP_PropValueIsURI
The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED.
Definition: XMP_Const.h:589
kXMPTS_No
@ kXMPTS_No
The part or parts have definitely not changed.
Definition: XMP_Const.h:202
kXMPFiles_ServerMode
@ kXMPFiles_ServerMode
Combination of flags necessary for server products using XMPFiles.
Definition: XMP_Const.h:1119
kXMP_IterJustChildren
@ kXMP_IterJustChildren
Just do the immediate children of the root, default is subtree.
Definition: XMP_Const.h:795
kXMP_Char16BitLittle
@ kXMP_Char16BitLittle
16-bit little-endian
Definition: XMP_Const.h:1022
kXMP_SESFile
@ kXMP_SESFile
Public file format constant: 'SES ', Audition session.
Definition: XMP_Const.h:924
kXMPErr_InternalFailure
@ kXMPErr_InternalFailure
Generic internal failure.
Definition: XMP_Const.h:1391
kXMPErr_NoError
@ kXMPErr_NoError
Generic error codes.
Definition: XMP_Const.h:1370
kXMPErr_Deprecated
@ kXMPErr_Deprecated
Generic deprecated error.
Definition: XMP_Const.h:1393
kXMPFiles_OpenForUpdate
@ kXMPFiles_OpenForUpdate
Open for reading and writing.
Definition: XMP_Const.h:1179
kXMPErrSev_Recoverable
@ kXMPErrSev_Recoverable
Partial recovery and continuation is possible.
Definition: XMP_Const.h:1247
kXMPFiles_OpenUseSmartHandler
@ kXMPFiles_OpenUseSmartHandler
Require the use of a smart handler.
Definition: XMP_Const.h:1191
kXMP_PropArrayLocationMask
@ kXMP_PropArrayLocationMask
Bit-flag mask for array-item location bits.
Definition: XMP_Const.h:701
kXMP_PropArrayIsUnordered
@ kXMP_PropArrayIsUnordered
The item order does not matter.
Definition: XMP_Const.h:620
kXMPErr_BadXML
@ kXMPErr_BadXML
XML format error.
Definition: XMP_Const.h:1451
kXMP_SeekFromEnd
@ kXMP_SeekFromEnd
Definition: XMP_Const.h:876
kXMP_SVGFile
@ kXMP_SVGFile
Public file format constant: 'SVG '.
Definition: XMP_Const.h:969
kXMP_SeekFromCurrent
@ kXMP_SeekFromCurrent
Definition: XMP_Const.h:876
kXMPErr_ReadError
@ kXMPErr_ReadError
A file read failed.
Definition: XMP_Const.h:1437
kXMP_TimeWestOfUTC
@ kXMP_TimeWestOfUTC
Time zone is west of UTC.
Definition: XMP_Const.h:284
kXMPErr_BadIPTC
@ kXMPErr_BadIPTC
IPTC format error.
Definition: XMP_Const.h:1469
kXMP_Char32BitLittle
@ kXMP_Char32BitLittle
32-bit little-endian
Definition: XMP_Const.h:1026
kXMP_ParseMoreBuffers
@ kXMP_ParseMoreBuffers
This is the not last input buffer for this parse stream.
Definition: XMP_Const.h:714
kXMP_XDCAM_FAMFile
@ kXMP_XDCAM_FAMFile
Public file format constant: 'XDCF', a collection not really a single file.
Definition: XMP_Const.h:948
kXMPUtil_IncludeAliases
@ kXMPUtil_IncludeAliases
Include aliases, default is just actual properties.
Definition: XMP_Const.h:867
kXMP_XDCAM_SAMFile
@ kXMP_XDCAM_SAMFile
Public file format constant: 'XDCS', a collection not really a single file.
Definition: XMP_Const.h:950
kXMP_IterSkipSiblings
@ kXMP_IterSkipSiblings
Skip the subtree below and remaining siblings of the current node.
Definition: XMP_Const.h:815
kXMP_Char8Bit
@ kXMP_Char8Bit
8-bit
Definition: XMP_Const.h:1018
kXMPFiles_CanInjectXMP
@ kXMPFiles_CanInjectXMP
Can inject first-time XMP into an existing file.
Definition: XMP_Const.h:1126
kXMP_InsertBeforeItem
@ kXMP_InsertBeforeItem
Option for array item location: Insert a new item before the given index.
Definition: XMP_Const.h:689
kXMPFiles_CanReconcile
@ kXMPFiles_CanReconcile
Supports reconciliation between XMP and other forms.
Definition: XMP_Const.h:1138
kXMP_TimeEastOfUTC
@ kXMP_TimeEastOfUTC
Time zone is east of UTC.
Definition: XMP_Const.h:288
kXMP_SWFFile
@ kXMP_SWFFile
Public file format constant: 'SWF '.
Definition: XMP_Const.h:907
kXMPTemplate_ClearUnnamedProperties
@ kXMPTemplate_ClearUnnamedProperties
Perform a Clear operation, keep named properties and delete everything else.
Definition: XMP_Const.h:850
kXMPErr_Unavailable
@ kXMPErr_Unavailable
Generic unavailable error.
Definition: XMP_Const.h:1377
kXMP_TimeIsUTC
@ kXMP_TimeIsUTC
UTC time.
Definition: XMP_Const.h:286
kXMP_RequireXMPMeta
@ kXMP_RequireXMPMeta
Require a surrounding x:xmpmeta element.
Definition: XMP_Const.h:711
kXMP_PNGFile
@ kXMP_PNGFile
Public file format constant: 'PNG '.
Definition: XMP_Const.h:904
kXMPErr_StdException
@ kXMPErr_StdException
Generic standard exception.
Definition: XMP_Const.h:1399
kXMPErr_BadFileFormat
@ kXMPErr_BadFileFormat
File format error.
Definition: XMP_Const.h:1425
kXMP_IncludeRDFHash
@ kXMP_IncludeRDFHash
Include a rdf Hash and Merged flag in x:xmpmeta element.
Definition: XMP_Const.h:751
kXMPFiles_IgnoreLocalText
@ kXMPFiles_IgnoreLocalText
Ignore non-XMP text that uses an undefined "local" encoding.
Definition: XMP_Const.h:1117
kXMP_PremiereProjectFile
@ kXMP_PremiereProjectFile
Adobe application file format constant: 'PRPJ'.
Definition: XMP_Const.h:989
kXMP_OmitAllFormatting
@ kXMP_OmitAllFormatting
Omit all formatting whitespace.
Definition: XMP_Const.h:745
kXMPErrSev_OperationFatal
@ kXMPErrSev_OperationFatal
Recovery is not possible, an exception will be thrown aborting the API call.
Definition: XMP_Const.h:1249
kXMPFiles_OpenUsePacketScanning
@ kXMPFiles_OpenUsePacketScanning
Force packet scanning, do not use a smart handler.
Definition: XMP_Const.h:1194
kXMPFiles_AllowsOnlyXMP
@ kXMPFiles_AllowsOnlyXMP
Allows access to just the XMP, ignoring other forms.
Definition: XMP_Const.h:1141
kXMPTemplate_IncludeInternalProperties
@ kXMPTemplate_IncludeInternalProperties
Do all properties, default is just external properties.
Definition: XMP_Const.h:838
kXMP_REDFile
@ kXMP_REDFile
Public file format constant: 'RED ', RED file format.
Definition: XMP_Const.h:940
kXMP_UnknownFile
@ kXMP_UnknownFile
Unknown file format constant: ' '.
Definition: XMP_Const.h:999
kXMP_IterJustLeafNodes
@ kXMP_IterJustLeafNodes
Just do the leaf nodes, default is all nodes in the subtree.
Definition: XMP_Const.h:798
kXMPErr_BadXMP
@ kXMPErr_BadXMP
XMP format error.
Definition: XMP_Const.h:1455
kXMPFiles_PrefersInPlace
@ kXMPFiles_PrefersInPlace
Can expand, but prefers in-place update.
Definition: XMP_Const.h:1135
kXMPUtil_DeleteEmptyValues
@ kXMPUtil_DeleteEmptyValues
Delete properties if the new value is empty.
Definition: XMP_Const.h:864
kXMPErr_BadValue
@ kXMPErr_BadValue
Generic bad value error.
Definition: XMP_Const.h:1383
kXMPUtil_DoAllProperties
@ kXMPUtil_DoAllProperties
Do all properties, default is just external properties.
Definition: XMP_Const.h:858
kXMPErr_BadMPEG
@ kXMPErr_BadMPEG
MPEG format error.
Definition: XMP_Const.h:1471
kXMP_PremiereTitleFile
@ kXMP_PremiereTitleFile
Adobe application file format constant: 'PRTL'.
Definition: XMP_Const.h:991
kXMPFiles_OptimizeFileLayout
@ kXMPFiles_OptimizeFileLayout
When updating a file, spend the effort necessary to optimize file layout.
Definition: XMP_Const.h:1203
kXMP_CharLittleEndianMask
@ kXMP_CharLittleEndianMask
Definition: XMP_Const.h:1010
kXMP_MPEG2File
@ kXMP_MPEG2File
Public file format constant: 'MP2 '.
Definition: XMP_Const.h:930
kXMPErr_AssertFailure
@ kXMPErr_AssertFailure
Generic assertion failure.
Definition: XMP_Const.h:1385
kXMP_PropIsInternal
@ kXMP_PropIsInternal
The value of this property is "owned" by the application, and should not generally be editable in a U...
Definition: XMP_Const.h:650
kXMPFiles_OpenLimitedScanning
@ kXMPFiles_OpenLimitedScanning
Only packet scan files "known" to need scanning.
Definition: XMP_Const.h:1197
kXMP_InDesignFile
@ kXMP_InDesignFile
Adobe application file format constant: 'INDD'.
Definition: XMP_Const.h:979
kXMP_PostScriptFile
@ kXMP_PostScriptFile
Public file format constant: 'PS ', general PostScript following DSC conventions.
Definition: XMP_Const.h:891
kXMP_EncoreProjectFile
@ kXMP_EncoreProjectFile
Adobe application file format constant: 'NCOR'.
Definition: XMP_Const.h:987
kXMP_XDCAM_EXFile
@ kXMP_XDCAM_EXFile
Public file format constant: 'XDCX', a collection not really a single file.
Definition: XMP_Const.h:952
_XMP_LittleEndian_Bit
@ _XMP_LittleEndian_Bit
Definition: XMP_Const.h:753
kXMPErr_FilePathNotAFile
@ kXMPErr_FilePathNotAFile
File Path is not a file.
Definition: XMP_Const.h:1443
kXMP_PropIsDerived
@ kXMP_PropIsDerived
The value of this property is derived from the document content.
Definition: XMP_Const.h:656
kXMP_AVCHDFile
@ kXMP_AVCHDFile
Public file format constant: 'AVHD', a collection not really a single file.
Definition: XMP_Const.h:954
kXMP_UCFFile
@ kXMP_UCFFile
Adobe application file format constant: 'UCF ', Universal Container Format.
Definition: XMP_Const.h:993
kXMP_MPEGFile
@ kXMP_MPEGFile
Public file format constant: 'MPEG'.
Definition: XMP_Const.h:928
kXMP_CELFile
@ kXMP_CELFile
Public file format constant: 'CEL ', Audition loop.
Definition: XMP_Const.h:926
kXMP_AVIFile
@ kXMP_AVIFile
Public file format constant: 'AVI '.
Definition: XMP_Const.h:916
kXMP_PropHasAliases
@ kXMP_PropHasAliases
Definition: XMP_Const.h:647
kXMP_EPSFile
@ kXMP_EPSFile
Public file format constant: 'EPS ', encapsulated PostScript.
Definition: XMP_Const.h:893
kXMP_Char32BitMask
@ kXMP_Char32BitMask
Definition: XMP_Const.h:1012
kXMP_ImplReservedMask
@ kXMP_ImplReservedMask
Mask for bits that are reserved for transient use by the implementation.
Definition: XMP_Const.h:672
kXMP_CharUnknown
@ kXMP_CharUnknown
Variable or not-yet-known cases.
Definition: XMP_Const.h:1028
kXMPFiles_UsesSidecarXMP
@ kXMPFiles_UsesSidecarXMP
The file handler uses a "sidecar" file for the XMP.
Definition: XMP_Const.h:1156
kXMPUtil_AllowCommas
@ kXMPUtil_AllowCommas
Allow commas in item values, default is separator.
Definition: XMP_Const.h:830
kXMP_MPEG4File
@ kXMP_MPEG4File
Public file format constant: 'MP4 ', ISO 14494-12 and -14.
Definition: XMP_Const.h:932
kXMPErr_BadIterPosition
@ kXMPErr_BadIterPosition
Bad iteration position.
Definition: XMP_Const.h:1419
kXMPErrSev_FileFatal
@ kXMPErrSev_FileFatal
Recovery is not possible, an exception will be thrown, the file is corrupt and possibly unusable.
Definition: XMP_Const.h:1251
kXMP_Char16BitMask
@ kXMP_Char16BitMask
Definition: XMP_Const.h:1011
kXMP_TextFile
@ kXMP_TextFile
Public file format constant: 'text'.
Definition: XMP_Const.h:967
kXMP_MP3File
@ kXMP_MP3File
Public file format constant: 'MP3 '.
Definition: XMP_Const.h:922
kXMP_JPEG2KFile
@ kXMP_JPEG2KFile
Public file format constant: 'JPX ', JPEG 2000, ISO 15444-1.
Definition: XMP_Const.h:898
kXMPErr_BadPSIR
@ kXMPErr_BadPSIR
PSIR format error.
Definition: XMP_Const.h:1467
kXMPErr_WriteError
@ kXMPErr_WriteError
A file write failed for a reason other than lack of disk space.
Definition: XMP_Const.h:1439
kXMP_EncodeUTF16Big
@ kXMP_EncodeUTF16Big
Use UTF16 big-endian encoding.
Definition: XMP_Const.h:764
kXMP_PropArrayIsAltText
@ kXMP_PropArrayIsAltText
Definition: XMP_Const.h:633
kXMP_PropIsQualifier
@ kXMP_PropIsQualifier
Definition: XMP_Const.h:601
kXMPErr_BadUnicode
@ kXMPErr_BadUnicode
Unicode error.
Definition: XMP_Const.h:1459
kXMP_AEProjectFile
@ kXMP_AEProjectFile
Adobe application file format constant: 'AEP '.
Definition: XMP_Const.h:981
kXMP_UseCanonicalFormat
@ kXMP_UseCanonicalFormat
Use a canonical form of RDF.
Definition: XMP_Const.h:736
kXMPErr_BadJPEG
@ kXMPErr_BadJPEG
JPEG format error.
Definition: XMP_Const.h:1463
kXMP_StrictAliasing
@ kXMP_StrictAliasing
Do not reconcile alias differences, throw an exception.
Definition: XMP_Const.h:717
kXMPErr_TBD
@ kXMPErr_TBD
Generic undefined error.
Definition: XMP_Const.h:1375
kXMPFiles_OpenOnlyXMP
@ kXMPFiles_OpenOnlyXMP
Only the XMP is wanted, allows space/time optimizations.
Definition: XMP_Const.h:1182
kXMP_Char16BitBig
@ kXMP_Char16BitBig
16-bit big-endian
Definition: XMP_Const.h:1020
kXMPTS_Yes
@ kXMPTS_Yes
The part or parts have definitely changed.
Definition: XMP_Const.h:200
kXMP_FLAFile
@ kXMP_FLAFile
Public file format constant: 'FLA '.
Definition: XMP_Const.h:909
kXMP_IterSkipSubtree
@ kXMP_IterSkipSubtree
Skip the subtree below the current node.
Definition: XMP_Const.h:812
kXMPErr_NoFile
@ kXMPErr_NoFile
A file does not exist.
Definition: XMP_Const.h:1431
kXMPErr_FilePermission
@ kXMPErr_FilePermission
A file exists but cannot be opened.
Definition: XMP_Const.h:1433
kXMPFiles_NeedsPreloading
@ kXMPFiles_NeedsPreloading
The plugin handler is not capable for delay loading.
Definition: XMP_Const.h:1165
kXMP_PropCompositeMask
@ kXMP_PropCompositeMask
Property type bit-flag mask for composite types (array and struct)
Definition: XMP_Const.h:669
kXMPFiles_FolderBasedFormat
@ kXMPFiles_FolderBasedFormat
The format is folder oriented, for example the P2 video format.
Definition: XMP_Const.h:1159
kXMP_PacketInfoVersion
@ kXMP_PacketInfoVersion
Version of the XMP_PacketInfo type.
Definition: XMP_Const.h:1109
kXMPErr_ExternalFailure
@ kXMPErr_ExternalFailure
Generic external failure.
Definition: XMP_Const.h:1395
kXMPFiles_CanRewrite
@ kXMPFiles_CanRewrite
Can copy one file to another, writing new metadata.
Definition: XMP_Const.h:1132
kXMP_ExactPacketLength
@ kXMP_ExactPacketLength
The padding parameter is the overall packet length.
Definition: XMP_Const.h:742
kXMP_SonyHDVFile
@ kXMP_SonyHDVFile
Public file format constant: 'SHDV', a collection not really a single file.
Definition: XMP_Const.h:956
kXMPTemplate_ReplaceWithDeleteEmpty
@ kXMPTemplate_ReplaceWithDeleteEmpty
Similar to Replace, also delete if the template has an empty value.
Definition: XMP_Const.h:844
kXMP_PropArrayFormMask
@ kXMP_PropArrayFormMask
Property type bit-flag mask for all array types.
Definition: XMP_Const.h:666
kXMPFiles_ReturnsRawPacket
@ kXMPFiles_ReturnsRawPacket
File handler returns raw XMP packet information.
Definition: XMP_Const.h:1144
kXMP_PropArrayIsOrdered
@ kXMP_PropArrayIsOrdered
Implies kXMP_PropValueIsArray, item order matters. It is serialized using an rdf:Seq container.
Definition: XMP_Const.h:623
kXMPErr_ProgressAbort
@ kXMPErr_ProgressAbort
Progress reporting callback requested abort.
Definition: XMP_Const.h:1405
kXMPErr_HEIFConstructionMethodNotSupported
@ kXMPErr_HEIFConstructionMethodNotSupported
HEIF format: Modify Operation is not supported for Construction Method 1 or 2.
Definition: XMP_Const.h:1473
kXMP_EncodeUTF16Little
@ kXMP_EncodeUTF16Little
Use UTF16 little-endian encoding.
Definition: XMP_Const.h:767
kXMPErr_BadParam
@ kXMPErr_BadParam
Generic bad parameter error.
Definition: XMP_Const.h:1381
_XMP_UTF32_Bit
@ _XMP_UTF32_Bit
Definition: XMP_Const.h:755
kXMPErr_DiskSpace
@ kXMPErr_DiskSpace
A file write failed due to lack of disk space.
Definition: XMP_Const.h:1435
kXMPFiles_OpenForRead
@ kXMPFiles_OpenForRead
Open for read-only access.
Definition: XMP_Const.h:1176
kXMP_DeleteExisting
@ kXMP_DeleteExisting
Delete any pre-existing property.
Definition: XMP_Const.h:695
kXMPErr_BadSerialize
@ kXMPErr_BadSerialize
Serialization error.
Definition: XMP_Const.h:1423
kXMP_AVCUltraFile
@ kXMP_AVCUltraFile
Public file format constant: 'AVCU', a collection not really a single file.
Definition: XMP_Const.h:960
kXMPFiles_AllowsSafeUpdate
@ kXMPFiles_AllowsSafeUpdate
The file handler allows crash-safe file updates.
Definition: XMP_Const.h:1150
kXMP_ARRIFile
@ kXMP_ARRIFile
Public file format constant: 'ARRI', ARRI file format.
Definition: XMP_Const.h:942
kXMPErr_TooLargeForJPEG
@ kXMPErr_TooLargeForJPEG
Data too large for JPEG file format.
Definition: XMP_Const.h:1429
_XMP_UTF16_Bit
@ _XMP_UTF16_Bit
Definition: XMP_Const.h:754
kXMPErr_BadXPath
@ kXMPErr_BadXPath
Bad XPath parameter.
Definition: XMP_Const.h:1413
kXMP_OmitXMPMetaElement
@ kXMP_OmitXMPMetaElement
Omit the x:xmpmeta element surrounding the rdf:RDF element.
Definition: XMP_Const.h:748
kXMP_WMAVFile
@ kXMP_WMAVFile
Public file format constant: 'WMAV', Windows Media Audio and Video.
Definition: XMP_Const.h:936
kXMP_OmitPacketWrapper
@ kXMP_OmitPacketWrapper
Omit the XML packet wrapper.
Definition: XMP_Const.h:727
kXMP_IterClassMask
@ kXMP_IterClassMask
The low 8 bits are an enum of what data structure to iterate.
Definition: XMP_Const.h:783
kXMPErr_NoMemory
@ kXMPErr_NoMemory
Generic out-of-memory error.
Definition: XMP_Const.h:1403
kXMPTemplate_ReplaceExistingProperties
@ kXMPTemplate_ReplaceExistingProperties
Perform a Replace operation, add new properties and modify existing ones.
Definition: XMP_Const.h:841
kXMP_IterAliases
@ kXMP_IterAliases
Iterate the global alias table.
Definition: XMP_Const.h:789
kXMP_PropValueIsArray
@ kXMP_PropValueIsArray
Definition: XMP_Const.h:617
kXMPFiles_ForceGivenHandler
@ kXMPFiles_ForceGivenHandler
Force use of the given handler (format), do not even verify the format.
Definition: XMP_Const.h:1185
kXMPUtil_ReplaceOldValues
@ kXMPUtil_ReplaceOldValues
Replace existing values, default is to leave them.
Definition: XMP_Const.h:861
kXMP_PDFFile
@ kXMP_PDFFile
Public file format constant: 'PDF '.
Definition: XMP_Const.h:889
kXMPErr_BadObject
@ kXMPErr_BadObject
Generic bad object error.
Definition: XMP_Const.h:1379
kXMP_WAVFile
@ kXMP_WAVFile
Public file format constant: 'WAV '.
Definition: XMP_Const.h:920
kXMPErrSev_ProcessFatal
@ kXMPErrSev_ProcessFatal
Recovery is not possible, an exception will be thrown, the entire process should be aborted.
Definition: XMP_Const.h:1253
kXMP_AIFFFile
@ kXMP_AIFFFile
Public file format constant: 'AIFF'.
Definition: XMP_Const.h:938
kXMP_HEIFFile
@ kXMP_HEIFFile
Public file format constant: 'HEIF', HEIF file format.
Definition: XMP_Const.h:944
kXMPTemplate_AddNewProperties
@ kXMPTemplate_AddNewProperties
Perform an Add operation, add properties if they don't already exist.
Definition: XMP_Const.h:847
kXMP_CINFile
@ kXMP_CINFile
Public file format constant: 'CIN ', Cineon.
Definition: XMP_Const.h:918
kXMPErr_BadParse
@ kXMPErr_BadParse
XML parsing error (deprecated)
Definition: XMP_Const.h:1421
kXMP_PropHasType
@ kXMP_PropHasType
Implies kXMP_PropHasQualifiers, property has rdf:type.
Definition: XMP_Const.h:607
kXMPErr_BadBlockFormat
@ kXMPErr_BadBlockFormat
A block of a file is ill-formed, e.g. invalid IPTC-IIM in a photo.
Definition: XMP_Const.h:1441
kXMP_IterNamespaces
@ kXMP_IterNamespaces
Iterate the global namespace table.
Definition: XMP_Const.h:792
kXMPFiles_NeedsReadOnlyPacket
@ kXMPFiles_NeedsReadOnlyPacket
The file format needs the XMP packet to be read-only.
Definition: XMP_Const.h:1153
kXMP_JPEGFile
@ kXMP_JPEGFile
Public file format constant: 'JPEG'.
Definition: XMP_Const.h:896
kXMPErr_NoFileHandler
@ kXMPErr_NoFileHandler
No file handler found for format.
Definition: XMP_Const.h:1427
kXMPErr_BadIndex
@ kXMPErr_BadIndex
Bad index parameter.
Definition: XMP_Const.h:1417
kXMPErr_BadOptions
@ kXMPErr_BadOptions
Bad options parameter.
Definition: XMP_Const.h:1415
kXMPFiles_CanExpand
@ kXMPFiles_CanExpand
Can expand XMP or other metadata in an existing file.
Definition: XMP_Const.h:1129
kXMP_SeekFromStart
@ kXMP_SeekFromStart
Definition: XMP_Const.h:876
kXMP_Char32BitBig
@ kXMP_Char32BitBig
32-bit big-endian
Definition: XMP_Const.h:1024
kXMP_EncodeUTF32Big
@ kXMP_EncodeUTF32Big
Use UTF32 big-endian encoding.
Definition: XMP_Const.h:770
kXMPErr_EmptyIterator
@ kXMPErr_EmptyIterator
Empty iterator.
Definition: XMP_Const.h:1457
kXMP_TIFFFile
@ kXMP_TIFFFile
Public file format constant: 'TIFF'.
Definition: XMP_Const.h:900
kXMP_P2File
@ kXMP_P2File
Public file format constant: 'P2 ', a collection not really a single file.
Definition: XMP_Const.h:946
kXMP_XMLFile
@ kXMP_XMLFile
Public file format constant: 'XML '.
Definition: XMP_Const.h:965
kXMP_EncodeUTF32Little
@ kXMP_EncodeUTF32Little
Use UTF13 little-endian encoding.
Definition: XMP_Const.h:773
kXMPErr_BadPNG
@ kXMPErr_BadPNG
PNG format error.
Definition: XMP_Const.h:1475
kXMP_EncodingMask
@ kXMP_EncodingMask
Bit-flag mask for encoding-type bits.
Definition: XMP_Const.h:758
kXMP_EncodeUTF8
@ kXMP_EncodeUTF8
Use UTF8 encoding.
Definition: XMP_Const.h:761
kXMP_AEProjTemplateFile
@ kXMP_AEProjTemplateFile
Adobe application file format constant: 'AET ', After Effects Project Template.
Definition: XMP_Const.h:983
kXMPFiles_HandlerOwnsFile
@ kXMPFiles_HandlerOwnsFile
The file handler does the file open and close.
Definition: XMP_Const.h:1147
kXMPErr_BadTIFF
@ kXMPErr_BadTIFF
TIFF format error.
Definition: XMP_Const.h:1461
kXMP_IterProperties
@ kXMP_IterProperties
Iterate the property tree of a TXMPMeta object.
Definition: XMP_Const.h:786
kXMPErr_UserAbort
@ kXMPErr_UserAbort
Generic user abort error.
Definition: XMP_Const.h:1397
kXMP_CanonXFFile
@ kXMP_CanonXFFile
Public file format constant: 'CNXF', a collection not really a single file.
Definition: XMP_Const.h:958
kXMP_IllustratorFile
@ kXMP_IllustratorFile
Adobe application file format constant: 'AI '.
Definition: XMP_Const.h:977
kXMP_IncludeThumbnailPad
@ kXMP_IncludeThumbnailPad
Include a padding allowance for a thumbnail image.
Definition: XMP_Const.h:739
kXMP_PropArrayIsAlternate
@ kXMP_PropArrayIsAlternate
Implies kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an rdf:Alt container.
Definition: XMP_Const.h:626
kXMP_HTMLFile
@ kXMP_HTMLFile
Public file format constant: 'HTML'.
Definition: XMP_Const.h:963
kXMPErr_BadPSD
@ kXMPErr_BadPSD
PSD format error.
Definition: XMP_Const.h:1465
kXMP_InsertAfterItem
@ kXMP_InsertAfterItem
Option for array item location: Insert a new item after the given index.
Definition: XMP_Const.h:692
kXMP_UseCompactFormat
@ kXMP_UseCompactFormat
Use a compact form of RDF.
Definition: XMP_Const.h:733
kXMP_PropIsStable
@ kXMP_PropIsStable
The value of this property is not derived from the document content.
Definition: XMP_Const.h:653
kXMPErr_BadSchema
@ kXMPErr_BadSchema
Bad schema parameter.
Definition: XMP_Const.h:1411
kXMPFiles_OpenStrictly
@ kXMPFiles_OpenStrictly
Be strict about only attempting to use the designated file handler, no fallback to other handlers.
Definition: XMP_Const.h:1188
kXMPFiles_NeedsLocalFileOpened
@ kXMPFiles_NeedsLocalFileOpened
Definition: XMP_Const.h:1169
kXMP_MOVFile
@ kXMP_MOVFile
Public file format constant: 'MOV ', Quicktime.
Definition: XMP_Const.h:914
kXMP_ReadOnlyPacket
@ kXMP_ReadOnlyPacket
Default is a writeable packet.
Definition: XMP_Const.h:730
kXMPFiles_UpdateSafely
@ kXMPFiles_UpdateSafely
Write into a temporary file and swap for crash safety.
Definition: XMP_Const.h:1210
kXMP_IterJustLeafName
@ kXMP_IterJustLeafName
Return just the leaf part of the path, default is the full path.
Definition: XMP_Const.h:801
kXMPFiles_OpenRepairFile
@ kXMPFiles_OpenRepairFile
Attempt to repair a file opened for update, default is to not open (throw an exception).
Definition: XMP_Const.h:1200
kXMPErr_BadRDF
@ kXMPErr_BadRDF
RDF format error.
Definition: XMP_Const.h:1453
kXMPErr_UnknownException
@ kXMPErr_UnknownException
Generic unknown exception.
Definition: XMP_Const.h:1401
kXMPFiles_CanNotifyProgress
@ kXMPFiles_CanNotifyProgress
The file Handler is capable of notifying progress notifications.
Definition: XMP_Const.h:1162
kXMP_PropHasLang
@ kXMP_PropHasLang
Implies kXMP_PropHasQualifiers, property has xml:lang.
Definition: XMP_Const.h:604
kXMPErr_EnforceFailure
@ kXMPErr_EnforceFailure
Generic enforcement failure.
Definition: XMP_Const.h:1387
kXMP_PropValueOptionsMask
@ kXMP_PropValueOptionsMask
Bit-flag mask for property-value option bits.
Definition: XMP_Const.h:698
kXMP_GIFFile
@ kXMP_GIFFile
Public file format constant: 'GIF '.
Definition: XMP_Const.h:902
kXMPErr_Unknown
@ kXMPErr_Unknown
Generic unknown error.
Definition: XMP_Const.h:1373
kXMP_PropValueIsStruct
@ kXMP_PropValueIsStruct
The value is a structure with nested fields.
Definition: XMP_Const.h:613
kXMPErr_Unimplemented
@ kXMPErr_Unimplemented
Generic unimplemented error.
Definition: XMP_Const.h:1389