1pappl-printer(3) pappl printer functions pappl-printer(3)
2
3
4
6 pappl-printer - pappl printer functions
7
9 Printer Application Framework (libpappl, "pkg-config --cflags --libs
10 pappl")
11
13 #include <pappl/pappl.h>
14
15 typedef struct _pappl_printer_s pappl_printer_t;
16
17 void
18 papplPrinterCancelAllJobs(pappl_printer_t *printer);
19
20
21 void
22 papplPrinterCloseDevice(pappl_printer_t *printer);
23
24
25 pappl_printer_t *
26 papplPrinterCreate(pappl_system_t *system, int printer_id, const char
27 *printer_name, const char *driver_name, const char *device_id, const
28 char *device_uri);
29
30 void
31 papplPrinterDelete(pappl_printer_t *printer);
32
33 pappl_job_t *
34 papplPrinterFindJob(pappl_printer_t *printer, int job_id);
35
36 pappl_contact_t *
37 papplPrinterGetContact(pappl_printer_t *printer, pappl_contact_t *con‐
38 tact);
39
40 const char *
41 papplPrinterGetDeviceID(pappl_printer_t *printer);
42
43 const char *
44 papplPrinterGetDeviceURI(pappl_printer_t *printer);
45
46 char *
47 papplPrinterGetDNSSDName(pappl_printer_t *printer, char *buffer, size_t
48 bufsize);
49
50 ipp_t *
51 papplPrinterGetDriverAttributes(pappl_printer_t *printer);
52
53 pappl_driver_data_t *
54 papplPrinterGetDriverData(pappl_printer_t *printer, pappl_driver_data_t
55 *data);
56
57 const char *
58 papplPrinterGetDriverName(pappl_printer_t *printer);
59
60 char *
61 papplPrinterGetGeoLocation(pappl_printer_t *printer, char *buffer,
62 size_t bufsize);
63
64 int
65 papplPrinterGetID(pappl_printer_t *printer);
66
67 int
68 papplPrinterGetImpressionsCompleted(pappl_printer_t *printer);
69
70 char *
71 papplPrinterGetLocation(pappl_printer_t *printer, char *buffer, size_t
72 bufsize);
73
74 int
75 papplPrinterGetMaxActiveJobs(pappl_printer_t *printer);
76
77 int
78 papplPrinterGetMaxCompletedJobs(pappl_printer_t *printer);
79
80 const char *
81 papplPrinterGetName(pappl_printer_t *printer);
82
83 int
84 papplPrinterGetNextJobID(pappl_printer_t *printer);
85
86 int
87 papplPrinterGetNumberOfActiveJobs(pappl_printer_t *printer);
88
89 int
90 papplPrinterGetNumberOfCompletedJobs(pappl_printer_t *printer);
91
92 int
93 papplPrinterGetNumberOfJobs(pappl_printer_t *printer);
94
95 char *
96 papplPrinterGetOrganization(pappl_printer_t *printer, char *buffer,
97 size_t bufsize);
98
99 char *
100 papplPrinterGetOrganizationalUnit(pappl_printer_t *printer, char *buf‐
101 fer, size_t bufsize);
102
103 char *
104 papplPrinterGetPrintGroup(pappl_printer_t *printer, char *buffer,
105 size_t bufsize);
106
107 pappl_preason_t
108 papplPrinterGetReasons(pappl_printer_t *printer);
109
110 ipp_pstate_t
111 papplPrinterGetState(pappl_printer_t *printer);
112
113 int
114 papplPrinterGetSupplies(pappl_printer_t *printer, int max_supplies,
115 pappl_supply_t *supplies);
116
117 pappl_system_t *
118 papplPrinterGetSystem(pappl_printer_t *printer);
119
120
121 void
122 papplPrinterIterateActiveJobs(pappl_printer_t *printer, pappl_job_cb_t
123 cb, void *data, int first_index, int limit);
124
125 void
126 papplPrinterIterateAllJobs(pappl_printer_t *printer, pappl_job_cb_t cb,
127 void *data, int first_index, int limit);
128
129 void
130 papplPrinterIterateCompletedJobs(pappl_printer_t *printer,
131 pappl_job_cb_t cb, void *data, int first_index, int limit);
132
133
134 pappl_device_t *
135 papplPrinterOpenDevice(pappl_printer_t *printer);
136
137
138 void
139 papplPrinterPause(pappl_printer_t *printer);
140
141 void
142 papplPrinterResume(pappl_printer_t *printer);
143
144
145 void
146 papplPrinterSetContact(pappl_printer_t *printer, pappl_contact_t *con‐
147 tact);
148
149 void
150 papplPrinterSetDNSSDName(pappl_printer_t *printer, const char *value);
151
152 void
153 papplPrinterSetDriverData(pappl_printer_t *printer, pappl_driver_data_t
154 *data, ipp_t *attrs);
155
156 void
157 papplPrinterSetDriverDefaults(pappl_printer_t *printer,
158 pappl_driver_data_t *data);
159
160 void
161 papplPrinterSetGeoLocation(pappl_printer_t *printer, const char
162 *value);
163
164 void
165 papplPrinterSetImpressionsCompleted(pappl_printer_t *printer, int add);
166
167 void
168 papplPrinterSetLocation(pappl_printer_t *printer, const char *value);
169
170 void
171 papplPrinterSetMaxActiveJobs(pappl_printer_t *printer, int max_ac‐
172 tive_jobs);
173
174 void
175 papplPrinterSetMaxCompletedJobs(pappl_printer_t *printer, int max_com‐
176 pleted_jobs);
177
178 void
179 papplPrinterSetNextJobID(pappl_printer_t *printer, int next_job_id);
180
181 void
182 papplPrinterSetOrganization(pappl_printer_t *printer, const char
183 *value);
184
185 void
186 papplPrinterSetOrganizationalUnit(pappl_printer_t *printer, const char
187 *value);
188
189 void
190 papplPrinterSetPrintGroup(pappl_printer_t *printer, const char *value);
191
192 void
193 papplPrinterSetReadyMedia(pappl_printer_t *printer, int num_ready,
194 pappl_media_col_t *ready);
195
196 void
197 papplPrinterSetReasons(pappl_printer_t *printer, pappl_preason_t add,
198 pappl_preason_t remove);
199
200 void
201 papplPrinterSetSupplies(pappl_printer_t *printer, int num_supplies,
202 pappl_supply_t *supplies);
203
204 void
205 papplPrinterSetUSB(pappl_printer_t *printer, unsigned vendor_id, un‐
206 signed product_id, pappl_uoptions_t options);
207
208
210 The PAPPL printer functions provide access to the printer object.
211 Printers are created and deleted by the printer application while the
212 life cycle of the pappl_printer_t objects are managed automatically by
213 the system object for the printer application.
214
215 The papplPrinterCreate function creates a new printer while the pappl‐
216 PrinterDelete function deletes a printer.
217
218 The papplPrinterPause function stops a printer while the papplPrinter‐
219 Resume function starts a printer.
220
221 The papplPrinterGet functions get the current values associated with a
222 printer while the papplPrinterSet functions set the current values as‐
223 sociated with a printer.
224
225 The papplPrinterCancelAddJobs, papplPrinterFindJob, papplPrinterGetNum‐
226 berOfActiveJobs, papplPrinterGetNumberOfCompletedJobs, papplPrinterGet‐
227 NumberOfJobs, papplPrinterIterateActiveJobs, papplPrinterIter‐
228 ateAllJobs, and papplPrinterIterateCompletedJobs functions provide ac‐
229 cess to the jobs queued on a printer.
230
231 The papplPrinterOpenDevice function provides access to the device asso‐
232 ciated with a printer when it is not processing a job. The device must
233 be later closed using the papplPrinterCloseDevice function so that the
234 printer can resume job processing.
235
237 pappl_color_mode_e
238 IPP "print-color-mode" bit values
239
240 PAPPL_COLOR_MODE_AUTO
241 ´auto' - Automatic color/monochrome print mode
242
243 PAPPL_COLOR_MODE_AUTO_MONOCHROME
244 ´auto-monochrome' - Automatic monochrome/process monochrome print
245 mode
246
247 PAPPL_COLOR_MODE_BI_LEVEL
248 ´bi-level' - B&W (threshold) print mode
249
250 PAPPL_COLOR_MODE_COLOR
251 ´color' - Full color print mode
252
253 PAPPL_COLOR_MODE_MONOCHROME
254 ´monochrome' - Grayscale print mode using 1 color
255
256 PAPPL_COLOR_MODE_PROCESS_MONOCHROME
257 ´process-monochrome' - Grayscale print mode using multiple colors
258
259 pappl_content_e
260 IPP "print-content-optimize" bit values
261
262 PAPPL_CONTENT_AUTO
263 ´auto': Automatically determine content
264
265 PAPPL_CONTENT_GRAPHIC
266 ´graphic': Optimize for vector graphics
267
268 PAPPL_CONTENT_PHOTO
269 ´photo': Optimize for photos/continuous tone images
270
271 PAPPL_CONTENT_TEXT
272 ´text': Optimize for text
273
274 PAPPL_CONTENT_TEXT_AND_GRAPHIC
275 ´text-and-graphic': Optimize for text and vector graphics
276
277 pappl_duplex_e
278 Duplex printing support
279
280 PAPPL_DUPLEX_FLIPPED
281 Duplex with flipped back sides
282
283 PAPPL_DUPLEX_MANUAL_TUMBLE
284 Duplex with back side rotated 180 degrees for short-edge duplex
285
286 PAPPL_DUPLEX_NONE
287 No duplex printing support
288
289 PAPPL_DUPLEX_NORMAL
290 Duplex with normal back sides
291
292 PAPPL_DUPLEX_ROTATED
293 Duplex with back side rotated 180 degrees for long-edge duplex
294
295 pappl_finishings_e
296 IPP "finishings" bit values
297
298 PAPPL_FINISHINGS_NONE
299 ´none'
300
301 PAPPL_FINISHINGS_PUNCH
302 ´punch'
303
304 PAPPL_FINISHINGS_STAPLE
305 ´staple'
306
307 PAPPL_FINISHINGS_TRIM
308 ´trim'
309
310 pappl_identify_actions_e
311 IPP "identify-actions" bit values
312
313 PAPPL_IDENTIFY_ACTIONS_DISPLAY
314 ´display': Display a message
315
316 PAPPL_IDENTIFY_ACTIONS_FLASH
317 ´flash': Flash the display or a light
318
319 PAPPL_IDENTIFY_ACTIONS_NONE
320 No actions
321
322 PAPPL_IDENTIFY_ACTIONS_SOUND
323 ´sound': Make a sound
324
325 PAPPL_IDENTIFY_ACTIONS_SPEAK
326 ´speak': Speak a message
327
328 pappl_kind_e
329 IPP "printer-kind" bit values
330
331 PAPPL_KIND_DISC
332 ´disc'
333
334 PAPPL_KIND_DOCUMENT
335 ´document'
336
337 PAPPL_KIND_ENVELOPE
338 ´envelope'
339
340 PAPPL_KIND_LABEL
341 ´label'
342
343 PAPPL_KIND_LARGE_FORMAT
344 ´large-format'
345
346 PAPPL_KIND_PHOTO
347 ´photo'
348
349 PAPPL_KIND_POSTCARD
350 ´postcard'
351
352 PAPPL_KIND_RECEIPT
353 ´receipt'
354
355 PAPPL_KIND_ROLL
356 ´roll'
357
358 pappl_label_mode_e
359 IPP "label-mode-xxx" bit values
360
361 PAPPL_LABEL_MODE_APPLICATOR
362 ´applicator'
363
364 PAPPL_LABEL_MODE_CUTTER
365 ´cutter'
366
367 PAPPL_LABEL_MODE_CUTTER_DELAYED
368 ´cutter-delayed'
369
370 PAPPL_LABEL_MODE_KIOSK
371 ´kiosk'
372
373 PAPPL_LABEL_MODE_PEEL_OFF
374 ´peel-off'
375
376 PAPPL_LABEL_MODE_PEEL_OFF_PREPEEL
377 ´peel-off-prepeel'
378
379 PAPPL_LABEL_MODE_REWIND
380 ´rewind'
381
382 PAPPL_LABEL_MODE_RFID
383 ´rfid'
384
385 PAPPL_LABEL_MODE_TEAR_OFF
386 ´tear-off'
387
388 pappl_media_tracking_e
389 IPP "media-tracking" bit values
390
391 PAPPL_MEDIA_TRACKING_CONTINUOUS
392 ´continuous'
393
394 PAPPL_MEDIA_TRACKING_GAP
395 ´gap'
396
397 PAPPL_MEDIA_TRACKING_MARK
398 ´mark'
399
400 PAPPL_MEDIA_TRACKING_WEB
401 ´web'
402
403 pappl_preason_e
404 IPP "printer-state-reasons" bit values
405
406 PAPPL_PREASON_COVER_OPEN
407 ´cover-open'
408
409 PAPPL_PREASON_DEVICE_STATUS
410 Supported papplDeviceGetStatus bits
411
412 PAPPL_PREASON_INPUT_TRAY_MISSING
413 ´input-tray-missing'
414
415 PAPPL_PREASON_MARKER_SUPPLY_EMPTY
416 ´marker-supply-empty'
417
418 PAPPL_PREASON_MARKER_SUPPLY_LOW
419 ´marker-supply-low'
420
421 PAPPL_PREASON_MARKER_WASTE_ALMOST_FULL
422 ´marker-waste-almost-full'
423
424 PAPPL_PREASON_MARKER_WASTE_FULL
425 ´marker-waste-full'
426
427 PAPPL_PREASON_MEDIA_EMPTY
428 ´media-empty'
429
430 PAPPL_PREASON_MEDIA_JAM
431 ´media-jam'
432
433 PAPPL_PREASON_MEDIA_LOW
434 ´media-low'
435
436 PAPPL_PREASON_MEDIA_NEEDED
437 ´media-needed'
438
439 PAPPL_PREASON_NONE
440 ´none'
441
442 PAPPL_PREASON_OFFLINE
443 ´offline'
444
445 PAPPL_PREASON_OTHER
446 ´other'
447
448 PAPPL_PREASON_SPOOL_AREA_FULL
449 ´spool-area-full'
450
451 PAPPL_PREASON_TONER_EMPTY
452 ´toner-empty'
453
454 PAPPL_PREASON_TONER_LOW
455 ´toner-low'
456
457 pappl_raster_type_e
458 IPP "pwg-raster-document-type-supported" bit values
459
460 PAPPL_PWG_RASTER_TYPE_ADOBE_RGB_16
461 16-bit per component AdobeRGB
462
463 PAPPL_PWG_RASTER_TYPE_ADOBE_RGB_8
464 8-bit per component AdobeRGB
465
466 PAPPL_PWG_RASTER_TYPE_BLACK_1
467 1-bit (device) black
468
469 PAPPL_PWG_RASTER_TYPE_BLACK_16
470 16-bit (device) black
471
472 PAPPL_PWG_RASTER_TYPE_BLACK_8
473 8-bit (device) black
474
475 PAPPL_PWG_RASTER_TYPE_CMYK_16
476 16-bit per component (device) CMYK
477
478 PAPPL_PWG_RASTER_TYPE_CMYK_8
479 8-bit per component (device) CMYK
480
481 PAPPL_PWG_RASTER_TYPE_NONE
482 Do not force a particular raster type
483
484 PAPPL_PWG_RASTER_TYPE_RGB_16
485 16-bit per component (device) RGB)
486
487 PAPPL_PWG_RASTER_TYPE_RGB_8
488 8-bit per component (device) RGB
489
490 PAPPL_PWG_RASTER_TYPE_SGRAY_16
491 16-bit grayscale with 2.2 gamma
492
493 PAPPL_PWG_RASTER_TYPE_SGRAY_8
494 8-bit grayscale with 2.2 gamma
495
496 PAPPL_PWG_RASTER_TYPE_SRGB_16
497 16-bit per component sRGB
498
499 PAPPL_PWG_RASTER_TYPE_SRGB_8
500 8-bit per component sRGB
501
502 pappl_scaling_e
503 IPP "print-scaling" bit values
504
505 PAPPL_SCALING_AUTO
506 ´auto': Scale to fit (non-borderless) or fill (borderless) if
507 larger, otherwise center
508
509 PAPPL_SCALING_AUTO_FIT
510 ´auto-fit': Scale to fit if larger, otherwise center
511
512 PAPPL_SCALING_FILL
513 ´fill': Scale to fill the media
514
515 PAPPL_SCALING_FIT
516 ´fit': Scale to fit within margins
517
518 PAPPL_SCALING_NONE
519 ´none': No scaling (center/crop)
520
521 pappl_sides_e
522 IPP "sides" bit values
523
524 PAPPL_SIDES_ONE_SIDED
525 ´one-sided'
526
527 PAPPL_SIDES_TWO_SIDED_LONG_EDGE
528 ´two-sided-long-edge'
529
530 PAPPL_SIDES_TWO_SIDED_SHORT_EDGE
531 ´two-sided-short-edge'
532
533 pappl_supply_color_e
534 "printer-supply" color values
535
536 PAPPL_SUPPLY_COLOR_BLACK
537 Black ink/toner (photo or matte)
538
539 PAPPL_SUPPLY_COLOR_CYAN
540 Cyan ink/toner
541
542 PAPPL_SUPPLY_COLOR_GRAY
543 Gray ink (sometimes marketed as light gray)
544
545 PAPPL_SUPPLY_COLOR_GREEN
546 Green ink
547
548 PAPPL_SUPPLY_COLOR_LIGHT_CYAN
549 Light cyan ink
550
551 PAPPL_SUPPLY_COLOR_LIGHT_GRAY
552 Light gray ink (sometimes marketed as light light gray)
553
554 PAPPL_SUPPLY_COLOR_LIGHT_MAGENTA
555 Light magenta ink
556
557 PAPPL_SUPPLY_COLOR_MAGENTA
558 Magenta ink/toner
559
560 PAPPL_SUPPLY_COLOR_NO_COLOR
561 No color (waste tank, etc.)
562
563 PAPPL_SUPPLY_COLOR_ORANGE
564 Orange ink
565
566 PAPPL_SUPPLY_COLOR_VIOLET
567 Violet ink
568
569 PAPPL_SUPPLY_COLOR_YELLOW
570 Yellow ink/toner
571
572 pappl_supply_type_e
573 IPP "printer-supply" type values
574
575 PAPPL_SUPPLY_TYPE_BANDING_SUPPLY
576 Banding finisher supplies
577
578 PAPPL_SUPPLY_TYPE_BINDING_SUPPLY
579 Binding finisher supplies
580
581 PAPPL_SUPPLY_TYPE_CLEANER_UNIT
582 Cleaning unit
583
584 PAPPL_SUPPLY_TYPE_CORONA_WIRE
585 Corona wire (laser printers)
586
587 PAPPL_SUPPLY_TYPE_COVERS
588 Cover finisher supplies
589
590 PAPPL_SUPPLY_TYPE_DEVELOPER
591 Developer supply
592
593 PAPPL_SUPPLY_TYPE_FUSER
594 Fuser (laser printers)
595
596 PAPPL_SUPPLY_TYPE_FUSER_CLEANING_PAD
597 Fuser cleaning pad (laser printers)
598
599 PAPPL_SUPPLY_TYPE_FUSER_OIL
600 Fuser oil supply (laser printers)
601
602 PAPPL_SUPPLY_TYPE_FUSER_OILER
603 Fuser oiler (laser printers)
604
605 PAPPL_SUPPLY_TYPE_FUSER_OIL_WICK
606 Fuser oil wick (laser printers)
607
608 PAPPL_SUPPLY_TYPE_INK
609 Ink supply
610
611 PAPPL_SUPPLY_TYPE_INK_CARTRIDGE
612 Ink cartridge
613
614 PAPPL_SUPPLY_TYPE_INK_RIBBON
615 Ink ribbon supply
616
617 PAPPL_SUPPLY_TYPE_INSERTS
618 Insert finisher supplies
619
620 PAPPL_SUPPLY_TYPE_OPC
621 Optical photoconductor (laser printers)
622
623 PAPPL_SUPPLY_TYPE_PAPER_WRAP
624 Wrap finisher supplies
625
626 PAPPL_SUPPLY_TYPE_RIBBON_WAX
627 Wax ribbon supply
628
629 PAPPL_SUPPLY_TYPE_SOLID_WAX
630 Solid wax supply
631
632 PAPPL_SUPPLY_TYPE_STAPLES
633 Staple finisher supplies
634
635 PAPPL_SUPPLY_TYPE_STITCHING_WIRE
636 Staple/stitch finisher supplies
637
638 PAPPL_SUPPLY_TYPE_TONER
639 Toner supply
640
641 PAPPL_SUPPLY_TYPE_TONER_CARTRIDGE
642 Toner cartridge
643
644 PAPPL_SUPPLY_TYPE_TRANSFER_UNIT
645 Transfer unit (laser printers)
646
647 PAPPL_SUPPLY_TYPE_WASTE_INK
648 Waste ink
649
650 PAPPL_SUPPLY_TYPE_WASTE_TONER
651 Waste toner
652
653 PAPPL_SUPPLY_TYPE_WASTE_WATER
654 Waste water
655
656 PAPPL_SUPPLY_TYPE_WASTE_WAX
657 Waste wax
658
659 PAPPL_SUPPLY_TYPE_WATER
660 Water supply
661
662 pappl_uoptions_e
663 USB gadget options
664
665 PAPPL_UOPTIONS_ETHERNET
666 Include USB ethernet gadget
667
668 PAPPL_UOPTIONS_NONE
669 No options (just USB printer)
670
671 PAPPL_UOPTIONS_SERIAL
672 Include USB serial gadget
673
674 PAPPL_UOPTIONS_STORAGE
675 Include USB mass storage gadget
676
677 PAPPL_UOPTIONS_STORAGE_READONLY
678 USB mass storage gadget is read-only
679
680 PAPPL_UOPTIONS_STORAGE_REMOVABLE
681 USB mass storage gadget is removable
682
684 papplPrinterCancelAllJobs
685 Cancel all jobs on the printer.
686
687 void papplPrinterCancelAllJobs (
688 pappl_printer_t *printer
689 );
690
691 This function cancels all jobs on the printer. If any job is currently
692 being printed, it will be stopped at a convenient time (usually the end
693 of a page) so that the printer will be left in a known state.
694
695 papplPrinterCloseDevice
696 Close the device associated with the printer.
697
698 void papplPrinterCloseDevice (
699 pappl_printer_t *printer
700 );
701
702 This function closes the device for a printer. The device must have
703 been previously opened using the papplPrinterOpenDevice function.
704
705 papplPrinterCreate
706 Create a new printer.
707
708 pappl_printer_t * papplPrinterCreate (
709 pappl_system_t *system,
710 int printer_id,
711 const char *printer_name,
712 const char *driver_name,
713 const char *device_id,
714 const char *device_uri
715 );
716
717 This function creates a new printer (service) on the specified system.
718 The "type" argument specifies the type of service to create and must
719 currently be the value PAPPL_SERVICE_TYPE_PRINT.
720
721 The "printer_id" argument specifies a positive integer identifier that
722 is unique to the system. If you specify a value of 0 a new identifier
723 will be assigned.
724
725 The "driver_name" argument specifies a named driver for the printer,
726 from the list of drivers registered with the papplSystemSetPrinter‐
727 Drivers function.
728
729 The "device_id" and "device_uri" arguments specify the IEEE-1284 device
730 ID and device URI strings for the printer.
731
732 On error, this function sets the errno variable to one of the following
733 values:
734
735 • EEXIST: A printer with the specified name already exists.
736
737 • EINVAL: Bad values for the arguments were specified.
738
739 • EIO: The driver callback failed.
740
741 • ENOENT: No driver callback has been set.
742
743 • ENOMEM: Ran out of memory.</li> </ul>
744
745 papplPrinterDelete
746 Delete a printer.
747
748 void papplPrinterDelete (
749 pappl_printer_t *printer
750 );
751
752 This function deletes a printer from a system, freeing all memory and
753 canceling all jobs as needed.
754
755 papplPrinterGetContact
756 Get the "printer-contact" value.
757
758 pappl_contact_t * papplPrinterGetContact (
759 pappl_printer_t *printer,
760 pappl_contact_t *contact
761 );
762
763 This function copies the current printer contact information to the
764 buffer pointed to by the "contact" argument.
765
766 papplPrinterGetDNSSDName
767 Get the current DNS-SD service name.
768
769 char * papplPrinterGetDNSSDName (
770 pappl_printer_t *printer,
771 char *buffer,
772 size_t bufsize
773 );
774
775 This function copies the current DNS-SD service name to the buffer
776 pointed to by the "buffer" argument.
777
778 papplPrinterGetDeviceID
779 Get the IEEE-1284 device ID of the printer.
780
781 const char * papplPrinterGetDeviceID (
782 pappl_printer_t *printer
783 );
784
785 This function returns the IEEE-1284 device ID of the printer.
786
787 papplPrinterGetDeviceURI
788 Get the URI of the device associated with the printer.
789
790 const char * papplPrinterGetDeviceURI (
791 pappl_printer_t *printer
792 );
793
794 This function returns the device URI for the printer.
795
796 papplPrinterGetDriverAttributes
797 Get a copy of the current driver attributes.
798
799 ipp_t * papplPrinterGetDriverAttributes (
800 pappl_printer_t *printer
801 );
802
803 This function returns a copy the current driver attributes. Use the ip‐
804 pDelete function to free the memory used for the attributes when you
805 are done.
806
807 papplPrinterGetDriverData
808 Get the current print driver data.
809
810 pappl_pr_driver_data_t * papplPrinterGetDriverData (
811 pappl_printer_t *printer,
812 pappl_pr_driver_data_t *data
813 );
814
815 This function copies the current print driver data, defaults, and ready
816 (loaded) media information into the specified buffer.
817
818 papplPrinterGetDriverName
819 Get the driver name for a printer.
820
821 const char * papplPrinterGetDriverName (
822 pappl_printer_t *printer
823 );
824
825 This function returns the driver name for the printer.
826
827 papplPrinterGetGeoLocation
828 Get the current geo-location as a "geo:" URI.
829
830 char * papplPrinterGetGeoLocation (
831 pappl_printer_t *printer,
832 char *buffer,
833 size_t bufsize
834 );
835
836 This function copies the currently configured geographic location as a
837 "geo:" URI to the buffer pointed to by the "buffer" argument.
838
839 papplPrinterGetID
840 Get the printer ID.
841
842 int papplPrinterGetID (
843 pappl_printer_t *printer
844 );
845
846 This function returns the printer's unique positive integer identifier.
847
848 papplPrinterGetImpressionsCompleted
849 Get the number of impressions (sides) that have been printed.
850
851 int papplPrinterGetImpressionsCompleted (
852 pappl_printer_t *printer
853 );
854
855 This function returns the number of impressions that have been printed.
856 An impression is one side of an output page.
857
858 papplPrinterGetLocation
859 Get the location string.
860
861 char * papplPrinterGetLocation (
862 pappl_printer_t *printer,
863 char *buffer,
864 size_t bufsize
865 );
866
867 This function copies the printer's human-readable location to the buf‐
868 fer pointed to by the "buffer" argument.
869
870 papplPrinterGetMaxActiveJobs
871 Get the maximum number of active (queued) jobs allowed by the printer.
872
873 int papplPrinterGetMaxActiveJobs (
874 pappl_printer_t *printer
875 );
876
877 This function returns the maximum number of active jobs that the
878 printer supports, as configured by the papplPrinterSetMaxActiveJobs
879 function.
880
881 papplPrinterGetMaxCompletedJobs
882 Get the maximum number of jobs retained for history by the printer.
883
884 int papplPrinterGetMaxCompletedJobs (
885 pappl_printer_t *printer
886 );
887
888 This function returns the maximum number of jobs that are retained in
889 the job history as configured by the papplPrinterSetMaxCompletedJobs
890 function.
891
892 papplPrinterGetName
893 Get the printer name.
894
895 const char * papplPrinterGetName (
896 pappl_printer_t *printer
897 );
898
899 This function returns the printer's human-readable name.
900
901 papplPrinterGetNextJobID
902 Get the next job ID.
903
904 int papplPrinterGetNextJobID (
905 pappl_printer_t *printer
906 );
907
908 This function returns the positive integer identifier that will be used
909 for the next job that is created.
910
911 papplPrinterGetNumberOfActiveJobs
912 Get the number of active print jobs.
913
914 int papplPrinterGetNumberOfActiveJobs (
915 pappl_printer_t *printer
916 );
917
918 This function returns the number of print jobs that are either printing
919 or waiting to be printed.
920
921 papplPrinterGetNumberOfCompletedJobs
922 Get the number of completed print jobs.
923
924 int papplPrinterGetNumberOfCompletedJobs (
925 pappl_printer_t *printer
926 );
927
928 This function returns the number of print jobs that have been aborted,
929 canceled, or completed.
930
931 papplPrinterGetNumberOfJobs
932 Get the total number of print jobs.
933
934 int papplPrinterGetNumberOfJobs (
935 pappl_printer_t *printer
936 );
937
938 This function returns the number of print jobs that are printing, wait‐
939 ing to be printed, have been aborted, have been canceled, or have com‐
940 pleted.
941
942 papplPrinterGetOrganization
943 Get the organization name.
944
945 char * papplPrinterGetOrganization (
946 pappl_printer_t *printer,
947 char *buffer,
948 size_t bufsize
949 );
950
951 This function copies the printer's organization name to the buffer
952 pointed to by the "buffer" argument.
953
954 papplPrinterGetOrganizationalUnit
955 Get the organizational unit name.
956
957 char * papplPrinterGetOrganizationalUnit (
958 pappl_printer_t *printer,
959 char *buffer,
960 size_t bufsize
961 );
962
963 This function copies the printer's organizational unit name to the buf‐
964 fer pointed to by the "buffer" argument.
965
966 papplPrinterGetPath
967 Get the URL path for a printer web page.
968
969 char * papplPrinterGetPath (
970 pappl_printer_t *printer,
971 const char *subpath,
972 char *buffer,
973 size_t bufsize
974 );
975
976 This function generates and returns the URL path for the printer's web
977 page. The "subpath" argument specifies an optional sub-path for a spe‐
978 cific printer web page.
979
980 papplPrinterGetPrintGroup
981 Get the print authorization group, if any.
982
983 char * papplPrinterGetPrintGroup (
984 pappl_printer_t *printer,
985 char *buffer,
986 size_t bufsize
987 );
988
989 This function copies the printer's authorization group name to the buf‐
990 fer pointed to by the "buffer" argument.
991
992 papplPrinterGetReasons
993 Get the current "printer-state-reasons" bit values.
994
995 pappl_preason_t papplPrinterGetReasons (
996 pappl_printer_t *printer
997 );
998
999 This function returns the current printer state reasons bitfield, which
1000 can be updated by the printer driver and/or by the papplPrinterSetRea‐
1001 sons function.
1002
1003 papplPrinterGetState
1004 Get the current "printer-state" value.
1005
1006 ipp_pstate_t papplPrinterGetState (
1007 pappl_printer_t *printer
1008 );
1009
1010 This function returns the current printer state as an enumeration:
1011
1012 • IPP_PSTATE_IDLE: The printer is idle and has no jobs to process.
1013
1014 • IPP_PSTATE_PROCESSING: The printer is processing a job and/or pro‐
1015 ducing output.
1016
1017 • IPP_PSTATE_STOPPED: The printer is stopped for maintenance.</li>
1018 </ul>
1019
1020 papplPrinterGetSupplies
1021 Get the current "printer-supplies" values.
1022
1023 int papplPrinterGetSupplies (
1024 pappl_printer_t *printer,
1025 int max_supplies,
1026 pappl_supply_t *supplies
1027 );
1028
1029 This function copies the current printer supply values to the specified
1030 array. The "max_supplies" and "supplies" arguments can be 0 and NULL
1031 to query the number of supplies used.
1032
1033 The return value is the actual number of supplies used by the printer,
1034 regardless of the size of the array.
1035
1036 papplPrinterGetSystem
1037 Get the system associated with the printer.
1038
1039 pappl_system_t * papplPrinterGetSystem (
1040 pappl_printer_t *printer
1041 );
1042
1043 This function returns a pointer to the system object that contains the
1044 printer.
1045
1046 papplPrinterIterateActiveJobs
1047 Iterate over the active jobs.
1048
1049 void papplPrinterIterateActiveJobs (
1050 pappl_printer_t *printer,
1051 pappl_job_cb_t cb,
1052 void *data,
1053 int job_index,
1054 int limit
1055 );
1056
1057 This function iterates over jobs that are either printing or waiting to
1058 be printed. The specified callback "cb" will be called once per job
1059 with the data pointer "data".
1060
1061 The "job_index" argument specifies the first job in the list to iter‐
1062 ate, where 1 is the first job, etc. The "limit" argument specifies the
1063 maximum number of jobs to iterate - use 0 to iterate an unlimited num‐
1064 ber of jobs.
1065
1066 papplPrinterIterateAllJobs
1067 Iterate over all the jobs.
1068
1069 void papplPrinterIterateAllJobs (
1070 pappl_printer_t *printer,
1071 pappl_job_cb_t cb,
1072 void *data,
1073 int job_index,
1074 int limit
1075 );
1076
1077 This function iterates over all jobs. The specified callback "cb" will
1078 be called once per job with the data pointer "data".
1079
1080 The "job_index" argument specifies the first job in the list to iter‐
1081 ate, where 1 is the first job, etc. The "limit" argument specifies the
1082 maximum number of jobs to iterate - use 0 to iterate an unlimited num‐
1083 ber of jobs.
1084
1085 papplPrinterIterateCompletedJobs
1086 Iterate over the completed jobs.
1087
1088 void papplPrinterIterateCompletedJobs (
1089 pappl_printer_t *printer,
1090 pappl_job_cb_t cb,
1091 void *data,
1092 int job_index,
1093 int limit
1094 );
1095
1096 This function iterates over jobs that are aborted, canceled, or com‐
1097 pleted. The specified callback "cb" will be called once per job with
1098 the data pointer "data".
1099
1100 The "job_index" argument specifies the first job in the list to iter‐
1101 ate, where 1 is the first job, etc. The "limit" argument specifies the
1102 maximum number of jobs to iterate - use 0 to iterate an unlimited num‐
1103 ber of jobs.
1104
1105 papplPrinterOpenDevice
1106 Open the device associated with a printer.
1107
1108 pappl_device_t * papplPrinterOpenDevice (
1109 pappl_printer_t *printer
1110 );
1111
1112 This function opens the printer's device. NULL is returned if the de‐
1113 vice is already in use, for example while a job is being printed.
1114
1115 The returned device must be closed using the papplPrinterCloseDevice
1116 function.
1117
1118 papplPrinterPause
1119 Pause (stop) a printer.
1120
1121 void papplPrinterPause (
1122 pappl_printer_t *printer
1123 );
1124
1125 This function pauses a printer. If the printer is currently processing
1126 (printing) a job, it will be completed before the printer is stopped.
1127
1128 papplPrinterResume
1129 Resume (start) a printer.
1130
1131 void papplPrinterResume (
1132 pappl_printer_t *printer
1133 );
1134
1135 This function resumes a printer and starts processing any pending jobs.
1136
1137 papplPrinterSetContact
1138 Set the "printer-contact" value.
1139
1140 void papplPrinterSetContact (
1141 pappl_printer_t *printer,
1142 pappl_contact_t *contact
1143 );
1144
1145 This function sets the printer's contact information.
1146
1147 papplPrinterSetDNSSDName
1148 Set the DNS-SD service name.
1149
1150 void papplPrinterSetDNSSDName (
1151 pappl_printer_t *printer,
1152 const char *value
1153 );
1154
1155 This function sets the printer's DNS-SD service name. If NULL, the
1156 printer will stop advertising the printer.
1157
1158 papplPrinterSetDriverData
1159 Set the driver data.
1160
1161 bool papplPrinterSetDriverData (
1162 pappl_printer_t *printer,
1163 pappl_pr_driver_data_t *data,
1164 ipp_t *attrs
1165 );
1166
1167 This function validates and sets the driver data, including all de‐
1168 faults and ready (loaded) media.
1169
1170 5 Note: This function regenerates all of the driver-specific capa‐
1171 bility
1172
1173 5 attributes like "media-col-database", "sides-supported", and so
1174 forth.
1175
1176 5 Use the papplPrinterSetDriverDefaults or
1177
1178 5 papplPrinterSetReadyMedia functions to efficiently change the
1179
1180 5 "xxx-default" or "xxx-ready" values, respectively.
1181
1182 papplPrinterSetDriverDefaults
1183 Set the default print option values.
1184
1185 bool papplPrinterSetDriverDefaults (
1186 pappl_printer_t *printer,
1187 pappl_pr_driver_data_t *data,
1188 int num_vendor,
1189 cups_option_t *vendor
1190 );
1191
1192 This function validates and sets the printer's default print options.
1193
1194 5 Note: Unlike papplPrinterSetPrintDriverData, this function only
1195
1196 5 changes the "xxx_default" members of the driver data and is con‐
1197 sidered
1198
1199 5 lightweight.
1200
1201 papplPrinterSetGeoLocation
1202 Set the geo-location value as a "geo:" URI.
1203
1204 void papplPrinterSetGeoLocation (
1205 pappl_printer_t *printer,
1206 const char *value
1207 );
1208
1209 This function sets the printer's geographic location as a "geo:" URI.
1210 If NULL, the location is cleared to the 'unknown' value.
1211
1212 papplPrinterSetImpressionsCompleted
1213 Add impressions (sides) to the total count of printed impressions.
1214
1215 void papplPrinterSetImpressionsCompleted (
1216 pappl_printer_t *printer,
1217 int add
1218 );
1219
1220 This function adds to the printer's impressions counter. An impression
1221 is one side of an output page.
1222
1223 papplPrinterSetLocation
1224 Set the location string.
1225
1226 void papplPrinterSetLocation (
1227 pappl_printer_t *printer,
1228 const char *value
1229 );
1230
1231 This function sets the printer's human-readable location string. If
1232 NULL, the location is cleared.
1233
1234 papplPrinterSetMaxActiveJobs
1235 Set the maximum number of active jobs for the printer.
1236
1237 void papplPrinterSetMaxActiveJobs (
1238 pappl_printer_t *printer,
1239 int max_active_jobs
1240 );
1241
1242 This function sets the maximum number of jobs that can be spooled on
1243 the printer at one time.
1244
1245 5 Note: This limit does not apply to streaming raster formats such
1246 as PWG
1247
1248 5 Raster since they are not spooled.
1249
1250 papplPrinterSetMaxCompletedJobs
1251 Set the maximum number of completed jobs for the printer.
1252
1253 void papplPrinterSetMaxCompletedJobs (
1254 pappl_printer_t *printer,
1255 int max_completed_jobs
1256 );
1257
1258 This function sets the maximum number of aborted, canceled, or com‐
1259 pleted jobs that are retained in the job history.
1260
1261 papplPrinterSetNextJobID
1262 Set the next "job-id" value.
1263
1264 void papplPrinterSetNextJobID (
1265 pappl_printer_t *printer,
1266 int next_job_id
1267 );
1268
1269 This function sets the next unique positive integer identifier that
1270 will be used for a job.
1271
1272 5 Note: This function is normally only called once to restore the
1273 previous
1274
1275 5 state of the printer.
1276
1277 papplPrinterSetOrganization
1278 Set the organization name.
1279
1280 void papplPrinterSetOrganization (
1281 pappl_printer_t *printer,
1282 const char *value
1283 );
1284
1285 This function sets the printer's organization name. If NULL the value
1286 is cleared.
1287
1288 papplPrinterSetOrganizationalUnit
1289 Set the organizational unit name.
1290
1291 void papplPrinterSetOrganizationalUnit (
1292 pappl_printer_t *printer,
1293 const char *value
1294 );
1295
1296 This function sets the printer's organizational unit name. If NULL the
1297 value is cleared.
1298
1299 papplPrinterSetPrintGroup
1300 Set the print authorization group, if any.
1301
1302 void papplPrinterSetPrintGroup (
1303 pappl_printer_t *printer,
1304 const char *value
1305 );
1306
1307 This function sets the printer's authorization group. If NULL, the
1308 group is cleared.
1309
1310 5 Note: The authorization group is only used if the system is cre‐
1311 ated with a
1312
1313 5 named authorization service.
1314
1315 papplPrinterSetReadyMedia
1316 Set the ready (loaded) media.
1317
1318 bool papplPrinterSetReadyMedia (
1319 pappl_printer_t *printer,
1320 int num_ready,
1321 pappl_media_col_t *ready
1322 );
1323
1324 This function validates and sets the printer's ready (loaded) media.
1325
1326 papplPrinterSetReasons
1327 Add or remove values from "printer-state-reasons".
1328
1329 void papplPrinterSetReasons (
1330 pappl_printer_t *printer,
1331 pappl_preason_t add,
1332 pappl_preason_t remove
1333 );
1334
1335 This function updates the printer state reasons bitfield by clearing
1336 any bit values in the "remove" argument and setting any bit values in
1337 the "add" argument.
1338
1339 papplPrinterSetSupplies
1340 Set/update the supplies for a printer.
1341
1342 void papplPrinterSetSupplies (
1343 pappl_printer_t *printer,
1344 int num_supplies,
1345 pappl_supply_t *supplies
1346 );
1347
1348 This function updates the supply information for the printer.
1349
1350 papplPrinterSetUSB
1351 Set the USB vendor and product IDs for a printer.
1352
1353 void papplPrinterSetUSB (
1354 pappl_printer_t *printer,
1355 unsigned vendor_id,
1356 unsigned product_id,
1357 pappl_uoptions_t options,
1358 const char *storagefile
1359 );
1360
1361 This function sets the USB vendor and product IDs for a printer as well
1362 as specifying USB gadget options when the printer is registered with
1363 the USB device controller.
1364
1365 5 Note: USB gadget functionality is currently only available when
1366 running
1367
1368 5 on Linux with compatible hardware such as the Raspberry Pi.
1369
1371 pappl_icon_s
1372 Printer PNG icon structure
1373
1374 struct pappl_icon_s
1375 {
1376 const void *data;
1377 size_t datalen;
1378 char filename[256];
1379 };
1380
1381 pappl_media_col_s
1382 Media details structure
1383
1384 struct pappl_media_col_s
1385 {
1386 int bottom_margin;
1387 int left_margin;
1388 int left_offset;
1389 int right_margin;
1390 int size_length;
1391 char size_name[64];
1392 int size_width;
1393 char source[64];
1394 int top_margin;
1395 int top_offset;
1396 pappl_media_tracking_t tracking;
1397 char type[64];
1398 };
1399
1400 pappl_pr_driver_data_s
1401 Printer driver data
1402
1403 struct pappl_pr_driver_data_s
1404 {
1405 const char *bin[PAPPL_MAX_BIN];
1406 int bin_default;
1407 bool borderless;
1408 int bottom_top;
1409 pappl_color_mode_t color_default;
1410 pappl_color_mode_t color_supported;
1411 pappl_content_t content_default;
1412 int darkness_configured;
1413 int darkness_default;
1414 int darkness_supported;
1415 pappl_pr_delete_cb_t delete_cb;
1416 pappl_duplex_t duplex;
1417 void *extension;
1418 const char *features[PAPPL_MAX_VENDOR];
1419 pappl_finishings_t finishings;
1420 pappl_raster_type_t force_raster_type;
1421 const char *format;
1422 pappl_dither_t gdither;
1423 bool has_supplies;
1424 pappl_icon_t icons[3];
1425 pappl_pr_identify_cb_t identify_cb;
1426 pappl_identify_actions_t identify_default;
1427 pappl_identify_actions_t identify_supported;
1428 bool input_face_up;
1429 pappl_kind_t kind;
1430 int left_offset_supported[2];
1431 int left_right;
1432 char make_and_model[128];
1433 const char *media[PAPPL_MAX_MEDIA];
1434 pappl_media_col_t media_default;
1435 pappl_media_col_t media_ready[PAPPL_MAX_SOURCE];
1436 pappl_label_mode_t mode_configured;
1437 pappl_label_mode_t mode_supported;
1438 int num_bin;
1439 int num_features;
1440 int num_media;
1441 int num_resolution;
1442 int num_source;
1443 int num_type;
1444 int num_vendor;
1445 ipp_orient_t orient_default;
1446 bool output_face_up;
1447 pappl_dither_t pdither;
1448 int ppm;
1449 int ppm_color;
1450 pappl_pr_printfile_cb_t printfile_cb;
1451 ipp_quality_t quality_default;
1452 pappl_raster_type_t raster_types;
1453 pappl_pr_rendjob_cb_t rendjob_cb;
1454 pappl_pr_rendpage_cb_t rendpage_cb;
1455 pappl_pr_rstartjob_cb_t rstartjob_cb;
1456 pappl_pr_rstartpage_cb_t rstartpage_cb;
1457 pappl_pr_rwriteline_cb_t rwriteline_cb;
1458 pappl_scaling_t scaling_default;
1459 pappl_sides_t sides_default;
1460 pappl_sides_t sides_supported;
1461 const char *source[PAPPL_MAX_SOURCE];
1462 int speed_default;
1463 int speed_supported[2];
1464 pappl_pr_status_cb_t status_cb;
1465 int tear_offset_configured;
1466 int tear_offset_supported[2];
1467 pappl_pr_testpage_cb_t testpage_cb;
1468 int top_offset_supported[2];
1469 pappl_media_tracking_t tracking_supported;
1470 const char *type[PAPPL_MAX_TYPE];
1471 const char *vendor[PAPPL_MAX_VENDOR];
1472 int x_default;
1473 int x_resolution[PAPPL_MAX_RESOLUTION];
1474 int y_default;
1475 int y_resolution[PAPPL_MAX_RESOLUTION];
1476 };
1477
1478 pappl_pr_options_s
1479 Combined print job options
1480
1481 struct pappl_pr_options_s
1482 {
1483 int copies;
1484 int darkness_configured;
1485 pappl_dither_t dither;
1486 pappl_finishings_t finishings;
1487 unsigned first_page;
1488 cups_page_header2_t header;
1489 unsigned last_page;
1490 pappl_media_col_t media;
1491 unsigned num_pages;
1492 int num_vendor;
1493 ipp_orient_t orientation_requested;
1494 char output_bin[64];
1495 pappl_color_mode_t print_color_mode;
1496 pappl_content_t print_content_optimize;
1497 int print_darkness;
1498 ipp_quality_t print_quality;
1499 pappl_scaling_t print_scaling;
1500 int print_speed;
1501 int printer_resolution[2];
1502 pappl_sides_t sides;
1503 cups_option_t *vendor;
1504 };
1505
1506 pappl_supply_s
1507 Supply data
1508
1509 struct pappl_supply_s
1510 {
1511 pappl_supply_color_t color;
1512 char description[256];
1513 bool is_consumed;
1514 int level;
1515 pappl_supply_type_t type;
1516 };
1517
1519 pappl_color_mode_t
1520 Bitfield for IPP "print-color-mode" values
1521
1522 typedef unsigned pappl_color_mode_t;
1523
1524 pappl_content_t
1525 Bitfield for IPP "print-content-optimize" values
1526
1527 typedef unsigned pappl_content_t;
1528
1529 pappl_default_cb_t
1530 papplIterateDefaults callback
1531
1532 typedef void (*pappl_default_cb_t)(ipp_attribute_t *attr, void *data);
1533
1534 pappl_duplex_t
1535 Duplex printing support
1536
1537 typedef enum pappl_duplex_e pappl_duplex_t;
1538
1539 pappl_finishings_t
1540 Bitfield for IPP "finishings" values
1541
1542 typedef unsigned pappl_finishings_t;
1543
1544 pappl_icon_t
1545 Printer PNG icon structure
1546
1547 typedef struct pappl_icon_s pappl_icon_t;
1548
1549 pappl_identify_actions_t
1550 Bitfield for IPP "identify-actions" values
1551
1552 typedef unsigned pappl_identify_actions_t;
1553
1554 pappl_job_cb_t
1555 papplIterateXxxJobs callback function
1556
1557 typedef void (*pappl_job_cb_t)(pappl_job_t *job, void *data);
1558
1559 pappl_kind_t
1560 Bitfield for IPP "printer-kind" values
1561
1562 typedef unsigned pappl_kind_t;
1563
1564 pappl_label_mode_t
1565 Bitfield for IPP "label-mode-xxx" values
1566
1567 typedef unsigned short pappl_label_mode_t;
1568
1569 pappl_media_col_t
1570 Media details structure
1571
1572 typedef struct pappl_media_col_s pappl_media_col_t;
1573
1574 pappl_media_tracking_t
1575 Bitfield for IPP "media-tracking" values
1576
1577 typedef unsigned short pappl_media_tracking_t;
1578
1579 pappl_pr_delete_cb_t
1580 Printer deletion callback
1581
1582 typedef void (*pappl_pr_delete_cb_t)(pappl_printer_t *printer, pappl_pr_driver_data_t *data);
1583
1584 pappl_pr_identify_cb_t
1585 Identify-Printer callback
1586
1587 typedef void (*pappl_pr_identify_cb_t)(pappl_printer_t *printer, pappl_identify_actions_t actions, const char *message);
1588
1589 pappl_pr_printfile_cb_t
1590 Print a "raw" job callback
1591
1592 typedef bool (*pappl_pr_printfile_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device);
1593
1594 pappl_pr_rendjob_cb_t
1595 End a raster job callback
1596
1597 typedef bool (*pappl_pr_rendjob_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device);
1598
1599 pappl_pr_rendpage_cb_t
1600 End a raster page callback
1601
1602 typedef bool (*pappl_pr_rendpage_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device, unsigned page);
1603
1604 pappl_pr_rstartjob_cb_t
1605 Start a raster job callback
1606
1607 typedef bool (*pappl_pr_rstartjob_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device);
1608
1609 pappl_pr_rstartpage_cb_t
1610 Start a raster page callback
1611
1612 typedef bool (*pappl_pr_rstartpage_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device, unsigned page);
1613
1614 pappl_pr_rwriteline_cb_t
1615 Write a line of raster graphics callback
1616
1617 typedef bool (*pappl_pr_rwriteline_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device, unsigned y, const unsigned char *line);
1618
1619 pappl_pr_status_cb_t
1620 Update printer status callback
1621
1622 typedef bool (*pappl_pr_status_cb_t)(pappl_printer_t *printer);
1623
1624 pappl_pr_testpage_cb_t
1625 Print a test page callback
1626
1627 typedef const char * (*pappl_pr_testpage_cb_t)(pappl_printer_t *printer, char *buffer, size_t bufsize);
1628
1629 pappl_raster_type_t
1630 Bitfield for IPP "pwg-raster-document-type-supported" values
1631
1632 typedef unsigned pappl_raster_type_t;
1633
1634 pappl_scaling_t
1635 Bitfield for IPP "print-scaling" values
1636
1637 typedef unsigned pappl_scaling_t;
1638
1639 pappl_sides_t
1640 Bitfield for IPP "sides" values
1641
1642 typedef unsigned pappl_sides_t;
1643
1644 pappl_supply_color_t
1645 "printer-supply" color values
1646
1647 typedef enum pappl_supply_color_e pappl_supply_color_t;
1648
1649 pappl_supply_t
1650 Supply data
1651
1652 typedef struct pappl_supply_s pappl_supply_t;
1653
1654 pappl_supply_type_t
1655 IPP "printer-supply" type values
1656
1657 typedef enum pappl_supply_type_e pappl_supply_type_t;
1658
1659 pappl_uoptions_t
1660 USB gadget options bitfield
1661
1662 typedef unsigned pappl_uoptions_t;
1663
1665 pappl(1), pappl-client(3), pappl-device(3), pappl-job(3), pappl-log(3),
1666 pappl-mainline(3), pappl-makeresheader(1), pappl-printer(3), pappl-re‐
1667 source(3), pappl-system(3), https://www.msweet.org/pappl
1668
1670 Copyright © 2019-2020 by Michael R Sweet.
1671
1672 PAPPL is licensed under the Apache License Version 2.0 with an (op‐
1673 tional) exception to allow linking against GPL2/LGPL2 software (like
1674 older versions of CUPS), so it can be used freely in any project you'd
1675 like. See the files "LICENSE" and "NOTICE" in the source distribution
1676 for more information.
1677
1678
1679
16802021-02-15 pappl printer functions pappl-printer(3)