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 __PRINTER_CAPABILITIES_TYPES_H__ 19 #define __PRINTER_CAPABILITIES_TYPES_H__ 20 21 #define MAX_SIZES_SUPPORTED 50 22 #define MAX_MEDIA_TRAYS_SUPPORTED 10 23 #define MAX_MEDIA_TYPES_SUPPORTED 20 24 #define MAX_RESOLUTIONS_SUPPORTED 10 25 #define MAX_QUALITY_SUPPORTED 3 26 #define MAX_URI_LENGTH 1024 27 #define MAX_STRING 256 28 #define MAX_UUID 46 29 30 #include "wprint_df_types.h" 31 32 /* 33 * Printer Capabilities structure. 34 */ 35 typedef struct { 36 unsigned char duplex; 37 unsigned char borderless; 38 unsigned char canPrintPDF; 39 unsigned char canPrintPCLm; 40 unsigned char canPrintPWG; 41 char make[MAX_STRING]; 42 char name[MAX_STRING]; 43 char uuid[MAX_UUID]; 44 char location[MAX_STRING]; 45 unsigned char canRotateDuplexBackPage; 46 unsigned char color; 47 int supportedQuality[MAX_QUALITY_SUPPORTED]; 48 unsigned int numSupportedQuality; 49 unsigned char faceDownTray; 50 media_size_t supportedMediaSizes[MAX_SIZES_SUPPORTED]; 51 unsigned int numSupportedMediaSizes; 52 53 // IPP major version (0 = not supported) 54 int ippVersionMajor; 55 56 int ippVersionMinor; 57 58 // ePCL over IPP supported version 59 int ePclIppVersion; 60 61 int stripHeight; 62 unsigned long long supportedInputMimeTypes; 63 media_tray_t supportedMediaTrays[MAX_MEDIA_TRAYS_SUPPORTED]; 64 unsigned int numSupportedMediaTrays; 65 media_type_t supportedMediaTypes[MAX_MEDIA_TYPES_SUPPORTED]; 66 unsigned int numSupportedMediaTypes; 67 unsigned char isSupported; 68 unsigned char canCopy; 69 unsigned char isMediaSizeNameSupported; 70 unsigned int printerTopMargin; 71 unsigned int printerBottomMargin; 72 unsigned int printerLeftMargin; 73 unsigned int printerRightMargin; 74 unsigned char inkjet; 75 int supportedResolutions[MAX_RESOLUTIONS_SUPPORTED]; 76 unsigned int numSupportedResolutions; 77 char printerUri[MAX_URI_LENGTH + 1]; 78 char httpResource[MAX_URI_LENGTH + 1]; 79 char mediaDefault[MAX_STRING]; 80 unsigned char docSourceAppName; 81 unsigned char docSourceAppVersion; 82 unsigned char docSourceOsName; 83 unsigned char docSourceOsVersion; 84 } printer_capabilities_t; 85 86 #endif // __PRINTER_CAPABILITIES_TYPES_H__