1/*
2 * Copyright (C) 2016 The Android Open Source Project
3 * Copyright (C) 2016 Mopria Alliance, Inc.
4 * Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *      http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18#ifndef __MEDIA_SIZES_H__
19#define __MEDIA_SIZES_H__
20
21#include <stdint.h>
22
23/*
24 * Enumeration of the different media sizes known by the printing system. The numeration of the
25 * media ID corresponds to the PCL numeration of the media ID. There is also a numeration for
26 * custom size (101). This enum contains all the values that are currently defined for media types.
27 * A product may choose to support any *subset* of these defined media types.
28 */
29typedef enum {
30    US_EXECUTIVE = 1,
31    US_LETTER = 2,
32    US_LEGAL = 3,
33    US_EDP = 4,
34    EUROPEAN_EDP = 5,
35    B_TABLOID = 6,
36    US_GOVERNMENT_LETTER = 7,
37    US_GOVERNMENT_LEGAL = 8,
38    FOLIO = 9,
39    FOOLSCAP = 10,
40    LEDGER = 11,
41    C_SIZE = 12,
42    D_SIZE = 13,
43    E_SIZE = 14,
44    MINI = 15,
45    SUPER_B = 16,
46    ROC16K = 17,
47    ROC8K = 19,
48    ISO_AND_JIS_A10 = 20,
49    ISO_AND_JIS_A9 = 21,
50    ISO_AND_JIS_A8 = 22,
51    ISO_AND_JIS_A7 = 23,
52    ISO_AND_JIS_A6 = 24,
53    ISO_AND_JIS_A5 = 25,
54    ISO_A5 = 25,
55    ISO_AND_JIS_A4 = 26,
56    ISO_A4 = 26,
57    ISO_AND_JIS_A3 = 27,
58    ISO_A3 = 27,
59    ISO_AND_JIS_A2 = 28,
60    ISO_AND_JIS_A1 = 29,
61    ISO_AND_JIS_A0 = 30,
62    ISO_AND_JIS_2A0 = 31,
63    ISO_AND_JIS_4A0 = 32,
64    K8_270X390MM = 33,
65    K16_195X270MM = 34,
66    K8_260X368MM = 35,
67    RA4 = 36,
68    SRA4 = 37,
69    SRA3 = 38,
70    RA3 = 39,
71    JIS_B10 = 40,
72    JIS_B9 = 41,
73    JIS_B8 = 42,
74    JIS_B7 = 43,
75    JIS_B6 = 44,
76    JIS_B5 = 45,
77    JIS_B4 = 46,
78    JIS_B3 = 47,
79    JIS_B2 = 48,
80    JIS_B1 = 49,
81    JIS_B0 = 50,
82    ISO_B10 = 60,
83    ISO_B9 = 61,
84    ISO_B8 = 62,
85    ISO_B7 = 63,
86    ISO_B6 = 64,
87    ISO_B5 = 65,
88    ISO_B4 = 66,
89    ISO_B3 = 67,
90    ISO_B2 = 68,
91    ISO_B1 = 69,
92    ISO_B0 = 70,
93    JAPANESE_POSTCARD_SINGLE = 71,
94    JPN_HAGAKI_PC = 71,
95    JAPANESE_POSTCARD_DOUBLE = 72,
96    JPN_OUFUKU_PC = 72,
97    ISO_A6_POSTCARD = 73,
98    ISO_A6_CARD = 73,
99    INDEX_CARD_4X6 = 74,
100    US_SMALL_IDX = 74,
101    INDEX_CARD_5X8 = 75,
102    US_LARGE_IDX = 75,
103    PHOTO_4X6 = 76,
104    JAPANESE_POSTCARD_WITH_TAB = 77,
105    INDEX_CARD_3X5 = 78,
106    MONARCH = 80,
107    COMMERCIAL_10 = 81,
108    NO_10_ENVELOPE = 81,
109    CATALOG_1 = 82,
110    ENVELOPE_NO_6_75 = 83,
111    K16_184X260MM = 89,
112    INTERNATIONAL_DL = 90,
113    INT_DL_ENVELOPE = 90,
114    INTERNATIONAL_C5 = 91,
115    INT_C6_ENVELOPE = 92,
116    INTERNATIONAL_C6 = 92,
117    INTERNATIONAL_C4 = 93,
118    PRINTABLE_CD_3_5_INCH = 98,
119    PRINTABLE_CD_5_INCH = 99,
120    INTERNATIONAL_B5 = 100,
121    CUSTOM = 101,
122    COMMERCIAL_9 = 102,
123    CUSTOM_CARD = 108,
124    US_ENVELOPE_A2 = 109,
125    A2_ENVELOPE = 109,
126    JAPANESE_ENV_LONG_3 = 110,
127    NEC_L3_ENVELOPE = 110,
128    JAPANESE_ENV_LONG_4 = 111,
129    NEC_L4_ENVELOPE = 111,
130    JAPANESE_ENV_2 = 112,
131    HP_GREETING_CARD_ENVELOPE = 114,
132    US_PHOTO_9X12 = 116,
133    US_PHOTO_ALBUM_12X12 = 117,
134    PHOTO_10X15 = 118,
135    PHOTO_CABINET = 119,
136    SUPER_B_PAPER = 120,
137    PHOTO_L_SIZE_CARD = 121,
138    LSIZE_CARD = 121,
139    INDEX_CARD_5X7 = 122,
140    PHOTO_E_SIZE_CARD = 123,
141    PHOTO_KG_SIZE_CARD = 124,
142    PHOTO_2E_SIZE_CARD = 125,
143    PHOTO_2L_SIZE_CARD = 126,
144
145    /* Rotated Media (add 256 to the unrotated value) */
146    US_EXECUTIVE_ROTATED = 257,
147    US_LETTER_ROTATED = 258,
148    ISO_AND_JIS_A5_ROTATED = 281,
149    ISO_AND_JIS_A4_ROTATED = 282,
150    JIS_B5_ROTATED = 301,
151    PHOTO_89X119 = 302,
152    CARD_54X86 = 303,
153    OE_PHOTO_L = 304,
154
155    /*
156     * Need a media size for products that want to reject any media that doesn't have an exact
157     * match. UNKNOWN_MEDIA_SIZE can't be used because it is used on other (most) products that
158     * don't want this behavior.
159     */
160    UNDEFINED_MEDIA_SIZE = 29999,
161
162    /* Special photo sizes */
163    PHOTO_4X12 = 30000,
164    PHOTO_4X8 = 30001,
165    PHOTO_5X7_MAIN_TRAY = 30002,
166
167    /* Other Media */
168    CUSTOM_ROLL = 32766,
169    UNKNOWN_MEDIA_SIZE = 32767,
170} media_size_t;
171
172#endif // __MEDIA_SIZES_H__