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;