summaryrefslogtreecommitdiff
path: root/xc/include/extensions/XIEprotost.h
diff options
context:
space:
mode:
Diffstat (limited to 'xc/include/extensions/XIEprotost.h')
-rw-r--r--xc/include/extensions/XIEprotost.h1113
1 files changed, 1113 insertions, 0 deletions
diff --git a/xc/include/extensions/XIEprotost.h b/xc/include/extensions/XIEprotost.h
new file mode 100644
index 000000000..8b48251ce
--- /dev/null
+++ b/xc/include/extensions/XIEprotost.h
@@ -0,0 +1,1113 @@
+/* $TOG: XIEprotost.h /main/7 1998/02/09 11:20:23 kaleb $ */
+/******************************************************************************
+
+
+Copyright 1993, 1994, 1998 The Open Group
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+ NOTICE
+
+This software is being provided by AGE Logic, Inc. under the
+following license. By obtaining, using and/or copying this software,
+you agree that you have read, understood, and will comply with these
+terms and conditions:
+
+ Permission to use, copy, modify, distribute and sell this
+ software and its documentation for any purpose and without
+ fee or royalty and to grant others any or all rights granted
+ herein is hereby granted, provided that you agree to comply
+ with the following copyright notice and statements, including
+ the disclaimer, and that the same appears on all copies and
+ derivative works of the software and documentation you make.
+
+ "Copyright 1993, 1994 by AGE Logic, Inc."
+
+ THIS SOFTWARE IS PROVIDED "AS IS". AGE LOGIC MAKES NO
+ REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. By way of
+ example, but not limitation, AGE LOGIC MAKE NO
+ REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS
+ FOR ANY PARTICULAR PURPOSE OR THAT THE SOFTWARE DOES NOT
+ INFRINGE THIRD-PARTY PROPRIETARY RIGHTS. AGE LOGIC
+ SHALL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE. IN NO
+ EVENT SHALL EITHER PARTY BE LIABLE FOR ANY INDIRECT,
+ INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS
+ OF PROFITS, REVENUE, DATA OR USE, INCURRED BY EITHER PARTY OR
+ ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT OR
+ BASED ON A WARRANTY, EVEN IF AGE LOGIC LICENSEES
+ HEREUNDER HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGES.
+
+ The name of AGE Logic, Inc. may not be used in
+ advertising or publicity pertaining to this software without
+ specific, written prior permission from AGE Logic.
+
+ Title to this software shall at all times remain with AGE
+ Logic, Inc.
+
+
+******************************************************************************/
+
+#ifndef _XIEPROTOST_H_
+#define _XIEPROTOST_H_
+
+#include <X11/Xmd.h> /* defines things like CARD32 */
+
+#define Drawable CARD32
+#define Colormap CARD32
+#define GContext CARD32
+
+typedef CARD32 xieTypFloat;
+
+#ifndef WORD64
+
+typedef xieTypFloat xieTypConstant[3];
+
+typedef xieTypFloat xieTypMatrix[9];
+
+#else /* WORD64 */
+
+typedef CARD8 xieTypConstant[12];
+
+typedef CARD8 xieTypMatrix[36];
+
+#endif /* WORD64 */
+
+
+typedef CARD8 xieTypAlignment;
+
+typedef CARD8 xieTypArithmeticOp;
+
+typedef CARD16 xieTypColorAllocTechnique;
+
+typedef CARD32 xieTypColorList;
+
+typedef CARD8 xieTypCompareOp;
+
+typedef CARD16 xieTypConstrainTechnique;
+
+typedef CARD16 xieTypConvertFromRGBTechnique;
+
+typedef CARD16 xieTypConvertToRGBTechnique;
+
+typedef CARD16 xieTypConvolveTechnique;
+
+typedef CARD8 xieTypDataClass;
+
+typedef CARD8 xieTypDataType;
+
+typedef CARD16 xieTypDecodeTechnique;
+
+typedef CARD16 xieTypDitherTechnique;
+
+typedef CARD16 xieTypEncodeTechnique;
+
+typedef CARD32 xieTypPhotospace;
+
+typedef CARD32 xieTypPhotoflo;
+
+typedef struct {
+ union {
+ struct {
+ xieTypPhotospace nameSpace B32;
+ CARD32 floID B32;
+ } immed;
+ struct {
+ CARD32 nameSpace B32;
+ xieTypPhotoflo floID B32;
+ } stored;
+ } u;
+} xieTypExecutable;
+
+typedef CARD8 xieTypExportNotify;
+
+typedef CARD8 xieTypExportState;
+
+typedef CARD16 xieTypGamutTechnique;
+
+typedef CARD16 xieTypGeometryTechnique;
+
+typedef struct {
+ CARD32 value B32;
+ CARD32 count B32;
+} xieTypHistogramData;
+
+typedef CARD16 xieTypHistogramShape;
+
+typedef CARD8 xieTypInterleave;
+
+typedef CARD32 xieTypLevels[3];
+
+typedef CARD32 xieTypLUT;
+
+typedef CARD8 xieTypMathOp;
+
+typedef CARD8 xieTypOrientation;
+
+typedef CARD8 xieTypPhotofloOutcome;
+
+typedef CARD8 xieTypPhotofloState;
+
+typedef CARD32 xieTypPhotomap;
+
+typedef CARD16 xieTypPhototag;
+
+typedef struct {
+ INT32 offsetX B32;
+ INT32 offsetY B32;
+ xieTypPhototag domain B16;
+} xieTypProcessDomain;
+
+typedef struct {
+ INT32 x B32;
+ INT32 y B32;
+ CARD32 width B32;
+ CARD32 height B32;
+} xieTypRectangle;
+
+typedef CARD32 xieTypROI;
+
+typedef CARD8 xieTypServiceClass;
+
+typedef CARD8 xieTypTechniqueGroup;
+
+typedef struct {
+ BOOL needsParam;
+ xieTypTechniqueGroup group;
+ CARD16 number B16;
+ CARD8 speed;
+ CARD8 nameLength;
+ CARD16 pad B16;
+ /* LISTofCARD8 (nameLength) */
+ /* pad (nameLength) */
+} xieTypTechniqueRec;
+
+typedef struct {
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ INT32 dstX B32;
+ INT32 dstY B32;
+} xieTypTile;
+
+typedef CARD8 xieTypTripleofCARD8[3];
+
+typedef CARD16 xieTypTripleofCARD16[3];
+
+typedef CARD32 xieTypTripleofCARD32[3];
+
+typedef CARD16 xieTypWhiteAdjustTechnique;
+
+
+/*
+ * Generic Element
+ */
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+} xieFlo;
+
+/*
+ * Import Elements
+ */
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypDataClass class;
+ xieTypOrientation bandOrder;
+ CARD16 pad B16;
+ CARD32 length0 B32;
+ CARD32 length1 B32;
+ CARD32 length2 B32;
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+} xieFloImportClientLUT;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ BOOL notify;
+ xieTypDataClass class;
+ CARD16 pad B16;
+ CARD32 width0 B32;
+ CARD32 width1 B32;
+ CARD32 width2 B32;
+ CARD32 height0 B32;
+ CARD32 height1 B32;
+ CARD32 height2 B32;
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+ xieTypDecodeTechnique decodeTechnique B16;
+ CARD16 lenParams B16;
+ /* Technique dependent decode params */
+} xieFloImportClientPhoto;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ CARD32 rectangles B32;
+} xieFloImportClientROI;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ Drawable drawable B32;
+ INT16 srcX B16;
+ INT16 srcY B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 fill B32;
+ BOOL notify;
+ CARD8 pad[3];
+} xieFloImportDrawable;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ Drawable drawable B32;
+ INT16 srcX B16;
+ INT16 srcY B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 fill B32;
+ CARD32 bitPlane B32;
+ BOOL notify;
+ CARD8 pad[3];
+} xieFloImportDrawablePlane;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypLUT lut B32;
+} xieFloImportLUT;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhotomap photomap B32;
+ BOOL notify;
+ CARD8 pad[3];
+} xieFloImportPhotomap;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypROI roi B32;
+} xieFloImportROI;
+
+
+/*
+ * Process Elements
+ */
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src1 B16;
+ xieTypPhototag src2 B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ xieTypArithmeticOp operator;
+ CARD8 bandMask;
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+} xieFloArithmetic;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src1 B16;
+ xieTypPhototag src2 B16;
+ xieTypPhototag src3 B16;
+ CARD16 pad B16;
+} xieFloBandCombine;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ CARD32 levels B32;
+ xieTypFloat bias B32;
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+} xieFloBandExtract;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD8 bandNumber;
+ CARD8 pad;
+} xieFloBandSelect;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src1 B16;
+ xieTypPhototag src2 B16;
+ xieTypPhototag alpha B16;
+ CARD16 pad1 B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ CARD8 bandMask;
+ CARD8 pad2;
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+ xieTypFloat alphaConst B32;
+} xieFloBlend;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src1 B16;
+ xieTypPhototag src2 B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ xieTypCompareOp operator;
+ BOOL combine;
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+ CARD8 bandMask;
+ CARD8 pad[3];
+} xieFloCompare;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+ xieTypConstrainTechnique constrain B16;
+ CARD16 lenParams B16;
+ /* Technique dependent constrain params */
+} xieFloConstrain;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ xieTypDataClass class;
+ CARD8 precision;
+ Colormap colormap B32;
+} xieFloConvertFromIndex;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ xieTypConvertFromRGBTechnique convert B16;
+ CARD16 lenParams B16;
+ /* Technique dependent conversion params */
+} xieFloConvertFromRGB;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ BOOL notify;
+ CARD8 pad;
+ Colormap colormap B32;
+ xieTypColorList colorList B32;
+ xieTypColorAllocTechnique colorAlloc B16;
+ CARD16 lenParams B16;
+ /* Technique dependent color alloc params */
+} xieFloConvertToIndex;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ xieTypConvertToRGBTechnique convert B16;
+ CARD16 lenParams B16;
+ /* Technique dependent conversion params */
+} xieFloConvertToRGB;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ CARD8 bandMask;
+ CARD8 kernelSize;
+ xieTypConvolveTechnique convolve B16;
+ CARD16 lenParams B16;
+ /* LISTofFloat (kernelSize^2) */
+ /* Technique dependent convolve params */
+} xieFloConvolve;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD8 bandMask;
+ CARD8 pad;
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+ xieTypDitherTechnique dither B16;
+ CARD16 lenParams B16;
+ /* Technique dependent dither params */
+} xieFloDither;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD8 bandMask;
+ CARD8 pad;
+ CARD32 width B32;
+ CARD32 height B32;
+ xieTypFloat a B32;
+ xieTypFloat b B32;
+ xieTypFloat c B32;
+ xieTypFloat d B32;
+ xieTypFloat tx B32;
+ xieTypFloat ty B32;
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+ xieTypGeometryTechnique sample B16;
+ CARD16 lenParams B16;
+ /* Technique dependent sample params */
+} xieFloGeometry;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src1 B16;
+ xieTypPhototag src2 B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ CARD8 operator;
+ CARD8 bandMask;
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+} xieFloLogical;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad1 B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ CARD16 pad2 B16;
+ xieTypHistogramShape shape B16;
+ CARD16 lenParams B16;
+ /* Technique dependent shape params */
+} xieFloMatchHistogram;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ xieTypMathOp operator;
+ CARD8 bandMask;
+} xieFloMath;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ CARD16 numTiles B16;
+ CARD16 pad B16;
+ CARD32 width B32;
+ CARD32 height B32;
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+ /* LISTofTile (numTiles) */
+} xieFloPasteUp;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ xieTypPhototag lut B16;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ CARD8 bandMask;
+ CARD8 pad;
+} xieFloPoint;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+} xieFloUnconstrain;
+
+
+/*
+ * Export Elements
+ */
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ xieTypExportNotify notify;
+ CARD8 pad1;
+ INT32 domainOffsetX B32;
+ INT32 domainOffsetY B32;
+ xieTypPhototag domainPhototag B16;
+ CARD16 pad2 B16;
+} xieFloExportClientHistogram;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ xieTypExportNotify notify;
+ xieTypOrientation bandOrder;
+ CARD32 start0 B32;
+ CARD32 start1 B32;
+ CARD32 start2 B32;
+ CARD32 length0 B32;
+ CARD32 length1 B32;
+ CARD32 length2 B32;
+} xieFloExportClientLUT;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ xieTypExportNotify notify;
+ CARD8 pad;
+ xieTypEncodeTechnique encodeTechnique B16;
+ CARD16 lenParams B16;
+ /* Technique dependent encode params */
+} xieFloExportClientPhoto;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ xieTypExportNotify notify;
+ CARD8 pad;
+} xieFloExportClientROI;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ INT16 dstX B16;
+ INT16 dstY B16;
+ CARD16 pad B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xieFloExportDrawable;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ INT16 dstX B16;
+ INT16 dstY B16;
+ CARD16 pad B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xieFloExportDrawablePlane;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD8 merge;
+ CARD8 pad;
+ xieTypLUT lut B32;
+ CARD32 start0 B32;
+ CARD32 start1 B32;
+ CARD32 start2 B32;
+} xieFloExportLUT;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ xieTypPhotomap photomap B32;
+ xieTypEncodeTechnique encodeTechnique B16;
+ CARD16 lenParams B16;
+ /* Technique dependent encode params */
+} xieFloExportPhotomap;
+
+typedef struct {
+ CARD16 elemType B16;
+ CARD16 elemLength B16;
+ xieTypPhototag src B16;
+ CARD16 pad B16;
+ xieTypROI roi B32;
+} xieFloExportROI;
+
+
+/*
+ * Technique Parameters
+ */
+
+typedef struct {
+ xieTypFloat inputLow0 B32;
+ xieTypFloat inputLow1 B32;
+ xieTypFloat inputLow2 B32;
+ xieTypFloat inputHigh0 B32;
+ xieTypFloat inputHigh1 B32;
+ xieTypFloat inputHigh2 B32;
+ CARD32 outputLow0 B32;
+ CARD32 outputLow1 B32;
+ CARD32 outputLow2 B32;
+ CARD32 outputHigh0 B32;
+ CARD32 outputHigh1 B32;
+ CARD32 outputHigh2 B32;
+} xieTecClipScale;
+
+typedef struct {
+ CARD32 fill B32;
+} xieTecColorAllocAll;
+
+typedef struct {
+ xieTypFloat matchLimit B32;
+ xieTypFloat grayLimit B32;
+} xieTecColorAllocMatch;
+
+typedef struct {
+ CARD32 maxCells B32;
+} xieTecColorAllocRequantize;
+
+typedef struct {
+ xieTypFloat matrix00 B32;
+ xieTypFloat matrix01 B32;
+ xieTypFloat matrix02 B32;
+ xieTypFloat matrix10 B32;
+ xieTypFloat matrix11 B32;
+ xieTypFloat matrix12 B32;
+ xieTypFloat matrix20 B32;
+ xieTypFloat matrix21 B32;
+ xieTypFloat matrix22 B32;
+ xieTypWhiteAdjustTechnique whiteAdjusted B16;
+ CARD16 lenParams B16;
+ /* Technique dependent white params */
+} xieTecRGBToCIELab, xieTecRGBToCIEXYZ;
+
+typedef struct {
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+ xieTypFloat lumaRed B32;
+ xieTypFloat lumaGreen B32;
+ xieTypFloat lumaBlue B32;
+ xieTypFloat bias0 B32;
+ xieTypFloat bias1 B32;
+ xieTypFloat bias2 B32;
+} xieTecRGBToYCbCr;
+
+typedef struct {
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+ xieTypFloat lumaRed B32;
+ xieTypFloat lumaGreen B32;
+ xieTypFloat lumaBlue B32;
+ xieTypFloat scale B32;
+} xieTecRGBToYCC;
+
+typedef struct {
+ xieTypFloat matrix00 B32;
+ xieTypFloat matrix01 B32;
+ xieTypFloat matrix02 B32;
+ xieTypFloat matrix10 B32;
+ xieTypFloat matrix11 B32;
+ xieTypFloat matrix12 B32;
+ xieTypFloat matrix20 B32;
+ xieTypFloat matrix21 B32;
+ xieTypFloat matrix22 B32;
+ xieTypWhiteAdjustTechnique whiteAdjusted B16;
+ CARD16 lenWhiteParams B16;
+ xieTypGamutTechnique gamutCompress B16;
+ CARD16 lenGamutParams B16;
+ /* Technique dependent white params */
+ /* Technique dependent gamut params */
+} xieTecCIELabToRGB, xieTecCIEXYZToRGB;
+
+typedef struct {
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+ xieTypFloat lumaRed B32;
+ xieTypFloat lumaGreen B32;
+ xieTypFloat lumaBlue B32;
+ xieTypFloat bias0 B32;
+ xieTypFloat bias1 B32;
+ xieTypFloat bias2 B32;
+ xieTypGamutTechnique gamutCompress B16;
+ CARD16 lenGamutParams B16;
+ /* Technique dependent gamut params */
+} xieTecYCbCrToRGB;
+
+typedef struct {
+ CARD32 levels0 B32;
+ CARD32 levels1 B32;
+ CARD32 levels2 B32;
+ xieTypFloat lumaRed B32;
+ xieTypFloat lumaGreen B32;
+ xieTypFloat lumaBlue B32;
+ xieTypFloat scale B32;
+ xieTypGamutTechnique gamutCompress B16;
+ CARD16 lenGamutParams B16;
+ /* Technique dependent gamut params */
+} xieTecYCCToRGB;
+
+typedef struct {
+ xieTypFloat constant0 B32;
+ xieTypFloat constant1 B32;
+ xieTypFloat constant2 B32;
+} xieTecConvolveConstant;
+
+typedef struct {
+ xieTypOrientation fillOrder;
+ xieTypOrientation pixelOrder;
+ CARD8 pixelStride;
+ CARD8 leftPad;
+ CARD8 scanlinePad;
+ CARD8 pad[3];
+} xieTecDecodeUncompressedSingle;
+
+typedef struct {
+ CARD8 leftPad[3];
+ xieTypOrientation fillOrder;
+ CARD8 pixelStride[3];
+ xieTypOrientation pixelOrder;
+ CARD8 scanlinePad[3];
+ xieTypOrientation bandOrder;
+ xieTypInterleave interleave;
+ CARD8 pad[3];
+} xieTecDecodeUncompressedTriple;
+
+typedef struct {
+ xieTypOrientation encodedOrder;
+ BOOL normal;
+ BOOL radiometric;
+ CARD8 pad;
+} xieTecDecodeG31D, xieTecDecodeG32D, xieTecDecodeG42D,
+ xieTecDecodeTIFF2;
+
+typedef struct {
+ xieTypOrientation encodedOrder;
+ BOOL normal;
+ CARD16 pad B16;
+} xieTecDecodeTIFFPackBits;
+
+typedef struct {
+ xieTypInterleave interleave;
+ xieTypOrientation bandOrder;
+ BOOL upSample;
+ CARD8 pad;
+} xieTecDecodeJPEGBaseline;
+
+typedef struct {
+ xieTypInterleave interleave;
+ xieTypOrientation bandOrder;
+ CARD16 pad B16;
+} xieTecDecodeJPEGLossless;
+
+typedef struct {
+ CARD8 thresholdOrder;
+ CARD8 pad[3];
+} xieTecDitherOrdered;
+
+typedef struct {
+ CARD8 preference;
+ CARD8 pad[3];
+} xieTecEncodeServerChoice;
+
+typedef struct {
+ xieTypOrientation fillOrder;
+ xieTypOrientation pixelOrder;
+ CARD8 pixelStride;
+ CARD8 scanlinePad;
+} xieTecEncodeUncompressedSingle;
+
+typedef struct {
+ CARD8 pixelStride[3];
+ xieTypOrientation pixelOrder;
+ CARD8 scanlinePad[3];
+ xieTypOrientation fillOrder;
+ xieTypOrientation bandOrder;
+ xieTypInterleave interleave;
+ CARD16 pad B16;
+} xieTecEncodeUncompressedTriple;
+
+typedef struct {
+ xieTypOrientation encodedOrder;
+ BOOL alignEol;
+ BOOL radiometric;
+ CARD8 pad;
+} xieTecEncodeG31D;
+
+typedef struct {
+ xieTypOrientation encodedOrder;
+ BOOL alignEol;
+ BOOL radiometric;
+ BOOL uncompressed;
+ CARD32 kFactor B32;
+} xieTecEncodeG32D;
+
+typedef struct {
+ xieTypOrientation encodedOrder;
+ BOOL radiometric;
+ BOOL uncompressed;
+ CARD8 pad;
+} xieTecEncodeG42D;
+
+typedef struct {
+ xieTypInterleave interleave;
+ xieTypOrientation bandOrder;
+ CARD8 horizontalSamples[3];
+ CARD8 verticalSamples[3];
+ CARD16 lenQtable B16; /* multiple of 4 */
+ CARD16 lenACtable B16; /* multiple of 4 */
+ CARD16 lenDCtable B16; /* multiple of 4 */
+ CARD16 pad B16;
+ /* LISTofCARD8 (Qtable) */
+ /* LISTofCARD8 (ACtable) */
+ /* LISTofCARD8 (DCtable) */
+} xieTecEncodeJPEGBaseline;
+
+typedef struct {
+ xieTypInterleave interleave;
+ xieTypOrientation bandOrder;
+ CARD16 lenTable B16; /* multiple of 4 */
+ CARD8 predictor[3];
+ CARD8 pad;
+ /* LISTofCARD8 (table) */
+} xieTecEncodeJPEGLossless;
+
+typedef struct {
+ xieTypOrientation encodedOrder;
+ BOOL radiometric;
+ CARD16 pad B16;
+} xieTecEncodeTIFF2;
+
+typedef struct {
+ xieTypOrientation encodedOrder;
+ CARD8 pad[3];
+} xieTecEncodeTIFFPackBits;
+
+typedef struct {
+ INT16 simple B16;
+ CARD16 pad B16;
+} xieTecGeomAntialiasByArea;
+
+typedef struct {
+ INT16 kernelSize B16;
+ CARD16 pad B16;
+} xieTecGeomAntialiasByLowpass;
+
+typedef struct {
+ CARD8 radius;
+ BOOL simple;
+ CARD16 pad B16;
+ xieTypFloat sigma B32;
+ xieTypFloat normalize B32;
+} xieTecGeomGaussian;
+
+typedef struct {
+ CARD8 modify;
+ CARD8 pad[3];
+} xieTecGeomNearestNeighbor;
+
+typedef struct {
+ xieTypFloat mean B32;
+ xieTypFloat sigma B32;
+} xieTecHistogramGaussian;
+
+typedef struct {
+ BOOL shapeFactor;
+ CARD8 pad[3];
+ xieTypFloat constant B32;
+} xieTecHistogramHyperbolic;
+
+typedef struct {
+ xieTypFloat whitePoint0 B32;
+ xieTypFloat whitePoint1 B32;
+ xieTypFloat whitePoint2 B32;
+} xieTecWhiteAdjustCIELabShift;
+
+
+/*
+ * SIZEOF values
+ */
+#define sz_xieTypAlignment 1
+#define sz_xieTypArithmeticOp 1
+#define sz_xieTypColorAllocTechnique 2
+#define sz_xieTypColorList 4
+#define sz_xieTypCompareOp 1
+#define sz_xieTypConstant 12
+#define sz_xieTypConstrainTechnique 2
+#define sz_xieTypConvertFromRGBTechnique 2
+#define sz_xieTypConvertToRGBTechnique 2
+#define sz_xieTypConvolveTechnique 2
+#define sz_xieTypDataClass 1
+#define sz_xieTypDataType 1
+#define sz_xieTypDecodeTechnique 2
+#define sz_xieTypDitherTechnique 2
+#define sz_xieTypEncodeTechnique 2
+#define sz_xieTypPhotospace 4
+#define sz_xieTypPhotoflo 4
+#define sz_xieTypExecutable 8
+#define sz_xieTypExportNotify 1
+#define sz_xieTypExportState 1
+#define sz_xieTypFloat 4
+#define sz_xieTypGamutTechnique 2
+#define sz_xieTypGeometryTechnique 2
+#define sz_xieTypHistogramData 8
+#define sz_xieTypHistogramShape 2
+#define sz_xieTypInterleave 1
+#define sz_xieTypLevels 12
+#define sz_xieTypLUT 4
+#define sz_xieTypMathOp 1
+#define sz_xieTypMatrix 36
+#define sz_xieTypOrientation 1
+#define sz_xieTypPhotofloOutcome 1
+#define sz_xieTypPhotofloState 1
+#define sz_xieTypPhotomap 4
+#define sz_xieTypPhototag 2
+#define sz_xieTypProcessDomain 12
+#define sz_xieTypRectangle 16
+#define sz_xieTypROI 4
+#define sz_xieTypServiceClass 1
+#define sz_xieTypTechniqueGroup 1
+#define sz_xieTypTechniqueRec 8
+#define sz_xieTypTile 12
+#define sz_xieTypTripleofCARD8 3
+#define sz_xieTypTripleofCARD16 6
+#define sz_xieTypTripleofCARD32 12
+#define sz_xieTypWhiteAdjustTechnique 2
+#define sz_xieFloImportClientLUT 32
+#define sz_xieFloImportClientPhoto 48
+#define sz_xieFloImportClientROI 8
+#define sz_xieFloImportDrawable 24
+#define sz_xieFloImportDrawablePlane 28
+#define sz_xieFloImportLUT 8
+#define sz_xieFloImportPhotomap 12
+#define sz_xieFloImportROI 8
+#define sz_xieFloArithmetic 32
+#define sz_xieFloBandCombine 12
+#define sz_xieFloBandExtract 28
+#define sz_xieFloBandSelect 8
+#define sz_xieFloBlend 40
+#define sz_xieFloCompare 36
+#define sz_xieFloConstrain 24
+#define sz_xieFloConvertFromIndex 12
+#define sz_xieFloConvertFromRGB 12
+#define sz_xieFloConvertToIndex 20
+#define sz_xieFloConvertToRGB 12
+#define sz_xieFloConvolve 24
+#define sz_xieFloDither 24
+#define sz_xieFloGeometry 56
+#define sz_xieFloLogical 32
+#define sz_xieFloMatchHistogram 24
+#define sz_xieFloMath 20
+#define sz_xieFloPasteUp 28
+#define sz_xieFloPoint 20
+#define sz_xieFloUnconstrain 8
+#define sz_xieFloExportClientHistogram 20
+#define sz_xieFloExportClientLUT 32
+#define sz_xieFloExportClientPhoto 12
+#define sz_xieFloExportClientROI 8
+#define sz_xieFloExportDrawable 20
+#define sz_xieFloExportDrawablePlane 20
+#define sz_xieFloExportLUT 24
+#define sz_xieFloExportPhotomap 16
+#define sz_xieFloExportROI 12
+#define sz_xieTecColorAllocAll 4
+#define sz_xieTecColorAllocMatch 8
+#define sz_xieTecColorAllocRequantize 4
+#define sz_xieTecClipScale 48
+#define sz_xieTecHardClip 0
+#define sz_xieTecRGBToCIELab 40
+#define sz_xieTecRGBToCIEXYZ 40
+#define sz_xieTecRGBToYCbCr 36
+#define sz_xieTecRGBToYCC 28
+#define sz_xieTecYCbCrToRGB 40
+#define sz_xieTecYCCToRGB 32
+#define sz_xieTecCIELabToRGB 44
+#define sz_xieTecCIEXYZToRGB 44
+#define sz_xieTecConvolveConstant 12
+#define sz_xieTecConvolveReplicate 0
+#define sz_xieTecDecodeUncompressedSingle 8
+#define sz_xieTecDecodeUncompressedTriple 16
+#define sz_xieTecDecodeG31D 4
+#define sz_xieTecDecodeG32D 4
+#define sz_xieTecDecodeG42D 4
+#define sz_xieTecDecodeTIFF2 4
+#define sz_xieTecDecodeTIFFPackBits 4
+#define sz_xieTecDecodeJPEGBaseline 4
+#define sz_xieTecDecodeJPEGLossless 4
+#define sz_xieTecDitherOrdered 4
+#define sz_xieTecDitherErrorDiffusion 4
+#define sz_xieTecEncodeServerChoice 4
+#define sz_xieTecEncodeUncompressedSingle 4
+#define sz_xieTecEncodeUncompressedTriple 12
+#define sz_xieTecEncodeG31D 4
+#define sz_xieTecEncodeG32D 8
+#define sz_xieTecEncodeG42D 4
+#define sz_xieTecEncodeJPEGBaseline 16
+#define sz_xieTecEncodeJPEGLossless 8
+#define sz_xieTecEncodeTIFF2 4
+#define sz_xieTecEncodeTIFFPackBits 4
+#define sz_xieTecGamutNone 0
+#define sz_xieTecGamutClipRGB 0
+#define sz_xieTecGeomAntialias 0
+#define sz_xieTecGeomAntialiasByArea 4
+#define sz_xieTecGeomAntialiasByLowpass 4
+#define sz_xieTecGeomBilinearInterpolation 0
+#define sz_xieTecGeomGaussian 12
+#define sz_xieTecGeomNearestNeighbor 4
+#define sz_xieTecHistogramFlat 0
+#define sz_xieTecHistogramGaussian 8
+#define sz_xieTecHistogramHyperbolic 8
+#define sz_xieTecWhiteAdjustNone 0
+#define sz_xieTecWhiteAdjustCIELabShift 12
+
+#undef Drawable
+#undef Colormap
+#undef GContext
+
+#endif /* _XIEPROTOST_H_ */