13bf66744d61d18c66d46f2608de0467ad3df0268Mopria/*
23bf66744d61d18c66d46f2608de0467ad3df0268Mopria * Copyright (C) 2016 The Android Open Source Project
33bf66744d61d18c66d46f2608de0467ad3df0268Mopria * Copyright (C) 2016 Mopria Alliance, Inc.
43bf66744d61d18c66d46f2608de0467ad3df0268Mopria * Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
53bf66744d61d18c66d46f2608de0467ad3df0268Mopria *
63bf66744d61d18c66d46f2608de0467ad3df0268Mopria * Licensed under the Apache License, Version 2.0 (the "License");
73bf66744d61d18c66d46f2608de0467ad3df0268Mopria * you may not use this file except in compliance with the License.
83bf66744d61d18c66d46f2608de0467ad3df0268Mopria * You may obtain a copy of the License at
93bf66744d61d18c66d46f2608de0467ad3df0268Mopria *
103bf66744d61d18c66d46f2608de0467ad3df0268Mopria *      http://www.apache.org/licenses/LICENSE-2.0
113bf66744d61d18c66d46f2608de0467ad3df0268Mopria *
123bf66744d61d18c66d46f2608de0467ad3df0268Mopria * Unless required by applicable law or agreed to in writing, software
133bf66744d61d18c66d46f2608de0467ad3df0268Mopria * distributed under the License is distributed on an "AS IS" BASIS,
143bf66744d61d18c66d46f2608de0467ad3df0268Mopria * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
153bf66744d61d18c66d46f2608de0467ad3df0268Mopria * See the License for the specific language governing permissions and
163bf66744d61d18c66d46f2608de0467ad3df0268Mopria * limitations under the License.
173bf66744d61d18c66d46f2608de0467ad3df0268Mopria */
183bf66744d61d18c66d46f2608de0467ad3df0268Mopria
193bf66744d61d18c66d46f2608de0467ad3df0268Mopria#ifndef PCLM_COMMON_DEFINES
203bf66744d61d18c66d46f2608de0467ad3df0268Mopria#define PCLM_COMMON_DEFINES
213bf66744d61d18c66d46f2608de0467ad3df0268Mopria
223bf66744d61d18c66d46f2608de0467ad3df0268Mopria#include <stdbool.h>
233bf66744d61d18c66d46f2608de0467ad3df0268Mopria#include "wtypes.h"
243bf66744d61d18c66d46f2608de0467ad3df0268Mopria
253bf66744d61d18c66d46f2608de0467ad3df0268Mopria#define PCLM_Ver 0.98
263bf66744d61d18c66d46f2608de0467ad3df0268Mopria
273bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
283bf66744d61d18c66d46f2608de0467ad3df0268Mopria    RGB,
293bf66744d61d18c66d46f2608de0467ad3df0268Mopria    AdobeRGB,
303bf66744d61d18c66d46f2608de0467ad3df0268Mopria    GRAY,
313bf66744d61d18c66d46f2608de0467ad3df0268Mopria    unknown
323bf66744d61d18c66d46f2608de0467ad3df0268Mopria} colorSpaceEnum;
333bf66744d61d18c66d46f2608de0467ad3df0268Mopria
343bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
353bf66744d61d18c66d46f2608de0467ad3df0268Mopria    jpeg,
363bf66744d61d18c66d46f2608de0467ad3df0268Mopria    zlib,
373bf66744d61d18c66d46f2608de0467ad3df0268Mopria    rle
383bf66744d61d18c66d46f2608de0467ad3df0268Mopria} compTypeEnum;
393bf66744d61d18c66d46f2608de0467ad3df0268Mopria
403bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
413bf66744d61d18c66d46f2608de0467ad3df0268Mopria    simplex,
423bf66744d61d18c66d46f2608de0467ad3df0268Mopria    duplex_longEdge,
433bf66744d61d18c66d46f2608de0467ad3df0268Mopria    duplex_shortEdge
443bf66744d61d18c66d46f2608de0467ad3df0268Mopria} duplexDispositionEnum;
453bf66744d61d18c66d46f2608de0467ad3df0268Mopria
463bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
473bf66744d61d18c66d46f2608de0467ad3df0268Mopria    job_open,
483bf66744d61d18c66d46f2608de0467ad3df0268Mopria    job_closed,
493bf66744d61d18c66d46f2608de0467ad3df0268Mopria    job_errored
503bf66744d61d18c66d46f2608de0467ad3df0268Mopria} jobStateEnum;
513bf66744d61d18c66d46f2608de0467ad3df0268Mopria
523bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
533bf66744d61d18c66d46f2608de0467ad3df0268Mopria    deviceRGB,
543bf66744d61d18c66d46f2608de0467ad3df0268Mopria    adobeRGB,
553bf66744d61d18c66d46f2608de0467ad3df0268Mopria    grayScale
563bf66744d61d18c66d46f2608de0467ad3df0268Mopria} colorSpaceDisposition;
573bf66744d61d18c66d46f2608de0467ad3df0268Mopria
583bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
593bf66744d61d18c66d46f2608de0467ad3df0268Mopria    debugOn,
603bf66744d61d18c66d46f2608de0467ad3df0268Mopria    debugOff
613bf66744d61d18c66d46f2608de0467ad3df0268Mopria} debugDisposition;
623bf66744d61d18c66d46f2608de0467ad3df0268Mopria
633bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
643bf66744d61d18c66d46f2608de0467ad3df0268Mopria    compressRLE,
653bf66744d61d18c66d46f2608de0467ad3df0268Mopria    compressDCT,
663bf66744d61d18c66d46f2608de0467ad3df0268Mopria    compressFlate,
673bf66744d61d18c66d46f2608de0467ad3df0268Mopria    compressDefault,
683bf66744d61d18c66d46f2608de0467ad3df0268Mopria    compressNone
693bf66744d61d18c66d46f2608de0467ad3df0268Mopria} compressionDisposition;
703bf66744d61d18c66d46f2608de0467ad3df0268Mopria
713bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
723bf66744d61d18c66d46f2608de0467ad3df0268Mopria    portraitOrientation,
733bf66744d61d18c66d46f2608de0467ad3df0268Mopria    landscapeOrientation
743bf66744d61d18c66d46f2608de0467ad3df0268Mopria} mediaOrientationDisposition;
753bf66744d61d18c66d46f2608de0467ad3df0268Mopria
763bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
773bf66744d61d18c66d46f2608de0467ad3df0268Mopria    res300,
783bf66744d61d18c66d46f2608de0467ad3df0268Mopria    res600,
793bf66744d61d18c66d46f2608de0467ad3df0268Mopria    res1200
803bf66744d61d18c66d46f2608de0467ad3df0268Mopria} renderResolution;
813bf66744d61d18c66d46f2608de0467ad3df0268Mopria
823bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
833bf66744d61d18c66d46f2608de0467ad3df0268Mopria    top_left,
843bf66744d61d18c66d46f2608de0467ad3df0268Mopria    bottom_right
853bf66744d61d18c66d46f2608de0467ad3df0268Mopria} pageOriginType;
863bf66744d61d18c66d46f2608de0467ad3df0268Mopria
873bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
883bf66744d61d18c66d46f2608de0467ad3df0268Mopria    color_content,
893bf66744d61d18c66d46f2608de0467ad3df0268Mopria    gray_content,
903bf66744d61d18c66d46f2608de0467ad3df0268Mopria    unknown_content
913bf66744d61d18c66d46f2608de0467ad3df0268Mopria} pageCromaticContent;
923bf66744d61d18c66d46f2608de0467ad3df0268Mopria
933bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
943bf66744d61d18c66d46f2608de0467ad3df0268Mopria    draft,
953bf66744d61d18c66d46f2608de0467ad3df0268Mopria    normal,
963bf66744d61d18c66d46f2608de0467ad3df0268Mopria    best,
973bf66744d61d18c66d46f2608de0467ad3df0268Mopria} pageOutputQuality;
983bf66744d61d18c66d46f2608de0467ad3df0268Mopria
993bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
1003bf66744d61d18c66d46f2608de0467ad3df0268Mopria    alternate,
1013bf66744d61d18c66d46f2608de0467ad3df0268Mopria    alternate_roll,
1023bf66744d61d18c66d46f2608de0467ad3df0268Mopria    auto_select,
1033bf66744d61d18c66d46f2608de0467ad3df0268Mopria    bottom,
1043bf66744d61d18c66d46f2608de0467ad3df0268Mopria    center,
1053bf66744d61d18c66d46f2608de0467ad3df0268Mopria    disc,
1063bf66744d61d18c66d46f2608de0467ad3df0268Mopria    envelope,
1073bf66744d61d18c66d46f2608de0467ad3df0268Mopria    hagaki,
1083bf66744d61d18c66d46f2608de0467ad3df0268Mopria    large_capacity,
1093bf66744d61d18c66d46f2608de0467ad3df0268Mopria    left,
1103bf66744d61d18c66d46f2608de0467ad3df0268Mopria    main_tray,
1113bf66744d61d18c66d46f2608de0467ad3df0268Mopria    main_roll,
1123bf66744d61d18c66d46f2608de0467ad3df0268Mopria    manual,
1133bf66744d61d18c66d46f2608de0467ad3df0268Mopria    middle,
1143bf66744d61d18c66d46f2608de0467ad3df0268Mopria    photo,
1153bf66744d61d18c66d46f2608de0467ad3df0268Mopria    rear,
1163bf66744d61d18c66d46f2608de0467ad3df0268Mopria    right,
1173bf66744d61d18c66d46f2608de0467ad3df0268Mopria    side,
1183bf66744d61d18c66d46f2608de0467ad3df0268Mopria    top,
1193bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_1,
1203bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_2,
1213bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_3,
1223bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_4,
1233bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_5,
1243bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_N,
1253bf66744d61d18c66d46f2608de0467ad3df0268Mopria} jobInputBin;
1263bf66744d61d18c66d46f2608de0467ad3df0268Mopria
1273bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
1283bf66744d61d18c66d46f2608de0467ad3df0268Mopria    top_output,
1293bf66744d61d18c66d46f2608de0467ad3df0268Mopria    middle_output,
1303bf66744d61d18c66d46f2608de0467ad3df0268Mopria    bottom_output,
1313bf66744d61d18c66d46f2608de0467ad3df0268Mopria    side_output,
1323bf66744d61d18c66d46f2608de0467ad3df0268Mopria    center_output,
1333bf66744d61d18c66d46f2608de0467ad3df0268Mopria    rear_output,
1343bf66744d61d18c66d46f2608de0467ad3df0268Mopria    face_up,
1353bf66744d61d18c66d46f2608de0467ad3df0268Mopria    face_down,
1363bf66744d61d18c66d46f2608de0467ad3df0268Mopria    large_capacity_output,
1373bf66744d61d18c66d46f2608de0467ad3df0268Mopria    stacker_N,
1383bf66744d61d18c66d46f2608de0467ad3df0268Mopria    mailbox_N,
1393bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_1_output,
1403bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_2_output,
1413bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_3_output,
1423bf66744d61d18c66d46f2608de0467ad3df0268Mopria    tray_4_output,
1433bf66744d61d18c66d46f2608de0467ad3df0268Mopria} jobOutputBin;
1443bf66744d61d18c66d46f2608de0467ad3df0268Mopria
1453bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef struct {
1463bf66744d61d18c66d46f2608de0467ad3df0268Mopria    pageCromaticContent userCromaticMode;
1473bf66744d61d18c66d46f2608de0467ad3df0268Mopria    pageOutputQuality userPageQuality;
1483bf66744d61d18c66d46f2608de0467ad3df0268Mopria    mediaOrientationDisposition userOrientation;
1493bf66744d61d18c66d46f2608de0467ad3df0268Mopria    char userMediaType[256];
1503bf66744d61d18c66d46f2608de0467ad3df0268Mopria    jobInputBin userInputBin;
1513bf66744d61d18c66d46f2608de0467ad3df0268Mopria    int userCopies;
1523bf66744d61d18c66d46f2608de0467ad3df0268Mopria    char userDocumentName[256];
1533bf66744d61d18c66d46f2608de0467ad3df0268Mopria    jobOutputBin userOutputBin;
1543bf66744d61d18c66d46f2608de0467ad3df0268Mopria} PCLmSUserSettingsType;
1553bf66744d61d18c66d46f2608de0467ad3df0268Mopria
1563bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef struct {
1573bf66744d61d18c66d46f2608de0467ad3df0268Mopria    char mediaSizeName[256];
1583bf66744d61d18c66d46f2608de0467ad3df0268Mopria    char clientLocale[256];
1593bf66744d61d18c66d46f2608de0467ad3df0268Mopria    float mediaHeight;
1603bf66744d61d18c66d46f2608de0467ad3df0268Mopria    float mediaWidth;
1613bf66744d61d18c66d46f2608de0467ad3df0268Mopria    float sourceHeight;
1623bf66744d61d18c66d46f2608de0467ad3df0268Mopria    float sourceWidth;
1633bf66744d61d18c66d46f2608de0467ad3df0268Mopria    float mediaWidthOffset;
1643bf66744d61d18c66d46f2608de0467ad3df0268Mopria    float mediaHeightOffset;
1653bf66744d61d18c66d46f2608de0467ad3df0268Mopria    pageCromaticContent colorContent; // Did the page contain any "real" color
1663bf66744d61d18c66d46f2608de0467ad3df0268Mopria    pageOriginType pageOrigin;
1673bf66744d61d18c66d46f2608de0467ad3df0268Mopria    compressionDisposition compTypeRequested;
1683bf66744d61d18c66d46f2608de0467ad3df0268Mopria    colorSpaceDisposition srcColorSpaceSpefication;
1693bf66744d61d18c66d46f2608de0467ad3df0268Mopria    colorSpaceDisposition dstColorSpaceSpefication;
1703bf66744d61d18c66d46f2608de0467ad3df0268Mopria    int stripHeight;
1713bf66744d61d18c66d46f2608de0467ad3df0268Mopria    renderResolution destinationResolution;
1723bf66744d61d18c66d46f2608de0467ad3df0268Mopria
1733bf66744d61d18c66d46f2608de0467ad3df0268Mopria    duplexDispositionEnum duplexDisposition;
1743bf66744d61d18c66d46f2608de0467ad3df0268Mopria    int scaleFactor;
1753bf66744d61d18c66d46f2608de0467ad3df0268Mopria    bool genExtraPage;
1763bf66744d61d18c66d46f2608de0467ad3df0268Mopria    bool mirrorBackside;
1773bf66744d61d18c66d46f2608de0467ad3df0268Mopria    int mediaWidthInPixels;
1783bf66744d61d18c66d46f2608de0467ad3df0268Mopria    int mediaHeightInPixels;
1793bf66744d61d18c66d46f2608de0467ad3df0268Mopria    int SourceWidthPixels;
1803bf66744d61d18c66d46f2608de0467ad3df0268Mopria    int SourceHeightPixels;
1813bf66744d61d18c66d46f2608de0467ad3df0268Mopria} PCLmPageSetup;
1823bf66744d61d18c66d46f2608de0467ad3df0268Mopria
1833bf66744d61d18c66d46f2608de0467ad3df0268Mopriatypedef enum {
1843bf66744d61d18c66d46f2608de0467ad3df0268Mopria    success = 0,
1853bf66744d61d18c66d46f2608de0467ad3df0268Mopria    genericFailure = -1,
1863bf66744d61d18c66d46f2608de0467ad3df0268Mopria} PCLmGenerator_returnType;
1873bf66744d61d18c66d46f2608de0467ad3df0268Mopria
1883bf66744d61d18c66d46f2608de0467ad3df0268Mopria#endif