1 # -*- coding: utf-8 -*-
3 # (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 # Author: Don Welch, Naga Samrat Chowdary Narla, Yashwant Sahu
22 # NOTE: This module is safe for 'from codes import *'
27 INTERACTIVE_MODE = 0 # -i
29 NON_INTERACTIVE_MODE = 2 # -n
32 # Supported UI toolkits
35 UI_TOOLKIT_GTK = 2 # Not used
37 # device types (CUPS queue or SANE types)
38 DEVICE_TYPE_UNKNOWN = 0
39 DEVICE_TYPE_PRINTER = 1 # hp:
40 DEVICE_TYPE_SCANNER = 2 # hpaio:
41 DEVICE_TYPE_FAX = 3 # hpfax:
42 DEVICE_TYPE_COPIER = 4 # not used
44 # Error Codes generated by HPMUD or raise Error(code) or func return
45 # Add 5000 to code for event code
47 ERROR_UNKNOWN_ERROR = 1
48 ERROR_DEVICE_NOT_FOUND = 2 # MUD: HPMUD_R_INVALID_DEVICE
49 ERROR_INVALID_DEVICE_ID = 3 # MUD: HPMUD_R_INVALID_DESCRIPTOR
50 ERROR_INVALID_DEVICE_URI = 4 # MUD: HPMUD_R_INVALID_URI
51 ERROR_DATA_LENGTH_EXCEEDS_MAX = 8 # MUD: HPMUD_R_INVALID_LENGTH
52 ERROR_DEVICE_IO_ERROR = 12 # MUD: HPMUD_R_IO_ERROR
53 ERROR_NO_PROBED_DEVICES_FOUND = 18
54 ERROR_DEVICE_BUSY = 21 # MUD: HPMUD_R_DEVICE_BUSY
55 ERROR_DEVICE_STATUS_NOT_AVAILABLE = 26
56 ERROR_INVALID_SERVICE_NAME = 28 # MUD: HPMUD_R_INVALID_SN
57 ERROR_ERROR_INVALID_CHANNEL_ID = 30 # MUD: HPMUD_R_INVALID_CHANNEL_ID
58 ERROR_CHANNEL_BUSY = 31 # MUD: HPMUD_R_INVALID_STATE
59 ERROR_DEVICE_DOES_NOT_SUPPORT_OPERATION = 34
60 ERROR_DEVICEOPEN_FAILED = 37 # MUD: HPMUD_R_INVALID_DEVICE_OPEN
61 ERROR_INVALID_DEVNODE = 38 # MUD: HPMUD_R_INVALID_DEVICE_NODE
62 ERROR_INVALID_HOSTNAME = 45 # MUD: HPMUD_R_INVALID_IP
63 ERROR_INVALID_PORT_NUMBER = 46 # MUD: HPMUD_R_INVALID_IP_PORT
64 ERROR_INVALID_TIMEOUT = 47 # MUD: HPMUD_R_INVALID_TIMEOUT
65 ERROR_DATFILE_ERROR = 48 # MUD: HPMUD_R_DATFILE_ERROR
66 ERROR_IO_TIMEOUT = 49 # MUD: HPMUD_R_IO_TIMEOUT
67 ERROR_FAX_INCOMPATIBLE_OPTIONS = 50
68 ERROR_FAX_INVALID_FAX_FILE = 51
69 ERROR_NO_CUPS_QUEUE_FOUND_FOR_DEVICE = 55
70 ERROR_FAX_FILE_NOT_FOUND = 57
71 ERROR_INVALID_ARGUMENT = 58
72 # --> add new codes here <--
74 # If you add new codes, also add the appropriate description
75 # to g.py for exception description strings.
76 # Thank you, The Management
79 # Event and status codes
80 # These are used for the 'status-code' returned by DeviceQuery (STATUS_*)
81 # and by the event-code used by Event (EVENT_* + STATUS_*)
83 # If you add a new EVENT/STATUS code, please add the appropriate
84 # entry into the STATUS_TO_ERROR_STATE_MAP
88 EVENT_MIN_USER_EVENT = 500
89 EVENT_START_PRINT_JOB = 500 # sent by hp: backend
90 EVENT_END_PRINT_JOB = 501 # sent by hp: backend
91 EVENT_PRINT_FAILED_MISSING_PLUGIN = 502
93 EVENT_START_FAX_PRINT_JOB = 600 # sent by hpfax: backend
94 EVENT_END_FAX_PRINT_JOB = 601 # sent by hpfax: backend
96 EVENT_PRINTER_QUEUE_STOPPED = 700
97 EVENT_PRINTER_QUEUE_STARTED = 701
98 EVENT_PRINTER_QUEUE_REJECTING_JOBS = 702
99 EVENT_PRINTER_QUEUE_ACCEPTING_JOBS = 703
100 EVENT_PRINTER_QUEUE_SET_AS_DEFAULT = 704
102 EVENT_FAX_QUEUE_STOPPED = 800
103 EVENT_FAX_QUEUE_STARTED = 801
104 EVENT_FAX_QUEUE_REJECTING_JOBS = 802
105 EVENT_FAX_QUEUE_ACCEPTING_JOBS = 803
106 EVENT_FAX_QUEUE_SET_AS_DEFAULT = 804
107 EVENT_FAX_FAILED_MISSING_PLUGIN = 805
109 STATUS_PRINTER_BASE = 1000
110 STATUS_PRINTER_IDLE = 1000
111 STATUS_PRINTER_BUSY = 1001
112 STATUS_PRINTER_PRINTING = 1002
113 STATUS_PRINTER_TURNING_OFF = 1003
114 STATUS_PRINTER_REPORT_PRINTING = 1004
115 STATUS_PRINTER_CANCELING = 1005
116 STATUS_PRINTER_IO_STALL = 1006
117 STATUS_PRINTER_DRY_WAIT_TIME = 1007
118 STATUS_PRINTER_PEN_CHANGE = 1008
119 STATUS_PRINTER_OUT_OF_PAPER = 1009
120 STATUS_PRINTER_BANNER_EJECT = 1010
121 STATUS_PRINTER_BANNER_MISMATCH = 1011
122 STATUS_PRINTER_PHOTO_MISMATCH = 1012
123 STATUS_PRINTER_DUPLEX_MISMATCH = 1013
124 STATUS_PRINTER_MEDIA_JAM = 1014
125 STATUS_PRINTER_CARRIAGE_STALL = 1015
126 STATUS_PRINTER_PAPER_STALL = 1016
127 STATUS_PRINTER_PEN_FAILURE = 1017
128 STATUS_PRINTER_HARD_ERROR = 1018
129 STATUS_PRINTER_POWER_DOWN = 1019
130 STATUS_PRINTER_FRONT_PANEL_TEST = 1020
131 STATUS_PRINTER_CLEAN_OUT_TRAY_MISSING = 1021
132 STATUS_PRINTER_OUTPUT_BIN_FULL = 1022
133 STATUS_PRINTER_MEDIA_SIZE_MISMATCH = 1023
134 STATUS_PRINTER_MANUAL_DUPLEX_BLOCK = 1024
135 STATUS_PRINTER_SERVCE_STALL = 1025
136 STATUS_PRINTER_OUT_OF_INK = 1026 # Also used for out of toner
137 STATUS_PRINTER_LIO_ERROR = 1027
138 STATUS_PRINTER_PUMP_STALL = 1028
139 STATUS_PRINTER_TRAY_2_MISSING = 1029
140 STATUS_PRINTER_DUPLEXER_MISSING = 1030
141 STATUS_PRINTER_REAR_TRAY_MISSING = 1031
142 STATUS_PRINTER_PEN_NOT_LATCHED = 1032
143 STATUS_PRINTER_BATTERY_VERY_LOW = 1033
144 STATUS_PRINTER_SPITTOON_FULL = 1034
145 STATUS_PRINTER_OUTPUT_TRAY_CLOSED = 1035
146 STATUS_PRINTER_MANUAL_FEED_BLOCKED = 1036
147 STATUS_PRINTER_REAR_FEED_BLOCKED = 1037
148 STATUS_PRINTER_TRAY_2_OUT_OF_PAPER = 1038
149 STATUS_PRINTER_UNABLE_TO_LOAD_FROM_LOCKED_TRAY = 1039
150 STATUS_PRINTER_NON_HP_INK = 1040
151 STATUS_PRINTER_PEN_CALIBRATION_RESUME = 1041
152 STATUS_PRINTER_MEDIA_TYPE_MISMATCH = 1042
153 STATUS_PRINTER_CUSTOM_MEDIA_MISMATCH = 1043
154 STATUS_PRINTER_PEN_CLEANING = 1044
155 STATUS_PRINTER_PEN_CHECKING = 1045
156 STATUS_PRINTER_POWER_SAVE = 1046
157 STATUS_PRINTER_CARTRIDGE_WRONG = 1047
158 STATUS_PRINTER_CARTRIDGE_MISSING = 1048
159 STATUS_PRINTER_PRINTHEAD_MISSING = 1049
162 # set to AGENT_TYPE + base (base: 1500=ink, 1600=laser )
163 STATUS_PRINTER_LOW_INK_BASE = 1500
164 STATUS_PRINTER_LOW_BLACK_INK = 1501
165 STATUS_PRINTER_LOW_TRI_COLOR_INK = 1502
166 STATUS_PRINTER_LOW_PHOTO_INK = 1503
167 STATUS_PRINTER_LOW_CYAN_INK = 1504
168 STATUS_PRINTER_LOW_MAGENTA_INK = 1505
169 STATUS_PRINTER_LOW_YELLOW_INK = 1506
170 STATUS_PRINTER_LOW_PHOTO_CYAN_INK = 1507
171 STATUS_PRINTER_LOW_PHOTO_MAGENTA_INK = 1508
172 STATUS_PRINTER_LOW_PHOTO_YELLOW_INK = 1509
173 STATUS_PRINTER_LOW_PHOTO_GRAY_INK = 1510
174 STATUS_PRINTER_LOW_PHOTO_BLUE_INK = 1511
176 STATUS_PRINTER_LOW_TONER_BASE = 1600
177 STATUS_PRINTER_LOW_BLACK_TONER = 1601
178 STATUS_PRINTER_LOW_CYAN_TONER = 1604
179 STATUS_PRINTER_LOW_MAGENTA_TONER = 1605
180 STATUS_PRINTER_LOW_YELLOW_TONER = 1606
183 # derived laserjet codes
184 STATUS_PRINTER_WARMING_UP = 1800
185 STATUS_PRINTER_LOW_PAPER = 1801
186 STATUS_PRINTER_DOOR_OPEN = 1802
187 STATUS_PRINTER_OFFLINE = 1803
188 STATUS_PRINTER_LOW_TONER = 1804
189 STATUS_PRINTER_NO_TONER = 1805
190 STATUS_PRINTER_SERVICE_REQUEST = 1806
191 STATUS_PRINTER_FUSER_ERROR = 1807
194 # other derived codes
195 STATUS_DEVICE_UNSUPPORTED = 1900
199 EVENT_START_SCAN_JOB = 2000
200 EVENT_END_SCAN_JOB = 2001
201 EVENT_SCANNER_FAIL = 2002
202 EVENT_SCAN_FAILED_MISSING_PLUGIN = 2003
203 EVENT_SCAN_ADF_LOADED = 2004
204 EVENT_SCAN_TO_DESTINATION_NOTSET = 2005
205 EVENT_SCAN_WAITING_FOR_PC = 2006
206 EVENT_SCAN_ADF_JAM = 2007
207 EVENT_SCAN_ADF_DOOR_OPEN = 2008
208 EVENT_SCAN_CANCEL = 2009
209 EVENT_SIZE_WARNING = 2010
210 EVENT_SCAN_ADF_NO_DOCS = 2011
211 EVENT_SCAN_ADF_MISPICK = 2012
212 EVENT_SCAN_BUSY = 2013
216 EVENT_START_FAX_JOB = 3000
217 EVENT_END_FAX_JOB = 3001
218 EVENT_FAX_JOB_FAIL = 3002
219 EVENT_FAX_JOB_CANCELED = 3003
220 STATUS_FAX_TX_ACTIVE = 3004
221 STATUS_FAX_RX_ACTIVE = 3005
222 EVENT_FAX_DIALING = 3006
223 EVENT_FAX_CONNECTING = 3007
224 EVENT_FAX_SEND_ERROR = 3008
225 EVENT_FAX_ERROR_STORAGE_FULL = 3009
226 EVENT_FAX_RECV_ERROR = 3010
227 EVENT_FAX_BLOCKING = 3011
231 EVENT_START_COPY_JOB = 4000
232 EVENT_END_COPY_JOB = 4001
233 EVENT_COPY_JOB_FAIL = 4002
234 EVENT_COPY_JOB_CANCELED = 4003
237 # Adding the ERROR_CODE_BASE to the above
238 # ERROR codes will produce a event/status code
239 # e.g., EVENT_ERROR_DEVICE_NOT_FOUND=2 -> 5002 status/event code
240 ERROR_CODE_BASE = 5000
241 EVENT_ERROR_SUCCESS = 5000
242 EVENT_ERROR_UNKNOWN_ERROR = 5001
243 EVENT_ERROR_DEVICE_NOT_FOUND = 5002
244 EVENT_ERROR_INVALID_DEVICE_ID = 5003
245 EVENT_ERROR_INVALID_DEVICE_URI = 5004
246 EVENT_ERROR_DATA_LENGTH_EXCEEDS_MAX = 5008
247 EVENT_ERROR_DEVICE_IO_ERROR = 5012
248 EVENT_ERROR_NO_PROBED_DEVICES_FOUND = 5018
249 EVENT_ERROR_DEVICE_BUSY = 5021
250 EVENT_ERROR_DEVICE_STATUS_NOT_AVAILABLE = 5026
251 EVENT_ERROR_INVALID_SERVICE_NAME = 5028
252 EVENT_ERROR_ERROR_INVALID_CHANNEL_ID = 5030
253 EVENT_ERROR_CHANNEL_BUSY = 5031
254 EVENT_ERROR_DEVICE_DOES_NOT_SUPPORT_OPERATION = 5034
255 EVENT_ERROR_DEVICEOPEN_FAILED_ONE_DEVICE_ONLY = 5037
256 EVENT_ERROR_DEVICEOPEN_FAILED_DEV_NODE_MOVED = 5038
259 # diagnosis tool codes
260 EVENT_ADD_PRINTQUEUE = 5501
261 EVENT_DIAGNOSE_PRINTQUEUE = 5502
265 EVENT_START_PCARD_JOB = 6000
266 EVENT_END_PCARD_JOB = 6001
267 EVENT_PCARD_JOB_FAIL = 6002
268 EVENT_PCARD_UNABLE_TO_MOUNT = 6003
269 EVENT_PCARD_FILES_TRANSFERED = 6004
273 EVENT_START_MAINT_JOB = 6050 # used for polling control (if print not used)
274 EVENT_END_MAINT_JOB = 6051
276 EVENT_MAX_USER_EVENT = 7999
278 # start of internal events
280 # fax (internal events)
282 EVENT_FAX_RENDER_COMPLETE = 8000
283 EVENT_FAX_WAITING = 8001 # Sent by hpssd to toolbox when fax is waiting
284 EVENT_FAX_ADDRESS_BOOK_UPDATED = 8002 # Sent by FAB to indicate that the dB has changed
289 EVENT_MIN_UI_EVENT = 9000
290 EVENT_CUPS_QUEUES_CHANGED = 9000 # sent by hp-setup if queues added (or removed)
291 EVENT_RAISE_DEVICE_MANAGER = 9001
292 #EVENT_JOB_STORAGE_UI_REQUEST = 9002 # sent by hplipjs CUPS filter for job storage UI
293 EVENT_HISTORY_UPDATE = 9003 # sent by hp-systray to hp-toolbox when a device's history changes
294 EVENT_USER_CONFIGURATION_CHANGED = 9004 # sent when ~/.hplip/hplip.conf has been changed by another app.
295 EVENT_SYS_CONFIGURATION_CHANGED = 9005 # sent when /etc/hp/hplip.conf has been changed by another app.
296 EVENT_DEVICE_UPDATE_REQUESTED = 9010
297 EVENT_DEVICE_UPDATE_REPLY = 9011
298 EVENT_DEVICE_START_POLLING = 9020
299 EVENT_DEVICE_STOP_POLLING = 9021
300 EVENT_POLLING_REQUEST = 9022
301 EVENT_DEVICE_UPDATE_ACTIVE = 9030
302 EVENT_DEVICE_UPDATE_INACTIVE = 9031
303 EVENT_DEVICE_UPDATE_BLIP = 9032
304 EVENT_SYSTEMTRAY_EXIT = 9040
305 EVENT_MAX_UI_EVENT = 9999
307 EVENT_MAX_EVENT = 9999
309 # do not add any events > 100000 (PJL error code space)
315 ERROR_STATE_CLEAR = 0 # Show icon w/o overlay
316 ERROR_STATE_OK = 1 # Icon w/ "OK" overlay
317 ERROR_STATE_MAX_OK = 99
318 ERROR_STATE_WARNING = 100 # Icon w/ triangle "!" overlay
319 ERROR_STATE_ERROR = 101 # Icon w/ circle "X" overlay
320 ERROR_STATE_LOW_SUPPLIES = 102 # Icon w/ supplies overlay
321 ERROR_STATE_BUSY = 103 # Icon with busy overlay
322 ERROR_STATE_LOW_PAPER = 104 # Icon w/ paper low overlay
323 ERROR_STATE_PRINTING = 105
324 ERROR_STATE_SCANNING = 106
325 ERROR_STATE_PHOTOCARD = 107
326 ERROR_STATE_FAXING = 108
327 ERROR_STATE_COPYING = 109
328 ERROR_STATE_REFRESHING = 999
332 # Map of status/event codes to UI states
333 STATUS_TO_ERROR_STATE_MAP = {
334 STATUS_UNKNOWN : ERROR_STATE_CLEAR,
335 EVENT_START_PRINT_JOB : ERROR_STATE_BUSY,
336 EVENT_END_PRINT_JOB : ERROR_STATE_OK,
337 EVENT_START_FAX_PRINT_JOB : ERROR_STATE_BUSY,
338 EVENT_END_FAX_PRINT_JOB : ERROR_STATE_FAXING,
340 EVENT_PRINTER_QUEUE_STOPPED : ERROR_STATE_WARNING,
341 EVENT_PRINTER_QUEUE_STARTED : ERROR_STATE_CLEAR,
342 EVENT_PRINTER_QUEUE_REJECTING_JOBS : ERROR_STATE_WARNING,
343 EVENT_PRINTER_QUEUE_ACCEPTING_JOBS : ERROR_STATE_CLEAR,
344 EVENT_PRINTER_QUEUE_SET_AS_DEFAULT : ERROR_STATE_OK,
346 EVENT_FAX_QUEUE_STOPPED : ERROR_STATE_WARNING,
347 EVENT_FAX_QUEUE_STARTED : ERROR_STATE_CLEAR,
348 EVENT_FAX_QUEUE_REJECTING_JOBS : ERROR_STATE_WARNING,
349 EVENT_FAX_QUEUE_ACCEPTING_JOBS : ERROR_STATE_CLEAR,
350 EVENT_FAX_QUEUE_SET_AS_DEFAULT : ERROR_STATE_OK,
352 STATUS_PRINTER_IDLE : ERROR_STATE_CLEAR,
353 STATUS_PRINTER_BUSY : ERROR_STATE_BUSY,
354 STATUS_PRINTER_POWER_SAVE : ERROR_STATE_CLEAR,
355 STATUS_PRINTER_PRINTING : ERROR_STATE_PRINTING,
356 STATUS_PRINTER_TURNING_OFF : ERROR_STATE_BUSY,
357 STATUS_PRINTER_REPORT_PRINTING : ERROR_STATE_PRINTING,
358 STATUS_PRINTER_CANCELING : ERROR_STATE_BUSY,
359 STATUS_PRINTER_IO_STALL : ERROR_STATE_ERROR,
360 STATUS_PRINTER_DRY_WAIT_TIME : ERROR_STATE_PRINTING,
361 STATUS_PRINTER_PEN_CHANGE : ERROR_STATE_WARNING,
362 STATUS_PRINTER_OUT_OF_PAPER : ERROR_STATE_WARNING,
363 STATUS_PRINTER_BANNER_EJECT : ERROR_STATE_WARNING,
364 STATUS_PRINTER_BANNER_MISMATCH : ERROR_STATE_WARNING,
365 STATUS_PRINTER_PHOTO_MISMATCH : ERROR_STATE_WARNING,
366 STATUS_PRINTER_DUPLEX_MISMATCH : ERROR_STATE_WARNING,
367 STATUS_PRINTER_MEDIA_JAM : ERROR_STATE_ERROR,
368 STATUS_PRINTER_CARRIAGE_STALL : ERROR_STATE_ERROR,
369 STATUS_PRINTER_PAPER_STALL : ERROR_STATE_ERROR,
370 STATUS_PRINTER_PEN_FAILURE : ERROR_STATE_ERROR,
371 STATUS_PRINTER_HARD_ERROR : ERROR_STATE_ERROR,
372 STATUS_PRINTER_POWER_DOWN : ERROR_STATE_ERROR,
373 STATUS_PRINTER_FRONT_PANEL_TEST : ERROR_STATE_ERROR,
374 STATUS_PRINTER_CLEAN_OUT_TRAY_MISSING : ERROR_STATE_ERROR,
375 STATUS_PRINTER_OUTPUT_BIN_FULL : ERROR_STATE_ERROR,
376 STATUS_PRINTER_MEDIA_SIZE_MISMATCH : ERROR_STATE_WARNING,
377 STATUS_PRINTER_MANUAL_DUPLEX_BLOCK : ERROR_STATE_ERROR,
378 STATUS_PRINTER_SERVCE_STALL : ERROR_STATE_ERROR,
379 STATUS_PRINTER_OUT_OF_INK : ERROR_STATE_ERROR,
380 STATUS_PRINTER_LIO_ERROR : ERROR_STATE_ERROR,
381 STATUS_PRINTER_PUMP_STALL : ERROR_STATE_ERROR,
382 STATUS_PRINTER_TRAY_2_MISSING : ERROR_STATE_ERROR,
383 STATUS_PRINTER_DUPLEXER_MISSING : ERROR_STATE_ERROR,
384 STATUS_PRINTER_REAR_TRAY_MISSING : ERROR_STATE_ERROR,
385 STATUS_PRINTER_PEN_NOT_LATCHED : ERROR_STATE_ERROR,
386 STATUS_PRINTER_BATTERY_VERY_LOW : ERROR_STATE_WARNING,
387 STATUS_PRINTER_SPITTOON_FULL : ERROR_STATE_ERROR,
388 STATUS_PRINTER_OUTPUT_TRAY_CLOSED : ERROR_STATE_ERROR,
389 STATUS_PRINTER_MANUAL_FEED_BLOCKED : ERROR_STATE_ERROR,
390 STATUS_PRINTER_REAR_FEED_BLOCKED : ERROR_STATE_ERROR,
391 STATUS_PRINTER_TRAY_2_OUT_OF_PAPER : ERROR_STATE_LOW_PAPER,
392 STATUS_PRINTER_UNABLE_TO_LOAD_FROM_LOCKED_TRAY : ERROR_STATE_ERROR,
393 STATUS_PRINTER_NON_HP_INK : ERROR_STATE_WARNING,
394 STATUS_PRINTER_PEN_CALIBRATION_RESUME : ERROR_STATE_WARNING,
395 STATUS_PRINTER_MEDIA_TYPE_MISMATCH : ERROR_STATE_WARNING,
396 STATUS_PRINTER_CUSTOM_MEDIA_MISMATCH : ERROR_STATE_WARNING,
397 STATUS_PRINTER_PEN_CLEANING : ERROR_STATE_WARNING,
398 STATUS_PRINTER_PEN_CLEANING : ERROR_STATE_WARNING,
399 STATUS_PRINTER_WARMING_UP : ERROR_STATE_BUSY,
400 STATUS_PRINTER_LOW_PAPER : ERROR_STATE_LOW_PAPER,
401 STATUS_PRINTER_DOOR_OPEN : ERROR_STATE_ERROR,
402 STATUS_PRINTER_OFFLINE : ERROR_STATE_ERROR,
403 STATUS_PRINTER_LOW_TONER : ERROR_STATE_LOW_SUPPLIES,
404 STATUS_PRINTER_NO_TONER : ERROR_STATE_LOW_SUPPLIES,
405 STATUS_PRINTER_SERVICE_REQUEST : ERROR_STATE_ERROR,
406 STATUS_PRINTER_FUSER_ERROR : ERROR_STATE_ERROR,
407 STATUS_DEVICE_UNSUPPORTED : ERROR_STATE_ERROR,
408 STATUS_PRINTER_CARTRIDGE_MISSING : ERROR_STATE_ERROR,
409 STATUS_PRINTER_CARTRIDGE_WRONG : ERROR_STATE_ERROR,
410 STATUS_PRINTER_PRINTHEAD_MISSING : ERROR_STATE_ERROR,
411 # The following block are EVENTs because they are only
412 # recieved as events from hpmud, hp backend, etc.
413 # i.e., a device does not produce status codes in this range
414 EVENT_ERROR_SUCCESS : ERROR_STATE_CLEAR,
415 EVENT_ERROR_UNKNOWN_ERROR : ERROR_STATE_ERROR,
416 EVENT_ERROR_DEVICE_NOT_FOUND : ERROR_STATE_ERROR,
417 EVENT_ERROR_INVALID_DEVICE_ID : ERROR_STATE_ERROR,
418 EVENT_ERROR_INVALID_DEVICE_URI : ERROR_STATE_ERROR,
419 EVENT_ERROR_DATA_LENGTH_EXCEEDS_MAX : ERROR_STATE_WARNING,
420 EVENT_ERROR_DEVICE_IO_ERROR : ERROR_STATE_ERROR,
421 EVENT_ERROR_NO_PROBED_DEVICES_FOUND : ERROR_STATE_WARNING,
422 EVENT_ERROR_DEVICE_BUSY : ERROR_STATE_BUSY,
423 EVENT_ERROR_DEVICE_STATUS_NOT_AVAILABLE : ERROR_STATE_ERROR,
424 EVENT_ERROR_INVALID_SERVICE_NAME : ERROR_STATE_ERROR,
425 EVENT_ERROR_ERROR_INVALID_CHANNEL_ID : ERROR_STATE_ERROR,
426 EVENT_ERROR_CHANNEL_BUSY : ERROR_STATE_BUSY,
427 EVENT_ERROR_DEVICE_DOES_NOT_SUPPORT_OPERATION : ERROR_STATE_ERROR,
428 EVENT_ERROR_DEVICEOPEN_FAILED_ONE_DEVICE_ONLY : ERROR_STATE_ERROR,
429 EVENT_ERROR_DEVICEOPEN_FAILED_DEV_NODE_MOVED : ERROR_STATE_ERROR,
431 EVENT_START_SCAN_JOB : ERROR_STATE_SCANNING,
432 EVENT_END_SCAN_JOB : ERROR_STATE_OK,
433 EVENT_SCANNER_FAIL : ERROR_STATE_ERROR,
434 EVENT_SCAN_ADF_DOOR_OPEN : ERROR_STATE_ERROR,
435 EVENT_SCAN_ADF_JAM : ERROR_STATE_ERROR,
436 EVENT_SCAN_WAITING_FOR_PC : ERROR_STATE_SCANNING,
437 EVENT_SCAN_TO_DESTINATION_NOTSET : ERROR_STATE_ERROR,
438 EVENT_SCAN_ADF_LOADED : ERROR_STATE_OK,
439 EVENT_SCAN_CANCEL : ERROR_STATE_OK,
440 EVENT_SIZE_WARNING : ERROR_STATE_WARNING,
441 EVENT_SCAN_ADF_NO_DOCS : ERROR_STATE_OK,
442 EVENT_SCAN_ADF_MISPICK : ERROR_STATE_WARNING,
443 EVENT_SCAN_BUSY : ERROR_STATE_SCANNING,
445 EVENT_FAX_DIALING : ERROR_STATE_BUSY,
446 EVENT_FAX_CONNECTING : ERROR_STATE_BUSY,
447 EVENT_START_FAX_JOB : ERROR_STATE_FAXING,
448 STATUS_FAX_TX_ACTIVE : ERROR_STATE_FAXING,
449 STATUS_FAX_RX_ACTIVE : ERROR_STATE_FAXING,
450 EVENT_END_FAX_JOB : ERROR_STATE_OK,
451 EVENT_FAX_JOB_FAIL : ERROR_STATE_ERROR,
452 EVENT_FAX_JOB_CANCELED : ERROR_STATE_ERROR,
453 EVENT_FAX_SEND_ERROR : ERROR_STATE_ERROR,
454 EVENT_FAX_RECV_ERROR : ERROR_STATE_ERROR,
455 EVENT_FAX_ERROR_STORAGE_FULL : ERROR_STATE_WARNING,
456 EVENT_FAX_BLOCKING : ERROR_STATE_ERROR,
458 EVENT_START_COPY_JOB : ERROR_STATE_COPYING,
459 EVENT_END_COPY_JOB : ERROR_STATE_OK,
460 EVENT_COPY_JOB_FAIL : ERROR_STATE_ERROR,
461 EVENT_COPY_JOB_CANCELED : ERROR_STATE_ERROR,
463 EVENT_START_PCARD_JOB : ERROR_STATE_PHOTOCARD,
464 EVENT_END_PCARD_JOB : ERROR_STATE_CLEAR,
465 EVENT_PCARD_JOB_FAIL : ERROR_STATE_ERROR,
466 EVENT_PCARD_UNABLE_TO_MOUNT : ERROR_STATE_ERROR,
467 EVENT_PCARD_FILES_TRANSFERED : ERROR_STATE_OK,
470 STATUS_PRINTER_LOW_BLACK_INK : ERROR_STATE_LOW_SUPPLIES,
471 STATUS_PRINTER_LOW_TRI_COLOR_INK : ERROR_STATE_LOW_SUPPLIES,
472 STATUS_PRINTER_LOW_PHOTO_INK : ERROR_STATE_LOW_SUPPLIES,
473 STATUS_PRINTER_LOW_CYAN_INK : ERROR_STATE_LOW_SUPPLIES,
474 STATUS_PRINTER_LOW_MAGENTA_INK : ERROR_STATE_LOW_SUPPLIES,
475 STATUS_PRINTER_LOW_YELLOW_INK : ERROR_STATE_LOW_SUPPLIES,
476 STATUS_PRINTER_LOW_PHOTO_CYAN_INK : ERROR_STATE_LOW_SUPPLIES,
477 STATUS_PRINTER_LOW_PHOTO_MAGENTA_INK : ERROR_STATE_LOW_SUPPLIES,
478 STATUS_PRINTER_LOW_PHOTO_YELLOW_INK : ERROR_STATE_LOW_SUPPLIES,
479 STATUS_PRINTER_LOW_PHOTO_GRAY_INK : ERROR_STATE_LOW_SUPPLIES,
480 STATUS_PRINTER_LOW_PHOTO_BLUE_INK : ERROR_STATE_LOW_SUPPLIES,
482 STATUS_PRINTER_LOW_BLACK_TONER : ERROR_STATE_LOW_SUPPLIES,
483 STATUS_PRINTER_LOW_CYAN_TONER : ERROR_STATE_LOW_SUPPLIES,
484 STATUS_PRINTER_LOW_MAGENTA_TONER : ERROR_STATE_LOW_SUPPLIES,
485 STATUS_PRINTER_LOW_YELLOW_TONER : ERROR_STATE_LOW_SUPPLIES,
492 DEVICE_STATE_NOT_FOUND = -1
493 DEVICE_STATE_FOUND = 0
494 DEVICE_STATE_JUST_FOUND = 1
499 IO_STATE_HP_READY = 1
500 IO_STATE_HP_NOT_AVAIL = 2
504 # Systray visibility setting
506 SYSTRAY_VISIBLE_SHOW_ALWAYS = 0
507 SYSTRAY_VISIBLE_HIDE_WHEN_INACTIVE = 1
508 SYSTRAY_VISIBLE_HIDE_ALWAYS = 2
511 # Systray messages setting
513 SYSTRAY_MESSAGES_SHOW_ALL = 0
514 SYSTRAY_MESSAGES_SHOW_ERRORS_AND_WARNINGS = 1
515 SYSTRAY_MESSAGES_SHOW_ERRORS_ONLY = 2
516 SYSTRAY_MESSAGES_SHOW_NONE = 3
519 # Defines for model query types and status query
526 AGENT_KIND_HEAD = 1 # InkJet head (no ink)
527 AGENT_KIND_SUPPLY = 2 # InkJet supply (ink tank)
528 AGENT_KIND_HEAD_AND_SUPPLY = 3 # InkJet (cartridge)
529 AGENT_KIND_TONER_CARTRIDGE = 4 # LaserJet
530 AGENT_KIND_MAINT_KIT = 5 # LaserJet "Maintenance kit (fuser)"
531 AGENT_KIND_ADF_KIT = 6 # LaserJet "Document feeder kit"
532 AGENT_KIND_DRUM_KIT = 7 # LaserJet
533 AGENT_KIND_TRANSFER_KIT = 8 # LaserJet
534 AGENT_KIND_INT_BATTERY = 9 # Mobile deskjet (DJ450, etc)
535 AGENT_KIND_UNKNOWN = 0x3e # (62)
540 AGENT_TYPE_CMY = 2 # Tricolor
541 AGENT_TYPE_KCM = 3 # Photo
543 AGENT_TYPE_MAGENTA = 5
544 AGENT_TYPE_YELLOW = 6
545 AGENT_TYPE_CYAN_LOW = 7
546 AGENT_TYPE_MAGENTA_LOW = 8
547 AGENT_TYPE_YELLOW_LOW = 9
548 AGENT_TYPE_GGK = 10 # 2 shades of grey and black
550 AGENT_TYPE_KCMY_CM = 12 # K/C/M/Y/LM/LC (02 pen set head)
551 AGENT_TYPE_LC_LM = 13 # light cyan and light magenta
552 #AGENT_TYPE_Y_M = 14 # yellow and magenta (B9180)
553 #AGENT_TYPE_C_K = 15 # cyan and black (B9180)
554 AGENT_TYPE_K_Y = 14 # black and yellow (for LJ Pro)
555 AGENT_TYPE_C_M = 15 # cyan and magenta (for LJ Pro)
556 AGENT_TYPE_LG_PK = 16 # light grey and photo black
557 AGENT_TYPE_LG = 17 # light grey
558 AGENT_TYPE_G = 18 # medium grey
559 AGENT_TYPE_PG = 19 # photo grey
560 AGENT_TYPE_BLACK_B8800 = 39 # For PS B8800
561 AGENT_TYPE_WHITE = 0x20 # For ISO 10180 compatibility
562 AGENT_TYPE_RED = 0x21 # For ISO 10180 compatibility
563 AGENT_TYPE_UNSPECIFIED = 0x3e # (62) Used for kind = 5, 6, 7, 8, or 9
564 AGENT_TYPE_ERROR = 0x3f # (63)
568 AGENT_HEALTH_MISINSTALLED = 1 # supply/cart
569 AGENT_HEALTH_FAIR_MODERATE = 1 # head
570 AGENT_HEALTH_INCORRECT = 2
571 AGENT_HEALTH_FAILED = 3
572 AGENT_HEALTH_OVERTEMP = 4 # Battery
573 AGENT_HEALTH_CHARGING = 5 # Battery
574 AGENT_HEALTH_DISCHARGING = 6 # Battery
575 AGENT_HEALTH_UNKNOWN = 0xff
578 AGENT_LEVEL_TRIGGER_SUFFICIENT_0 = 0
579 AGENT_LEVEL_TRIGGER_SUFFICIENT_1 = 1
580 AGENT_LEVEL_TRIGGER_SUFFICIENT_2 = 2
581 AGENT_LEVEL_TRIGGER_SUFFICIENT_3 = 3
582 AGENT_LEVEL_TRIGGER_SUFFICIENT_4 = 4
583 AGENT_LEVEL_TRIGGER_MAY_BE_LOW = 5
584 AGENT_LEVEL_TRIGGER_PROBABLY_OUT = 6
585 AGENT_LEVEL_TRIGGER_ALMOST_DEFINITELY_OUT = 7
587 # "Computed" configurations (2-pen products)
588 AGENT_CONFIG_NONE = 0
589 AGENT_CONFIG_BLACK_ONLY = 1
590 AGENT_CONFIG_PHOTO_ONLY = 2
591 AGENT_CONFIG_COLOR_ONLY = 3
592 AGENT_CONFIG_GREY_ONLY = 4
593 AGENT_CONFIG_COLOR_AND_BLACK = 5
594 AGENT_CONFIG_COLOR_AND_PHOTO = 6
595 AGENT_CONFIG_COLOR_AND_GREY = 7
596 AGENT_CONFIG_INVALID = 99
599 ALIGN_TYPE_UNSUPPORTED = -1
604 ALIGN_TYPE_LIDIL_0_3_8 = 4
605 ALIGN_TYPE_LIDIL_0_4_3 = 5
606 ALIGN_TYPE_LIDIL_AIO = 6
607 ALIGN_TYPE_LIDIL_VIP = 7
608 ALIGN_TYPE_DESKJET_450 = 8
609 ALIGN_TYPE_9XX_NO_EDGE_ALIGN = 9
611 ALIGN_TYPE_LIDIL_0_5_4 = 11
612 ALIGN_TYPE_OJ_PRO = 12 # OJ Pro L7xxx
613 ALIGN_TYPE_AIO = 13 # AiO Non-LIDIL (OJ J4500/J4600)
614 ALIGN_TYPE_LIDIL_DJ_D1600 = 14
616 ALIGN_TYPE_LEDM_MANUAL = 16
617 ALIGN_TYPE_LEDM_FF_CC_0 = 17
620 CLEAN_TYPE_UNSUPPORTED = -1
624 CLEAN_TYPE_PCL_WITH_PRINTOUT = 3
627 COLOR_CAL_TYPE_UNSUPPORTED = -1
628 COLOR_CAL_TYPE_NONE = 0
629 COLOR_CAL_TYPE_DESKJET_450 = 1
630 COLOR_CAL_TYPE_MALIBU_CRICK = 2
631 COLOR_CAL_TYPE_STRINGRAY_LONGBOW_TORNADO = 3
632 COLOR_CAL_TYPE_CONNERY = 4
633 COLOR_CAL_TYPE_COUSTEAU = 5
634 COLOR_CAL_TYPE_CARRIER = 6
635 COLOR_CAL_TYPE_TYPHOON = 7
639 STATUS_TYPE_VSTATUS = 1
642 #STATUS_TYPE_S_W_BATTERY = 4 # DEPRECATED
643 #STATUS_TYPE_S_SNMP = 5 # DEPRECATED
644 STATUS_TYPE_LJ_XML = 6
645 #STATUS_TYPE_S_LIDIL = 7 # DEPRECATED
647 STATUS_TYPE_PML_AND_PJL = 9 # Same as types 3(tbx)+8(hp:)
648 STATUS_TYPE_LEDM = 10 # Low-end Data Model
649 STATUS_TYPE_LEDM_FF_CC_0 = 11 #Low-end Data Model over FF/CC/0 USB channel
651 # status-battery-check
652 STATUS_BATTERY_CHECK_NONE = 0
653 STATUS_BATTERY_CHECK_STD = 1 # Deskjet 450/460 (PML or dyn. counters)
654 STATUS_BATTERY_CHECK_PML = 2 # Officejet H470 (PML)
656 # status-dynamic-counters
657 STATUS_DYNAMIC_COUNTERS_NONE = 0
658 STATUS_DYNAMIC_COUNTERS_PCL = 1
659 STATUS_DYNAMIC_COUNTERS_PML_SNMP = 2
660 STATUS_DYNAMIC_COUNTERS_LIDIL_0_5_4 = 3 # Deskjet D4100
664 TECH_TYPE_MONO_INK = 1
665 TECH_TYPE_COLOR_INK = 2
666 TECH_TYPE_MONO_LASER = 3
667 TECH_TYPE_COLOR_LASER = 4
668 TECH_TYPE_COLOR_EDGELINE = 5
671 SUPPORT_TYPE_NONE = 0
672 SUPPORT_TYPE_HPIJS = 1
673 SUPPORT_TYPE_HPLIP = 2
676 FAX_TYPE_NOT_SUPPORTED = -1
678 FAX_TYPE_BLACK_SEND_EARLY_OPEN = 1 # newer models
679 FAX_TYPE_BLACK_SEND_LATE_OPEN = 2 # older models
680 FAX_TYPE_BLACK_AND_COLOR_SEND = 3 # future/OZ
684 FAX_TYPE_LEDMSOAP = 7
689 PCARD_TYPE_USB_MASS_STORAGE = 2
692 SCAN_TYPE_DIGITAL_SENDER = -2
693 SCAN_TYPE_NOT_SUPPORTED = -1
700 SCAN_TYPE_SCL_DUPLEX = 6
702 SCAN_TYPE_MARVEL2 = 8
706 SCAN_SRC_FLATBED = 0x1
707 SCAN_SRC_SCROLLFED = 0x2
708 SCAN_SRC_CAMERA = 0x4
711 COPY_TYPE_NOT_SUPPORTED = -1
713 COPY_TYPE_DEVICE = 1 # LaserJet MFP PML
714 COPY_TYPE_SCAN_TO_PRINT = 2
715 COPY_TYPE_AIO_DEVICE = 3 # Inkjet AiO PML
718 TOP_DOOR_NOT_PRESENT = 0
723 SUPPLY_DOOR_NOT_PRESENT = 0
724 SUPPLY_DOOR_CLOSED = 1
728 MEDIA_PATH_NOT_PRESENT = 0 # S:00 means banner not present
729 MEDIA_PATH_CUT_SHEET = 1 # S:01 means banner present/engaged
730 MEDIA_PATH_BANNER = 2
733 # 'photo_tray'(S:03 photo/hagaki)
734 PHOTO_TRAY_NOT_PRESENT = 0
735 PHOTO_TRAY_NOT_ENGAGED = 1
736 PHOTO_TRAY_ENGAGED = 2
738 # 'duplexer' (S:02 cleanout)
739 DUPLEXER_NOT_PRESENT = 0
740 DUPLEXER_DOOR_CLOSED = 1
741 DUPLEXER_DOOR_OPEN = 2
743 # 'in_tray1' & 'in_tray2'
744 IN_TRAY_NOT_PRESENT = 0
745 IN_TRAY_PRESENT = 1 # for !S:02, test for > IN_TRAY_NOT_PRESENT
746 IN_TRAY_DEFAULT = 2 # S:02 only
747 IN_TRAY_LOCKED = 3 # S:02 only
750 IO_SUPPORT_PARALLEL = 0x1
752 IO_SUPPORT_NETWORK = 0x4
753 IO_SUPPORT_WIRELESS = 0x8
754 IO_SUPPORT_BLUETOOTH = 0x10
756 # User friendly model categories
757 MODEL_TYPE2_UNSUPPORTED = 0
758 MODEL_TYPE2_DESKJET = 1
759 MODEL_TYPE2_DESKJET_AIO = 2
760 MODEL_TYPE2_PHOTOSMART = 3
761 MODEL_TYPE2_OFFICEJET = 4
763 MODEL_TYPE2_LASERJET = 6
764 MODEL_TYPE2_COLOR_LASERJET = 7
766 MODEL_TYPE2_EDGELINE = 9
767 MODEL_TYPE2_APOLLO = 10
768 MODEL_TYPE2_SCANJET = 11 # not supported
769 MODEL_TYPE2_DESIGNJET = 12
770 MODEL_TYPE2_OTHER = 13 # No specific "sub-brand" (e.g., 910, cp1610)
772 MONITOR_TYPE_UNSUPPORTED = -1
773 MONITOR_TYPE_NONE = 0
776 # 'io-mode' and 'io-mfp-mode'
779 #IO_MODE_NOT_USED = 2
781 IO_MODE_DOT4_PHOENIX = 4
782 IO_MODE_DOT4_BRIDGE = 5
783 IO_MODE_MLC_GUSHER = 6
784 IO_MODE_MLC_MISER = 7
792 #Plugin installation status values
793 PLUGIN_VERSION_MISMATCH = '-1'
794 PLUGIN_NOT_INSTALLED = '0'
795 PLUGIN_INSTALLED = '1'
798 PLUGIN_REASON_NONE = 0x0
799 PLUGIN_REASON_PRINTING_SUPPORT = 0x1
800 PLUGIN_REASON_FASTER_PRINTING = 0x2
801 PLUGIN_REASON_BETTER_PRINTING_PQ = 0x4
802 PLUGIN_REASON_PRINTING_FEATURES = 0x8
803 PLUGIN_REASON_RESERVED_10 = 0x10
804 PLUGIN_REASON_RESERVED_20 = 0x20
805 PLUGIN_REASON_SCANNING_SUPPORT = 0x40
806 PLUGIN_REASON_FASTER_SCANNING = 0x80
807 PLUGIN_REASON_BETTER_SCANNING_IQ = 0x100
808 PLUGIN_REASON_RESERVED_200 = 0x200
809 PLUGIN_REASON_RESERVED_400 = 0x400
810 PLUGIN_REASON_FAXING_SUPPORT = 0x800
811 PLUGIN_REASON_FAX_FEATURES = 0x1000
812 PLUGIN_REASON_RESERVED_2000 = 0x2000
813 PLUGIN_REASON_IO_SUPPORT = 0x4000
814 PLUGIN_REASON_UI_FEATURES = 0x8000
815 PLUGIN_REASON_OTHER_FEATURES = 0x10000
816 PLUGIN_REASON_RESERVED_20000 = 0x20000
817 PLUGIN_REASON_RESERVED_40000 = 0x40000
819 # embedded web server
820 EWS_NOT_SUPPORTED = -1
825 PANEL_CHECK_TYPE_NONE = 0
826 PANEL_CHECK_TYPE_CHECK = 1
829 PQ_DIAG_TYPE_UNSUPPORTED = -1
830 PQ_DIAG_TYPE_NONE = 0
835 LINEFEED_CAL_TYPE_UNSUPPORTED = -1
836 LINEFEED_CAL_TYPE_NONE = 0
837 LINEFEED_CAL_TYPE_OJ_K550 = 1
838 LINEFEED_CAL_TYPE_OJ_PRO_L7XXX = 2
841 POWER_SETTINGS_NONE = 0
842 POWER_SETTINGS_EPML = 1 # DJ450/DJ460
843 POWER_SETTINGS_PML = 2 # OJ H470
845 # Paper types (for hp-toolbox paper prompts)
847 PAPER_TYPE_HP_ADV_PHOTO = 1
850 JOB_STORAGE_DISABLE = 0
851 JOB_STORAGE_ENABLE = 1
853 JOB_STORAGE_TYPE_OFF = 0
854 JOB_STORAGE_TYPE_PROOF_AND_HOLD = 1
855 JOB_STORAGE_TYPE_PERSONAL = 2
856 JOB_STORAGE_TYPE_QUICK_COPY = 3
857 JOB_STORAGE_TYPE_STORE = 4
859 JOB_STORAGE_EXISTING_JOB_REPLACE = 0
860 JOB_STORAGE_EXISTING_JOB_APPEND_1_99 = 1
862 JOB_STORAGE_HOLD_TYPE_PUBLIC = 0
863 JOB_STORAGE_HOLD_TYPE_PRIVATE = 1
866 WIFI_CONFIG_UNSUPPORTED = -1
868 WIFI_CONFIG_USB_XML = 1
869 WIFI_CONFIG_DEFAULT = 2
873 SUPPORT_UNRELEASED = 0
876 #USB-Autoplugin-installation
877 EVENT_AUTO_CONFIGURE = 900
879 # Queue diagnosis codes
880 QUEUES_CONFIG_ERROR = 1
882 QUEUES_INCORRECT_PPD = 3
883 QUEUES_USER_GROUPS_ERROR = 4
884 QUEUES_MSG_SENDING = 5