KCMS Application Developer's Guide

Signatures

Signatures are 4-byte identifiers used to translate platform definitions to ic* form and to differentiate between attributes and other items in the profile format. Set icSignature as appropriate for your operating system.

icSignature

This icSignature is for the Solaris operating environment. Note the number definitions.

#if defined(sun) || defined(__sun)            /* 32-bit Solaris, SunOS */

 typedef long                        icSignature;

 /*
  * Number definitions
  */

 /* Unsigned Integer Numbers */
 typedef unsigned char                    icUInt8Number;
 typedef unsigned short                    icUInt16Number;
 typedef unsigned long                    icUInt32Number;
 typedef unsigned long                    icUInt64Number[2];

 /* Signed Integer Numbers */
 typedef char                        icInt8Number;
 typedef short                        icInt16Number;
 typedef long                        icInt32Number;
 typedef long                        icInt64Number[2];

 /* Fixed Numbers */
 typedef long                        icS15Fixed16Number;
 typedef        unsigned long            icU16Fixed16Number;
 #endif /* 32-bit Solaris, SunOS */

icTagSignature

The icTagSignature lists the public attributes and sizes in the ICC specification. The attribute icSigProfileSequenceTag is read only and is valid for device link (complete color) profiles only.

typedef enum {
     icSigAToB0Tag                   = 0x41324230L,    /* 'A2B0' */
     icSigAToB1Tag                   = 0x41324231L,    /* 'A2B1' */
     icSigAToB2Tag                   = 0x41324232L,    /* 'A2B2' */
     icSigBlueColorantTag            = 0x6258595AL,    /* 'bXYZ' */
     icSigBlueTRCTag                 = 0x62545243L,    /* 'bTRC' */
     icSigBToA0Tag                   = 0x42324130L,    /* 'B2A0' */
     icSigBToA1Tag                   = 0x42324131L,    /* 'B2A1' */
     icSigBToA2Tag                   = 0x42324132L,    /* 'B2A2' */
     icSigCalibrationDateTimeTag     = 0x63616C74L,    /* 'calt' */
     icSigCharTargetTag              = 0x74617267L,    /* 'targ' */
     icSigCopyrightTag               = 0x63707274L,    /* 'cprt' */
     icSigDeviceMfgDescTag           = 0x646D6E64L,    /* 'dmnd' */
     icSigDeviceModelDescTag         = 0x646D6464L,    /* 'dmdd' */
     icSigGamutTag                   = 0x676d7420L,    /* 'gmt ' */
     icSigGrayTRCTag                 = 0x6b545243L,    /* 'kTRC' */
     icSigGreenColorantTag           = 0x6758595AL,    /* 'gXYZ' */
     icSigGreenTRCTag                = 0x67545243L,    /* 'gTRC' */
     icSigLuminanceTag               = 0x6C756d69L,    /* 'lumi' */
     icSigMeasurementTag             = 0x6D656173L,    /* 'meas' */
     icSigMediaBlackPointTag         = 0x626B7074L,    /* 'bkpt' */
     icSigMediaWhitePointTag         = 0x77747074L,    /* 'wtpt' */
     icSigNamedColorTag              = 0x6E636f6CL,    /* `ncol' 
                                                        * obsolete, use `ncl2' */
     icSigPreview0Tag                = 0x70726530L,    /* 'pre0' */
     icSigPreview1Tag                = 0x70726531L,    /* 'pre1' */
     icSigPreview2Tag                = 0x70726532L,    /* 'pre2' */
     icSigProfileDescriptionTag      = 0x64657363L,    /* 'desc' */
     icSigProfileSequenceDescTag     = 0x70736571L,    /* 'pseq' */
     icSigPs2CRD0Tag                 = 0x70736430L,    /* 'psd0' */                    
     icSigPs2CRD1Tag                 = 0x70736431L,    /* 'psd1' */
     icSigPs2CRD2Tag                 = 0x70736432L,    /* 'psd2' */
     icSigPs2CRD3Tag                 = 0x70736433L,    /* 'psd3' */
     icSigPs2CSATag                  = 0x70733273L,    /* 'ps2s' */
     icSigPs2RenderingIntentTag      = 0x70733269L,    /* 'ps2i' */
     icSigRedColorantTag             = 0x7258595AL,    /* 'rXYZ' */
     icSigRedTRCTag                  = 0x72545243L,    /* 'rTRC' */
     icSigScreeningDescTag           = 0x73637264L,    /* 'scrd' */
     icSigScreeningTag               = 0x7363726EL,    /* 'scrn' */
     icSigTechnologyTag              = 0x74656368L,    /* 'tech' */
     icSigUcrBgTag                   = 0x62666420L,    /* 'bfd ' */
     icSigViewingCondDescTag         = 0x76756564L,    /* 'vued' */
     icSigViewingConditionsTag       = 0x76696577L,    /* 'view' */
     icSigNamedColor2Tag             = 0x6E636C32L,    /* 'ncl2' */
     icSigCrdInfoTag                 = 0x63726469L,    /* 'crdi' */
     icMaxEnumTag                    = 0xFFFFFFFFL     /* enum = 4 bytes max */
 } icTagSignature;

icTagTypeSignature

typedef enum {
     icSigCurveType                  = 0x63757276L,    /* 'curv' */
     icSigDataType                   = 0x64617461L,    /* 'data' */
     icSigDateTimeType               = 0x6474696DL,    /* 'dtim' */
     icSigLut16Type                  = 0x6d667432L,    /* 'mft2' */
     icSigLut8Type                   = 0x6d667431L,    /* 'mft1' */
     icSigMeasurementType            = 0x6D656173L,    /* 'meas' */
     icSigNamedColorType             = 0x6E636f6CL,    /* `ncol' , obsolete, use `ncl2' */
     icSigProfileSequenceDescType    = 0x70736571L,    /* 'pseq' */
     icSigS15Fixed16ArrayType        = 0x73663332L,    /* 'sf32' */
     icSigScreeningType              = 0x7363726EL,    /* 'scrn' */
     icSigSignatureType              = 0x73696720L,    /* 'sig ' */
     icSigTextType                   = 0x74657874L,    /* 'text' */
     icSigTextDescriptionType        = 0x64657363L,    /* 'desc' */
     icSigU16Fixed16ArrayType        = 0x75663332L,    /* 'uf32' */
     icSigUcrBgType                  = 0x62666420L,    /* 'bfd ' */
     icSigUInt16ArrayType            = 0x75693136L,    /* 'ui16' */
     icSigUInt32ArrayType            = 0x75693332L,    /* 'ui32' */
     icSigUInt64ArrayType            = 0x75693634L,    /* 'ui64' */
     icSigUInt8ArrayType             = 0x75693038L,    /* 'ui08' */
     icSigViewingConditionsType      = 0x76696577L,    /* 'view' */
     icSigXYZType                    = 0x58595A20L,    /* 'XYZ ' */
     icSigXYZArrayType               = 0x58595A20L,    /* 'XYZ ' */
     icSigNamedColor2Type            = 0x6E636C32L,    /* 'ncl2' */
     icMaxEnumType                   = 0xFFFFFFFFL     /* enum = 4 bytes max */
 } icTagTypeSignature;

icTechnologySignature

typedef enum {
     icSigDigitalCamera              = 0x6463616DL,    /* 'dcam' */
     icSigFilmScanner                = 0x6673636EL,    /* 'fscn' */
     icSigReflectiveScanner          = 0x7273636EL,    /* 'rscn' */
     icSigInkJetPrinter              = 0x696A6574L,    /* 'ijet' */
     icSigThermalWaxPrinter          = 0x74776178L,    /* 'twax' */
     icSigElectrophotographicPrinter = 0x6570686FL,    /* 'epho' */
     icSigElectrostaticPrinter       = 0x65737461L,    /* 'esta' */
     icSigDyeSublimationPrinter      = 0x64737562L,    /* 'dsub' */
     icSigPhotographicPaperPrinter   = 0x7270686FL,    /* 'rpho' */
     icSigFilmWriter                 = 0x6670726EL,    /* 'fprn' */
     icSigVideoMonitor               = 0x7669646DL,    /* 'vidm' */
     icSigVideoCamera                = 0x76696463L,    /* 'vidc' */
     icSigProjectionTelevision       = 0x706A7476L,    /* 'pjtv' */
     icSigCRTDisplay                 = 0x43525420L,    /* 'CRT ' */
     icSigPMDisplay                  = 0x504D4420L,    /* 'PMD ' */
     icSigAMDisplay                  = 0x414D4420L,    /* 'AMD ' */
     icSigPhotoCD                    = 0x4B504344L,    /* 'KPCD' */
     icSigPhotoImageSetter           = 0x696D6773L,    /* 'imgs' */
     icSigGravure                    = 0x67726176L,    /* 'grav' */
     icSigOffsetLithography          = 0x6F666673L,    /* 'offs' */
     icSigSilkscreen                 = 0x73696C6BL,    /* 'silk' */
     icSigFlexography                = 0x666C6578L,    /* 'flex' */
     icMaxEnumTechnology             = 0xFFFFFFFFL     /* enum = 4 bytes max */
 } icTechnologySignature;