125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Raster file definitions for CUPS.
325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann *
425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Copyright 2007-2016 by Apple Inc.
525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Copyright 1997-2006 by Easy Software Products.
625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann *
725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * This file is part of the CUPS Imaging library.
825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann *
925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * These coded instructions, statements, and computer programs are the
1025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * property of Apple Inc. and are protected by Federal copyright
1125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * law.  Distribution and use rights are outlined in the file "LICENSE.txt"
1225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * which should have been included with this file.  If this file is
132447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann * missing or damaged, see the license at "http://www.cups.org/".
1425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann *
1525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * This file is subject to the Apple OS-Developed Software exception.
1625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
1725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
1825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#ifndef _CUPS_RASTER_H_
1925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define _CUPS_RASTER_H_
2025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
2125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
2225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Include necessary headers...
2325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
2425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
2525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  include "cups.h"
2625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
2725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
2825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  ifdef __cplusplus
2925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern "C" {
3025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  endif /* __cplusplus */
3125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
3225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
3325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Every non-PostScript printer driver that supports raster images
3425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * should use the application/vnd.cups-raster image file format.
3525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Since both the PostScript RIP (pstoraster, based on GNU/GPL
3625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Ghostscript) and Image RIP (imagetoraster, located in the filter
3725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * directory) use it, using this format saves you a lot of work.
3825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Also, the PostScript RIP passes any printer options that are in
3925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * a PS file to your driver this way as well...
4025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
4125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
4225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
4325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Constants...
4425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
4525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
4625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_SYNC	0x52615333	/* RaS3 */
4725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_REVSYNC	0x33536152	/* 3SaR */
4825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
4925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_SYNCv1	0x52615374	/* RaSt */
5025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_REVSYNCv1	0x74536152	/* tSaR */
5125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
5225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_SYNCv2	0x52615332	/* RaS2 */
5325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_REVSYNCv2	0x32536152	/* 2SaR */
5425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
552447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann#  define CUPS_RASTER_SYNCapple	0x554E4952	/* UNIR */
562447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann#  define CUPS_RASTER_REVSYNCapple 0x52494E55	/* RINU */
572447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann
5825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_SYNC_PWG	CUPS_RASTER_SYNCv2
5925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
6025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
6125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * The following definition can be used to determine if the
6225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * colorimetric colorspaces (CIEXYZ, CIELAB, and ICCn) are
6325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * defined...
6425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
6525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
6625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_HAVE_COLORIMETRIC 1
6725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
6825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
6925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * The following definition can be used to determine if the
7025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * device colorspaces (DEVICEn) are defined...
7125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
7225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
7325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_HAVE_DEVICE 1
7425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
7525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
7625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * The following definition can be used to determine if PWG Raster is supported.
7725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
7825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
7925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_HAVE_PWGRASTER 1
8025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
8125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
822447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann * The following definition can be used to determine if Apple Raster is
832447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann * supported (beta).
842447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann */
852447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann
862447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann#  define CUPS_RASTER_HAVE_APPLERASTER 1
872447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann
882447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann/*
8925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * The following PWG 5102.4 definitions specify indices into the
9025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * cupsInteger[] array in the raster header.
9125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
9225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
9325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_TotalPageCount	0
9425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_CrossFeedTransform	1
9525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_FeedTransform		2
9625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_ImageBoxLeft		3
9725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_ImageBoxTop		4
9825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_ImageBoxRight		5
9925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_ImageBoxBottom	6
10025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_AlternatePrimary	7
10125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_PrintQuality		8
10225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_VendorIdentifier	14
10325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  define CUPS_RASTER_PWG_VendorLength		15
10425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
10525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
10625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
10725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
10825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
10925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Types...
11025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
11125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
11225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_adv_e			/**** AdvanceMedia attribute values ****/
11325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
11425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ADVANCE_NONE = 0,		/* Never advance the roll */
11525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ADVANCE_FILE = 1,		/* Advance the roll after this file */
11625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ADVANCE_JOB = 2,			/* Advance the roll after this job */
11725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ADVANCE_SET = 3,			/* Advance the roll after this set */
11825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ADVANCE_PAGE = 4			/* Advance the roll after this page */
11925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_adv_t;
12025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
12125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_bool_e		/**** Boolean type ****/
12225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
12325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_FALSE = 0,			/* Logical false */
12425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_TRUE = 1				/* Logical true */
12525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_bool_t;
12625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
12725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_cspace_e		/**** cupsColorSpace attribute values ****/
12825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
12925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_W = 0,			/* Luminance (DeviceGray, gamma 2.2 by default) */
13025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_RGB = 1,			/* Red, green, blue (DeviceRGB, sRGB by default) */
13125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_RGBA = 2,			/* Red, green, blue, alpha (DeviceRGB, sRGB by default) */
13225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_K = 3,			/* Black (DeviceK) */
13325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_CMY = 4,			/* Cyan, magenta, yellow (DeviceCMY) */
13425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_YMC = 5,			/* Yellow, magenta, cyan @deprecated@ */
13525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_CMYK = 6,			/* Cyan, magenta, yellow, black (DeviceCMYK) */
13625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_YMCK = 7,			/* Yellow, magenta, cyan, black @deprecated@ */
13725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_KCMY = 8,			/* Black, cyan, magenta, yellow @deprecated@ */
13825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_KCMYcm = 9,		/* Black, cyan, magenta, yellow, light-cyan, light-magenta @deprecated@ */
13925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_GMCK = 10,		/* Gold, magenta, yellow, black @deprecated@ */
14025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_GMCS = 11,		/* Gold, magenta, yellow, silver @deprecated@ */
14125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_WHITE = 12,		/* White ink (as black) @deprecated@ */
14225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_GOLD = 13,		/* Gold foil @deprecated@ */
14325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_SILVER = 14,		/* Silver foil @deprecated@ */
14425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
14525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_CIEXYZ = 15,		/* CIE XYZ @since CUPS 1.1.19/macOS 10.3@ */
14625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_CIELab = 16,		/* CIE Lab @since CUPS 1.1.19/macOS 10.3@ */
14725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_RGBW = 17,		/* Red, green, blue, white (DeviceRGB, sRGB by default) @since CUPS 1.2/macOS 10.5@ */
14825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_SW = 18,			/* Luminance (gamma 2.2) @since CUPS 1.4.5@ */
14925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_SRGB = 19,		/* Red, green, blue (sRGB) @since CUPS 1.4.5@ */
15025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ADOBERGB = 20,		/* Red, green, blue (Adobe RGB) @since CUPS 1.4.5@ */
15125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
15225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC1 = 32,		/* ICC-based, 1 color @since CUPS 1.1.19/macOS 10.3@ */
15325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC2 = 33,		/* ICC-based, 2 colors @since CUPS 1.1.19/macOS 10.3@ */
15425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC3 = 34,		/* ICC-based, 3 colors @since CUPS 1.1.19/macOS 10.3@ */
15525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC4 = 35,		/* ICC-based, 4 colors @since CUPS 1.1.19/macOS 10.3@ */
15625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC5 = 36,		/* ICC-based, 5 colors @since CUPS 1.1.19/macOS 10.3@ */
15725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC6 = 37,		/* ICC-based, 6 colors @since CUPS 1.1.19/macOS 10.3@ */
15825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC7 = 38,		/* ICC-based, 7 colors @since CUPS 1.1.19/macOS 10.3@ */
15925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC8 = 39,		/* ICC-based, 8 colors @since CUPS 1.1.19/macOS 10.3@ */
16025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICC9 = 40,		/* ICC-based, 9 colors @since CUPS 1.1.19/macOS 10.3@ */
16125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICCA = 41,		/* ICC-based, 10 colors @since CUPS 1.1.19/macOS 10.3@ */
16225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICCB = 42,		/* ICC-based, 11 colors @since CUPS 1.1.19/macOS 10.3@ */
16325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICCC = 43,		/* ICC-based, 12 colors @since CUPS 1.1.19/macOS 10.3@ */
16425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICCD = 44,		/* ICC-based, 13 colors @since CUPS 1.1.19/macOS 10.3@ */
16525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICCE = 45,		/* ICC-based, 14 colors @since CUPS 1.1.19/macOS 10.3@ */
16625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_ICCF = 46,		/* ICC-based, 15 colors @since CUPS 1.1.19/macOS 10.3@ */
16725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
16825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE1 = 48,		/* DeviceN, 1 color @since CUPS 1.4.5@ */
16925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE2 = 49,		/* DeviceN, 2 colors @since CUPS 1.4.5@ */
17025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE3 = 50,		/* DeviceN, 3 colors @since CUPS 1.4.5@ */
17125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE4 = 51,		/* DeviceN, 4 colors @since CUPS 1.4.5@ */
17225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE5 = 52,		/* DeviceN, 5 colors @since CUPS 1.4.5@ */
17325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE6 = 53,		/* DeviceN, 6 colors @since CUPS 1.4.5@ */
17425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE7 = 54,		/* DeviceN, 7 colors @since CUPS 1.4.5@ */
17525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE8 = 55,		/* DeviceN, 8 colors @since CUPS 1.4.5@ */
17625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICE9 = 56,		/* DeviceN, 9 colors @since CUPS 1.4.5@ */
17725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICEA = 57,		/* DeviceN, 10 colors @since CUPS 1.4.5@ */
17825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICEB = 58,		/* DeviceN, 11 colors @since CUPS 1.4.5@ */
17925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICEC = 59,		/* DeviceN, 12 colors @since CUPS 1.4.5@ */
18025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICED = 60,		/* DeviceN, 13 colors @since CUPS 1.4.5@ */
18125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICEE = 61,		/* DeviceN, 14 colors @since CUPS 1.4.5@ */
18225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CSPACE_DEVICEF = 62		/* DeviceN, 15 colors @since CUPS 1.4.5@ */
18325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_cspace_t;
18425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
18525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_cut_e			/**** CutMedia attribute values ****/
18625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
18725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CUT_NONE = 0,			/* Never cut the roll */
18825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CUT_FILE = 1,			/* Cut the roll after this file */
18925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CUT_JOB = 2,			/* Cut the roll after this job */
19025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CUT_SET = 3,			/* Cut the roll after this set */
19125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_CUT_PAGE = 4			/* Cut the roll after this page */
19225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_cut_t;
19325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
19425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_edge_e		/**** LeadingEdge attribute values ****/
19525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
19625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_EDGE_TOP = 0,			/* Leading edge is the top of the page */
19725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_EDGE_RIGHT = 1,			/* Leading edge is the right of the page */
19825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_EDGE_BOTTOM = 2,			/* Leading edge is the bottom of the page */
19925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_EDGE_LEFT = 3			/* Leading edge is the left of the page */
20025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_edge_t;
20125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
20225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_jog_e			/**** Jog attribute values ****/
20325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
20425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_JOG_NONE = 0,			/* Never move pages */
20525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_JOG_FILE = 1,			/* Move pages after this file */
20625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_JOG_JOB = 2,			/* Move pages after this job */
20725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_JOG_SET = 3			/* Move pages after this set */
20825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_jog_t;
20925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
21025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannenum cups_mode_e			/**** cupsRasterOpen modes ****/
21125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
21225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_RASTER_READ = 0,			/* Open stream for reading */
21325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_RASTER_WRITE = 1,		/* Open stream for writing */
21425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_RASTER_WRITE_COMPRESSED = 2,	/* Open stream for compressed writing @since CUPS 1.3/macOS 10.5@ */
2152447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann  CUPS_RASTER_WRITE_PWG = 3,		/* Open stream for compressed writing in PWG Raster mode @since CUPS 1.5/macOS 10.7@ */
2162447373f182dbfeb47fb86c0f5a6ac5773c65ac2Philip P. Moltmann  CUPS_RASTER_WRITE_APPLE = 4		/* Open stream for compressed writing in AppleRaster mode (beta) @private@ */
21725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann};
21825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
21925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_mode_e cups_mode_t;	/**** cupsRasterOpen modes ****/
22025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
22125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_order_e		/**** cupsColorOrder attribute values ****/
22225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
22325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ORDER_CHUNKED = 0,		/* CMYK CMYK CMYK ... */
22425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ORDER_BANDED = 1,		/* CCC MMM YYY KKK ... */
22525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ORDER_PLANAR = 2			/* CCC ... MMM ... YYY ... KKK ... */
22625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_order_t;
22725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
22825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef enum cups_orient_e		/**** Orientation attribute values ****/
22925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
23025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ORIENT_0 = 0,			/* Don't rotate the page */
23125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ORIENT_90 = 1,			/* Rotate the page counter-clockwise */
23225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ORIENT_180 = 2,			/* Turn the page upside down */
23325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  CUPS_ORIENT_270 = 3			/* Rotate the page clockwise */
23425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_orient_t;
23525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
23625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
23725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
23825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * The page header structure contains the standard PostScript page device
23925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * dictionary, along with some CUPS-specific parameters that are provided
24025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * by the RIPs...
24125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann *
24225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * The API supports a "version 1" (from CUPS 1.0 and 1.1) and a "version 2"
24325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * (from CUPS 1.2 and higher) page header, for binary compatibility.
24425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
24525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
24625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef struct cups_page_header_s	/**** Version 1 page header @deprecated@ ****/
24725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
24825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  /**** Standard Page Device Dictionary String Values ****/
24925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		MediaClass[64];		/* MediaClass string */
25025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		MediaColor[64];		/* MediaColor string */
25125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		MediaType[64];		/* MediaType string */
25225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		OutputType[64];		/* OutputType string */
25325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
25425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  /**** Standard Page Device Dictionary Integer Values ****/
25525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	AdvanceDistance;	/* AdvanceDistance value in points */
25625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_adv_t	AdvanceMedia;		/* AdvanceMedia value (@link cups_adv_t@) */
25725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Collate;		/* Collated copies value */
25825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_cut_t	CutMedia;		/* CutMedia value (@link cups_cut_t@) */
25925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Duplex;			/* Duplexed (double-sided) value */
26025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	HWResolution[2];	/* Resolution in dots-per-inch */
26125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	ImagingBoundingBox[4];	/* Pixel region that is painted (points, left, bottom, right, top) */
26225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	InsertSheet;		/* InsertSheet value */
26325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_jog_t	Jog;			/* Jog value (@link cups_jog_t@) */
26425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_edge_t	LeadingEdge;		/* LeadingEdge value (@link cups_edge_t@) */
26525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	Margins[2];		/* Lower-lefthand margins in points */
26625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	ManualFeed;		/* ManualFeed value */
26725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	MediaPosition;		/* MediaPosition value */
26825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	MediaWeight;		/* MediaWeight value in grams/m^2 */
26925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	MirrorPrint;		/* MirrorPrint value */
27025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	NegativePrint;		/* NegativePrint value */
27125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	NumCopies;		/* Number of copies to produce */
27225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_orient_t	Orientation;		/* Orientation value (@link cups_orient_t@) */
27325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	OutputFaceUp;		/* OutputFaceUp value */
27425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	PageSize[2];		/* Width and length of page in points */
27525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Separations;		/* Separations value */
27625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	TraySwitch;		/* TraySwitch value */
27725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Tumble;			/* Tumble value */
27825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
27925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  /**** CUPS Page Device Dictionary Values ****/
28025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsWidth;		/* Width of page image in pixels */
28125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsHeight;		/* Height of page image in pixels */
28225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsMediaType;		/* Media type code */
28325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsBitsPerColor;	/* Number of bits for each color */
28425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsBitsPerPixel;	/* Number of bits for each pixel */
28525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsBytesPerLine;	/* Number of bytes per line */
28625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_order_t	cupsColorOrder;		/* Order of colors */
28725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_cspace_t	cupsColorSpace;		/* True colorspace */
28825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsCompression;	/* Device compression to use */
28925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsRowCount;		/* Rows per band */
29025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsRowFeed;		/* Feed between bands */
29125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsRowStep;		/* Spacing between lines */
29225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_page_header_t;
29325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
29425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/**** New in CUPS 1.2 ****/
29525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef struct cups_page_header2_s	/**** Version 2 page header @since CUPS 1.2/macOS 10.5@ ****/
29625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann{
29725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  /**** Standard Page Device Dictionary String Values ****/
29825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		MediaClass[64];		/* MediaClass string */
29925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		MediaColor[64];		/* MediaColor string */
30025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		MediaType[64];		/* MediaType string */
30125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		OutputType[64];		/* OutputType string */
30225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
30325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  /**** Standard Page Device Dictionary Integer Values ****/
30425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	AdvanceDistance;	/* AdvanceDistance value in points */
30525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_adv_t	AdvanceMedia;		/* AdvanceMedia value (@link cups_adv_t@) */
30625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Collate;		/* Collated copies value */
30725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_cut_t	CutMedia;		/* CutMedia value (@link cups_cut_t@) */
30825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Duplex;			/* Duplexed (double-sided) value */
30925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	HWResolution[2];	/* Resolution in dots-per-inch */
31025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	ImagingBoundingBox[4];	/* Pixel region that is painted (points, left, bottom, right, top) */
31125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	InsertSheet;		/* InsertSheet value */
31225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_jog_t	Jog;			/* Jog value (@link cups_jog_t@) */
31325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_edge_t	LeadingEdge;		/* LeadingEdge value (@link cups_edge_t@) */
31425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	Margins[2];		/* Lower-lefthand margins in points */
31525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	ManualFeed;		/* ManualFeed value */
31625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	MediaPosition;		/* MediaPosition value */
31725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	MediaWeight;		/* MediaWeight value in grams/m^2 */
31825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	MirrorPrint;		/* MirrorPrint value */
31925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	NegativePrint;		/* NegativePrint value */
32025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	NumCopies;		/* Number of copies to produce */
32125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_orient_t	Orientation;		/* Orientation value (@link cups_orient_t@) */
32225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	OutputFaceUp;		/* OutputFaceUp value */
32325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	PageSize[2];		/* Width and length of page in points */
32425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Separations;		/* Separations value */
32525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	TraySwitch;		/* TraySwitch value */
32625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_bool_t	Tumble;			/* Tumble value */
32725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
32825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  /**** CUPS Page Device Dictionary Values ****/
32925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsWidth;		/* Width of page image in pixels */
33025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsHeight;		/* Height of page image in pixels */
33125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsMediaType;		/* Media type code */
33225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsBitsPerColor;	/* Number of bits for each color */
33325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsBitsPerPixel;	/* Number of bits for each pixel */
33425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsBytesPerLine;	/* Number of bytes per line */
33525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_order_t	cupsColorOrder;		/* Order of colors */
33625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  cups_cspace_t	cupsColorSpace;		/* True colorspace */
33725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsCompression;	/* Device compression to use */
33825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsRowCount;		/* Rows per band */
33925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsRowFeed;		/* Feed between bands */
34025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsRowStep;		/* Spacing between lines */
34125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
34225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  /**** Version 2 Dictionary Values ****/
34325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsNumColors;		/* Number of color compoents @since CUPS 1.2/macOS 10.5@ */
34425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  float		cupsBorderlessScalingFactor;
34525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					/* Scaling that was applied to page data @since CUPS 1.2/macOS 10.5@ */
34625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  float		cupsPageSize[2];	/* Floating point PageSize (scaling *
34725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  					 * factor not applied) @since CUPS 1.2/macOS 10.5@ */
34825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  float		cupsImagingBBox[4];	/* Floating point ImagingBoundingBox
34925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * (scaling factor not applied, left,
35025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * bottom, right, top) @since CUPS 1.2/macOS 10.5@ */
35125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  unsigned	cupsInteger[16];	/* User-defined integer values @since CUPS 1.2/macOS 10.5@ */
35225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  float		cupsReal[16];		/* User-defined floating-point values @since CUPS 1.2/macOS 10.5@ */
35325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		cupsString[16][64];	/* User-defined string values @since CUPS 1.2/macOS 10.5@ */
35425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		cupsMarkerType[64];	/* Ink/toner type @since CUPS 1.2/macOS 10.5@ */
35525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		cupsRenderingIntent[64];/* Color rendering intent @since CUPS 1.2/macOS 10.5@ */
35625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann  char		cupsPageSizeName[64];	/* PageSize name @since CUPS 1.2/macOS 10.5@ */
35725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann} cups_page_header2_t;
35825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
35925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef struct _cups_raster_s cups_raster_t;
36025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					/**** Raster stream data ****/
36125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
36225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef int (*cups_interpret_cb_t)(cups_page_header2_t *header, int preferred_bits);
36325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					/**** cupsRasterInterpretPPD callback function
36425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 *
36525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * This function is called by
36625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * @link cupsRasterInterpretPPD@ to
36725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * validate (and update, as needed)
36825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * the page header attributes. The
36925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * "preferred_bits" argument provides
37025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * the value of the
37125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * @code cupsPreferredBitsPerColor@
37225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * key from the PostScript page device
37325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * dictionary and is 0 if undefined.
37425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 ****/
37525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
37625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/**** New in CUPS 1.5 ****/
37725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmanntypedef ssize_t (*cups_raster_iocb_t)(void *ctx, unsigned char *buffer, size_t length);
37825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					/**** cupsRasterOpenIO callback function
37925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 *
38025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * This function is specified when
38125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * creating a raster stream with
38225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * @link cupsRasterOpenIO@ and handles
38325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * generic reading and writing of raster
38425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * data. It must return -1 on error or
38525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * the number of bytes specified by
38625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 * "length" on success.
38725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann					 ****/
38825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
38925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
39025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/*
39125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann * Prototypes...
39225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann */
39325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
39425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern void		cupsRasterClose(cups_raster_t *r);
39525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern cups_raster_t	*cupsRasterOpen(int fd, cups_mode_t mode);
39625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern unsigned		cupsRasterReadHeader(cups_raster_t *r,
39725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann			                     cups_page_header_t *h) _CUPS_DEPRECATED_MSG("Use cupsRasterReadHeader2 instead.");
39825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern unsigned		cupsRasterReadPixels(cups_raster_t *r,
39925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann			                     unsigned char *p, unsigned len);
40025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern unsigned		cupsRasterWriteHeader(cups_raster_t *r,
40125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann			                      cups_page_header_t *h) _CUPS_DEPRECATED_MSG("Use cupsRasterWriteHeader2 instead.");
40225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern unsigned		cupsRasterWritePixels(cups_raster_t *r,
40325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann			                      unsigned char *p, unsigned len);
40425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
40525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/**** New in CUPS 1.2 ****/
40625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern unsigned		cupsRasterReadHeader2(cups_raster_t *r,
40725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann			                      cups_page_header2_t *h) _CUPS_API_1_2;
40825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern unsigned		cupsRasterWriteHeader2(cups_raster_t *r,
40925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann			                       cups_page_header2_t *h) _CUPS_API_1_2;
41025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
41125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/**** New in CUPS 1.3 ****/
41225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern const char	*cupsRasterErrorString(void) _CUPS_API_1_3;
41325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
41425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/**** New in CUPS 1.5 ****/
41525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern cups_raster_t	*cupsRasterOpenIO(cups_raster_iocb_t iocb, void *ctx,
41625aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann			                  cups_mode_t mode);
41725aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
41825aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann/**** New in CUPS 2.2/macOS 10.12 ****/
41925aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmannextern int		cupsRasterInitPWGHeader(cups_page_header2_t *h, pwg_media_t *media, const char *type, int xdpi, int ydpi, const char *sides, const char *sheet_back) _CUPS_API_2_2;
42025aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
42125aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  ifdef __cplusplus
42225aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann}
42325aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#  endif /* __cplusplus */
42425aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann
42525aee82d491492e1fa3b005e5880e684dc081ffbPhilip P. Moltmann#endif /* !_CUPS_RASTER_H_ */
426