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_DOOR_OPEN
413 ´door-open'
414
415 PAPPL_PREASON_IDENTIFY_PRINTER_REQUESTED
416 ´identify-printer-requested'
417
418 PAPPL_PREASON_INPUT_TRAY_MISSING
419 ´input-tray-missing'
420
421 PAPPL_PREASON_MARKER_SUPPLY_EMPTY
422 ´marker-supply-empty'
423
424 PAPPL_PREASON_MARKER_SUPPLY_LOW
425 ´marker-supply-low'
426
427 PAPPL_PREASON_MARKER_WASTE_ALMOST_FULL
428 ´marker-waste-almost-full'
429
430 PAPPL_PREASON_MARKER_WASTE_FULL
431 ´marker-waste-full'
432
433 PAPPL_PREASON_MEDIA_EMPTY
434 ´media-empty'
435
436 PAPPL_PREASON_MEDIA_JAM
437 ´media-jam'
438
439 PAPPL_PREASON_MEDIA_LOW
440 ´media-low'
441
442 PAPPL_PREASON_MEDIA_NEEDED
443 ´media-needed'
444
445 PAPPL_PREASON_NONE
446 ´none'
447
448 PAPPL_PREASON_OFFLINE
449 ´offline'
450
451 PAPPL_PREASON_OTHER
452 ´other'
453
454 PAPPL_PREASON_SPOOL_AREA_FULL
455 ´spool-area-full'
456
457 PAPPL_PREASON_TONER_EMPTY
458 ´toner-empty'
459
460 PAPPL_PREASON_TONER_LOW
461 ´toner-low'
462
463 pappl_raster_type_e
464 IPP "pwg-raster-document-type-supported" bit values
465
466 PAPPL_PWG_RASTER_TYPE_ADOBE_RGB_16
467 16-bit per component AdobeRGB
468
469 PAPPL_PWG_RASTER_TYPE_ADOBE_RGB_8
470 8-bit per component AdobeRGB
471
472 PAPPL_PWG_RASTER_TYPE_BLACK_1
473 1-bit (device) black
474
475 PAPPL_PWG_RASTER_TYPE_BLACK_16
476 16-bit (device) black
477
478 PAPPL_PWG_RASTER_TYPE_BLACK_8
479 8-bit (device) black
480
481 PAPPL_PWG_RASTER_TYPE_CMYK_16
482 16-bit per component (device) CMYK
483
484 PAPPL_PWG_RASTER_TYPE_CMYK_8
485 8-bit per component (device) CMYK
486
487 PAPPL_PWG_RASTER_TYPE_NONE
488 Do not force a particular raster type
489
490 PAPPL_PWG_RASTER_TYPE_RGB_16
491 16-bit per component (device) RGB
492
493 PAPPL_PWG_RASTER_TYPE_RGB_8
494 8-bit per component (device) RGB
495
496 PAPPL_PWG_RASTER_TYPE_SGRAY_16
497 16-bit grayscale with 2.2 gamma
498
499 PAPPL_PWG_RASTER_TYPE_SGRAY_8
500 8-bit grayscale with 2.2 gamma
501
502 PAPPL_PWG_RASTER_TYPE_SRGB_16
503 16-bit per component sRGB
504
505 PAPPL_PWG_RASTER_TYPE_SRGB_8
506 8-bit per component sRGB
507
508 pappl_scaling_e
509 IPP "print-scaling" bit values
510
511 PAPPL_SCALING_AUTO
512 ´auto': Scale to fit (non-borderless) or fill (borderless) if
513 larger, otherwise center
514
515 PAPPL_SCALING_AUTO_FIT
516 ´auto-fit': Scale to fit if larger, otherwise center
517
518 PAPPL_SCALING_FILL
519 ´fill': Scale to fill the media
520
521 PAPPL_SCALING_FIT
522 ´fit': Scale to fit within margins
523
524 PAPPL_SCALING_NONE
525 ´none': No scaling (center/crop)
526
527 pappl_sides_e
528 IPP "sides" bit values
529
530 PAPPL_SIDES_ONE_SIDED
531 ´one-sided'
532
533 PAPPL_SIDES_TWO_SIDED_LONG_EDGE
534 ´two-sided-long-edge'
535
536 PAPPL_SIDES_TWO_SIDED_SHORT_EDGE
537 ´two-sided-short-edge'
538
539 pappl_uoptions_e
540 USB gadget options
541
542 PAPPL_UOPTIONS_ETHERNET
543 Include USB ethernet gadget
544
545 PAPPL_UOPTIONS_NONE
546 No options (just USB printer)
547
548 PAPPL_UOPTIONS_SERIAL
549 Include USB serial gadget
550
551 PAPPL_UOPTIONS_STORAGE
552 Include USB mass storage gadget
553
554 PAPPL_UOPTIONS_STORAGE_READONLY
555 USB mass storage gadget is read-only
556
557 PAPPL_UOPTIONS_STORAGE_REMOVABLE
558 USB mass storage gadget is removable
559
561 papplPrinterCancelAllJobs
562 Cancel all jobs on the printer.
563
564 void papplPrinterCancelAllJobs (
565 pappl_printer_t *printer
566 );
567
568 This function cancels all jobs on the printer. If any job is currently
569 being printed, it will be stopped at a convenient time (usually the end
570 of a page) so that the printer will be left in a known state.
571
572 papplPrinterCloseDevice
573 Close the device associated with the printer.
574
575 void papplPrinterCloseDevice (
576 pappl_printer_t *printer
577 );
578
579 This function closes the device for a printer. The device must have
580 been previously opened using the papplPrinterOpenDevice function.
581
582 papplPrinterCreate
583 Create a new printer.
584
585 pappl_printer_t * papplPrinterCreate (
586 pappl_system_t *system,
587 int printer_id,
588 const char *printer_name,
589 const char *driver_name,
590 const char *device_id,
591 const char *device_uri
592 );
593
594 This function creates a new printer (service) on the specified system.
595 The "type" argument specifies the type of service to create and must
596 currently be the value PAPPL_SERVICE_TYPE_PRINT.
597
598 The "printer_id" argument specifies a positive integer identifier that
599 is unique to the system. If you specify a value of 0 a new identifier
600 will be assigned.
601
602 The "driver_name" argument specifies a named driver for the printer,
603 from the list of drivers registered with the papplSystemSetPrinter‐
604 Drivers function.
605
606 The "device_id" and "device_uri" arguments specify the IEEE-1284 device
607 ID and device URI strings for the printer.
608
609 On error, this function sets the errno variable to one of the following
610 values:
611
612 • EEXIST: A printer with the specified name already exists.
613
614 • EINVAL: Bad values for the arguments were specified.
615
616 • EIO: The driver callback failed.
617
618 • ENOENT: No driver callback has been set.
619
620 • ENOMEM: Ran out of memory.</li> </ul>
621
622 papplPrinterDelete
623 Delete a printer.
624
625 void papplPrinterDelete (
626 pappl_printer_t *printer
627 );
628
629 This function deletes a printer from a system, freeing all memory and
630 canceling all jobs as needed.
631
632 papplPrinterDisable
633 Stop accepting jobs on a printer.
634
635 void papplPrinterDisable (
636 pappl_printer_t *printer
637 );
638
639 This function stops accepting jobs on a printer.
640
641 papplPrinterEnable
642 Start accepting jobs on a printer.
643
644 void papplPrinterEnable (
645 pappl_printer_t *printer
646 );
647
648 This function starts accepting jobs on a printer.
649
650 papplPrinterGetContact
651 Get the "printer-contact" value.
652
653 pappl_contact_t * papplPrinterGetContact (
654 pappl_printer_t *printer,
655 pappl_contact_t *contact
656 );
657
658 This function copies the current printer contact information to the
659 buffer pointed to by the "contact" argument.
660
661 papplPrinterGetDNSSDName
662 Get the current DNS-SD service name.
663
664 char * papplPrinterGetDNSSDName (
665 pappl_printer_t *printer,
666 char *buffer,
667 size_t bufsize
668 );
669
670 This function copies the current DNS-SD service name to the buffer
671 pointed to by the "buffer" argument.
672
673 papplPrinterGetDeviceID
674 Get the IEEE-1284 device ID of the printer.
675
676 const char * papplPrinterGetDeviceID (
677 pappl_printer_t *printer
678 );
679
680 This function returns the IEEE-1284 device ID of the printer.
681
682 papplPrinterGetDeviceURI
683 Get the URI of the device associated with the printer.
684
685 const char * papplPrinterGetDeviceURI (
686 pappl_printer_t *printer
687 );
688
689 This function returns the device URI for the printer.
690
691 papplPrinterGetDriverAttributes
692 Get a copy of the current driver attributes.
693
694 ipp_t * papplPrinterGetDriverAttributes (
695 pappl_printer_t *printer
696 );
697
698 This function returns a copy the current driver attributes. Use the ip‐
699 pDelete function to free the memory used for the attributes when you
700 are done.
701
702 papplPrinterGetDriverData
703 Get the current print driver data.
704
705 pappl_pr_driver_data_t * papplPrinterGetDriverData (
706 pappl_printer_t *printer,
707 pappl_pr_driver_data_t *data
708 );
709
710 This function copies the current print driver data, defaults, and ready
711 (loaded) media information into the specified buffer.
712
713 papplPrinterGetDriverName
714 Get the driver name for a printer.
715
716 const char * papplPrinterGetDriverName (
717 pappl_printer_t *printer
718 );
719
720 This function returns the driver name for the printer.
721
722 papplPrinterGetGeoLocation
723 Get the current geo-location as a "geo:" URI.
724
725 char * papplPrinterGetGeoLocation (
726 pappl_printer_t *printer,
727 char *buffer,
728 size_t bufsize
729 );
730
731 This function copies the currently configured geographic location as a
732 "geo:" URI to the buffer pointed to by the "buffer" argument.
733
734 papplPrinterGetID
735 Get the printer ID.
736
737 int papplPrinterGetID (
738 pappl_printer_t *printer
739 );
740
741 This function returns the printer's unique positive integer identifier.
742
743 papplPrinterGetImpressionsCompleted
744 Get the number of impressions (sides) that have been printed.
745
746 int papplPrinterGetImpressionsCompleted (
747 pappl_printer_t *printer
748 );
749
750 This function returns the number of impressions that have been printed.
751 An impression is one side of an output page.
752
753 papplPrinterGetLocation
754 Get the location string.
755
756 char * papplPrinterGetLocation (
757 pappl_printer_t *printer,
758 char *buffer,
759 size_t bufsize
760 );
761
762 This function copies the printer's human-readable location to the buf‐
763 fer pointed to by the "buffer" argument.
764
765 papplPrinterGetMaxActiveJobs
766 Get the maximum number of active (queued) jobs allowed by the printer.
767
768 int papplPrinterGetMaxActiveJobs (
769 pappl_printer_t *printer
770 );
771
772 This function returns the maximum number of active jobs that the
773 printer supports, as configured by the papplPrinterSetMaxActiveJobs
774 function.
775
776 papplPrinterGetMaxCompletedJobs
777 Get the maximum number of jobs retained for history by the printer.
778
779 int papplPrinterGetMaxCompletedJobs (
780 pappl_printer_t *printer
781 );
782
783 This function returns the maximum number of jobs that are retained in
784 the job history as configured by the papplPrinterSetMaxCompletedJobs
785 function.
786
787 papplPrinterGetMaxPreservedJobs
788 Get the maximum number of jobs preserved by the printer.
789
790 int papplPrinterGetMaxPreservedJobs (
791 pappl_printer_t *printer
792 );
793
794 This function returns the maximum number of jobs that are retained (in‐
795 cluding document data) in the job history as configured by the pappl‐
796 PrinterSetMaxPreservedJobs function.
797
798 papplPrinterGetName
799 Get the printer name.
800
801 const char * papplPrinterGetName (
802 pappl_printer_t *printer
803 );
804
805 This function returns the printer's human-readable name.
806
807 papplPrinterGetNextJobID
808 Get the next job ID.
809
810 int papplPrinterGetNextJobID (
811 pappl_printer_t *printer
812 );
813
814 This function returns the positive integer identifier that will be used
815 for the next job that is created.
816
817 papplPrinterGetNumberOfActiveJobs
818 Get the number of active print jobs.
819
820 int papplPrinterGetNumberOfActiveJobs (
821 pappl_printer_t *printer
822 );
823
824 This function returns the number of print jobs that are either printing
825 or waiting to be printed.
826
827 papplPrinterGetNumberOfCompletedJobs
828 Get the number of completed print jobs.
829
830 int papplPrinterGetNumberOfCompletedJobs (
831 pappl_printer_t *printer
832 );
833
834 This function returns the number of print jobs that have been aborted,
835 canceled, or completed.
836
837 papplPrinterGetNumberOfJobs
838 Get the total number of print jobs.
839
840 int papplPrinterGetNumberOfJobs (
841 pappl_printer_t *printer
842 );
843
844 This function returns the number of print jobs that are printing, wait‐
845 ing to be printed, have been aborted, have been canceled, or have com‐
846 pleted.
847
848 papplPrinterGetOrganization
849 Get the organization name.
850
851 char * papplPrinterGetOrganization (
852 pappl_printer_t *printer,
853 char *buffer,
854 size_t bufsize
855 );
856
857 This function copies the printer's organization name to the buffer
858 pointed to by the "buffer" argument.
859
860 papplPrinterGetOrganizationalUnit
861 Get the organizational unit name.
862
863 char * papplPrinterGetOrganizationalUnit (
864 pappl_printer_t *printer,
865 char *buffer,
866 size_t bufsize
867 );
868
869 This function copies the printer's organizational unit name to the buf‐
870 fer pointed to by the "buffer" argument.
871
872 papplPrinterGetPath
873 Get the URL path for a printer web page.
874
875 char * papplPrinterGetPath (
876 pappl_printer_t *printer,
877 const char *subpath,
878 char *buffer,
879 size_t bufsize
880 );
881
882 This function generates and returns the URL path for the printer's web
883 page. The "subpath" argument specifies an optional sub-path for a spe‐
884 cific printer web page.
885
886 papplPrinterGetPrintGroup
887 Get the print authorization group, if any.
888
889 char * papplPrinterGetPrintGroup (
890 pappl_printer_t *printer,
891 char *buffer,
892 size_t bufsize
893 );
894
895 This function copies the printer's authorization group name to the buf‐
896 fer pointed to by the "buffer" argument.
897
898 papplPrinterGetReasons
899 Get the current "printer-state-reasons" bit values.
900
901 pappl_preason_t papplPrinterGetReasons (
902 pappl_printer_t *printer
903 );
904
905 This function returns the current printer state reasons bitfield, which
906 can be updated by the printer driver and/or by the papplPrinterSetRea‐
907 sons function.
908
909 papplPrinterGetState
910 Get the current "printer-state" value.
911
912 ipp_pstate_t papplPrinterGetState (
913 pappl_printer_t *printer
914 );
915
916 This function returns the current printer state as an enumeration:
917
918 • IPP_PSTATE_IDLE: The printer is idle and has no jobs to process.
919
920 • IPP_PSTATE_PROCESSING: The printer is processing a job and/or pro‐
921 ducing output.
922
923 • IPP_PSTATE_STOPPED: The printer is stopped for maintenance.</li>
924 </ul>
925
926 papplPrinterGetSupplies
927 Get the current "printer-supplies" values.
928
929 int papplPrinterGetSupplies (
930 pappl_printer_t *printer,
931 int max_supplies,
932 pappl_supply_t *supplies
933 );
934
935 This function copies the current printer supply values to the specified
936 array. The "max_supplies" and "supplies" arguments can be 0 and NULL
937 to query the number of supplies used.
938
939 The return value is the actual number of supplies used by the printer,
940 regardless of the size of the array.
941
942 papplPrinterGetSystem
943 Get the system associated with the printer.
944
945 pappl_system_t * papplPrinterGetSystem (
946 pappl_printer_t *printer
947 );
948
949 This function returns a pointer to the system object that contains the
950 printer.
951
952 papplPrinterIsAcceptingJobs
953 Return whether the printer is accepting jobs.
954
955 bool papplPrinterIsAcceptingJobs (
956 pappl_printer_t *printer
957 );
958
959 This function returns a boolean value indicating whether a printer is
960 accepting jobs.
961
962 papplPrinterIterateActiveJobs
963 Iterate over the active jobs.
964
965 void papplPrinterIterateActiveJobs (
966 pappl_printer_t *printer,
967 pappl_job_cb_t cb,
968 void *data,
969 int job_index,
970 int limit
971 );
972
973 This function iterates over jobs that are either printing or waiting to
974 be printed. The specified callback "cb" will be called once per job
975 with the data pointer "data".
976
977 The "job_index" argument specifies the first job in the list to iter‐
978 ate, where 1 is the first job, etc. The "limit" argument specifies the
979 maximum number of jobs to iterate - use 0 to iterate an unlimited num‐
980 ber of jobs.
981
982 papplPrinterIterateAllJobs
983 Iterate over all the jobs.
984
985 void papplPrinterIterateAllJobs (
986 pappl_printer_t *printer,
987 pappl_job_cb_t cb,
988 void *data,
989 int job_index,
990 int limit
991 );
992
993 This function iterates over all jobs. The specified callback "cb" will
994 be called once per job with the data pointer "data".
995
996 The "job_index" argument specifies the first job in the list to iter‐
997 ate, where 1 is the first job, etc. The "limit" argument specifies the
998 maximum number of jobs to iterate - use 0 to iterate an unlimited num‐
999 ber of jobs.
1000
1001 papplPrinterIterateCompletedJobs
1002 Iterate over the completed jobs.
1003
1004 void papplPrinterIterateCompletedJobs (
1005 pappl_printer_t *printer,
1006 pappl_job_cb_t cb,
1007 void *data,
1008 int job_index,
1009 int limit
1010 );
1011
1012 This function iterates over jobs that are aborted, canceled, or com‐
1013 pleted. The specified callback "cb" will be called once per job with
1014 the data pointer "data".
1015
1016 The "job_index" argument specifies the first job in the list to iter‐
1017 ate, where 1 is the first job, etc. The "limit" argument specifies the
1018 maximum number of jobs to iterate - use 0 to iterate an unlimited num‐
1019 ber of jobs.
1020
1021 papplPrinterOpenDevice
1022 Open the device associated with a printer.
1023
1024 pappl_device_t * papplPrinterOpenDevice (
1025 pappl_printer_t *printer
1026 );
1027
1028 This function opens the printer's device. NULL is returned if the de‐
1029 vice is already in use, for example while a job is being printed.
1030
1031 The returned device must be closed using the papplPrinterCloseDevice
1032 function.
1033
1034 papplPrinterOpenFile
1035 Create or open a file for a printer.
1036
1037 int papplPrinterOpenFile (
1038 pappl_printer_t *printer,
1039 char *fname,
1040 size_t fnamesize,
1041 const char *directory,
1042 const char *resname,
1043 const char *ext,
1044 const char *mode
1045 );
1046
1047 This function creates or opens a file for a printer. The "fname" and
1048 "fnamesize" arguments specify the location and size of a buffer to
1049 store the printer filename, which incorporates the "directory", printer
1050 ID, resource name, and "ext" values. The job name is "sanitized" to
1051 only contain alphanumeric characters.
1052
1053 The "mode" argument is "r" to read an existing job file or "w" to write
1054 a new job file. New files are created with restricted permissions for
1055 security purposes.
1056
1057 papplPrinterPause
1058 Pause (stop) a printer.
1059
1060 void papplPrinterPause (
1061 pappl_printer_t *printer
1062 );
1063
1064 This function pauses a printer. If the printer is currently processing
1065 (printing) a job, it will be completed before the printer is stopped.
1066
1067 papplPrinterResume
1068 Resume (start) a printer.
1069
1070 void papplPrinterResume (
1071 pappl_printer_t *printer
1072 );
1073
1074 This function resumes a printer and starts processing any pending jobs.
1075
1076 papplPrinterSetContact
1077 Set the "printer-contact" value.
1078
1079 void papplPrinterSetContact (
1080 pappl_printer_t *printer,
1081 pappl_contact_t *contact
1082 );
1083
1084 This function sets the printer's contact information.
1085
1086 papplPrinterSetDNSSDName
1087 Set the DNS-SD service name.
1088
1089 void papplPrinterSetDNSSDName (
1090 pappl_printer_t *printer,
1091 const char *value
1092 );
1093
1094 This function sets the printer's DNS-SD service name. If NULL, the
1095 printer will stop advertising the printer.
1096
1097 papplPrinterSetDriverData
1098 Set the driver data.
1099
1100 bool papplPrinterSetDriverData (
1101 pappl_printer_t *printer,
1102 pappl_pr_driver_data_t *data,
1103 ipp_t *attrs
1104 );
1105
1106 This function validates and sets the driver data, including all de‐
1107 faults and ready (loaded) media.
1108
1109 5 Note: This function regenerates all of the driver-specific capa‐
1110 bility
1111
1112 5 attributes like "media-col-database", "sides-supported", and so
1113 forth.
1114
1115 5 Use the papplPrinterSetDriverDefaults or
1116
1117 5 papplPrinterSetReadyMedia functions to efficiently change the
1118
1119 5 "xxx-default" or "xxx-ready" values, respectively.
1120
1121 papplPrinterSetDriverDefaults
1122 Set the default print option values.
1123
1124 bool papplPrinterSetDriverDefaults (
1125 pappl_printer_t *printer,
1126 pappl_pr_driver_data_t *data,
1127 int num_vendor,
1128 cups_option_t *vendor
1129 );
1130
1131 This function validates and sets the printer's default print options.
1132
1133 5 Note: Unlike papplPrinterSetPrintDriverData, this function only
1134
1135 5 changes the "xxx_default" members of the driver data and is con‐
1136 sidered
1137
1138 5 lightweight.
1139
1140 papplPrinterSetGeoLocation
1141 Set the geo-location value as a "geo:" URI.
1142
1143 void papplPrinterSetGeoLocation (
1144 pappl_printer_t *printer,
1145 const char *value
1146 );
1147
1148 This function sets the printer's geographic location as a "geo:" URI.
1149 If NULL, the location is cleared to the 'unknown' value.
1150
1151 papplPrinterSetImpressionsCompleted
1152 Add impressions (sides) to the total count of printed impressions.
1153
1154 void papplPrinterSetImpressionsCompleted (
1155 pappl_printer_t *printer,
1156 int add
1157 );
1158
1159 This function adds to the printer's impressions counter. An impression
1160 is one side of an output page.
1161
1162 papplPrinterSetLocation
1163 Set the location string.
1164
1165 void papplPrinterSetLocation (
1166 pappl_printer_t *printer,
1167 const char *value
1168 );
1169
1170 This function sets the printer's human-readable location string. If
1171 NULL, the location is cleared.
1172
1173 papplPrinterSetMaxActiveJobs
1174 Set the maximum number of active jobs for the printer.
1175
1176 void papplPrinterSetMaxActiveJobs (
1177 pappl_printer_t *printer,
1178 int max_active_jobs
1179 );
1180
1181 This function sets the maximum number of jobs that can be spooled on
1182 the printer at one time.
1183
1184 5 Note: This limit does not apply to streaming raster formats such
1185 as PWG
1186
1187 5 Raster since they are not spooled.
1188
1189 papplPrinterSetMaxCompletedJobs
1190 Set the maximum number of completed jobs for the printer.
1191
1192 void papplPrinterSetMaxCompletedJobs (
1193 pappl_printer_t *printer,
1194 int max_completed_jobs
1195 );
1196
1197 This function sets the maximum number of aborted, canceled, or com‐
1198 pleted jobs that are retained in the job history.
1199
1200 papplPrinterSetMaxPreservedJobs
1201 Set the maximum number of preserved jobs for the printer.
1202
1203 void papplPrinterSetMaxPreservedJobs (
1204 pappl_printer_t *printer,
1205 int max_preserved_jobs
1206 );
1207
1208 This function sets the maximum number of aborted, canceled, or com‐
1209 pleted jobs that are preserved (with document data) in the job history.
1210
1211 papplPrinterSetNextJobID
1212 Set the next "job-id" value.
1213
1214 void papplPrinterSetNextJobID (
1215 pappl_printer_t *printer,
1216 int next_job_id
1217 );
1218
1219 This function sets the next unique positive integer identifier that
1220 will be used for a job.
1221
1222 5 Note: This function is normally only called once to restore the
1223 previous
1224
1225 5 state of the printer.
1226
1227 papplPrinterSetOrganization
1228 Set the organization name.
1229
1230 void papplPrinterSetOrganization (
1231 pappl_printer_t *printer,
1232 const char *value
1233 );
1234
1235 This function sets the printer's organization name. If NULL the value
1236 is cleared.
1237
1238 papplPrinterSetOrganizationalUnit
1239 Set the organizational unit name.
1240
1241 void papplPrinterSetOrganizationalUnit (
1242 pappl_printer_t *printer,
1243 const char *value
1244 );
1245
1246 This function sets the printer's organizational unit name. If NULL the
1247 value is cleared.
1248
1249 papplPrinterSetPrintGroup
1250 Set the print authorization group, if any.
1251
1252 void papplPrinterSetPrintGroup (
1253 pappl_printer_t *printer,
1254 const char *value
1255 );
1256
1257 This function sets the printer's authorization group. If NULL, the
1258 group is cleared.
1259
1260 5 Note: The authorization group is only used if the system is cre‐
1261 ated with a
1262
1263 5 named authorization service.
1264
1265 papplPrinterSetReadyMedia
1266 Set the ready (loaded) media.
1267
1268 bool papplPrinterSetReadyMedia (
1269 pappl_printer_t *printer,
1270 int num_ready,
1271 pappl_media_col_t *ready
1272 );
1273
1274 This function validates and sets the printer's ready (loaded) media.
1275
1276 papplPrinterSetReasons
1277 Add or remove values from "printer-state-reasons".
1278
1279 void papplPrinterSetReasons (
1280 pappl_printer_t *printer,
1281 pappl_preason_t add,
1282 pappl_preason_t remove
1283 );
1284
1285 This function updates the printer state reasons bitfield by clearing
1286 any bit values in the "remove" argument and setting any bit values in
1287 the "add" argument.
1288
1289 papplPrinterSetSupplies
1290 Set/update the supplies for a printer.
1291
1292 void papplPrinterSetSupplies (
1293 pappl_printer_t *printer,
1294 int num_supplies,
1295 pappl_supply_t *supplies
1296 );
1297
1298 This function updates the supply information for the printer.
1299
1300 papplPrinterSetUSB
1301 Set the USB vendor and product IDs for a printer.
1302
1303 void papplPrinterSetUSB (
1304 pappl_printer_t *printer,
1305 unsigned vendor_id,
1306 unsigned product_id,
1307 pappl_uoptions_t options,
1308 const char *storagefile,
1309 pappl_pr_usb_cb_t usb_cb,
1310 void *usb_cbdata
1311 );
1312
1313 This function sets the USB vendor and product IDs for a printer as well
1314 as specifying USB gadget options when the printer is registered with
1315 the USB device controller.
1316
1317 The usb_cb argument specifies a processing callback that is called for
1318 every byte of data sent from the USB host and which is responsible for
1319 interpreting the data, writing data to the device, and handling back-
1320 channel data.
1321
1322 5 Note: USB gadget functionality is currently only available when
1323 running
1324
1325 5 on Linux with compatible hardware such as the Raspberry Pi Zero
1326 and 4B.
1327
1329 pappl_icon_s
1330 Printer PNG icon structure
1331
1332 struct pappl_icon_s
1333 {
1334 const void *data;
1335 size_t datalen;
1336 char filename[256];
1337 };
1338
1339 pappl_media_col_s
1340 Media details structure
1341
1342 struct pappl_media_col_s
1343 {
1344 int bottom_margin;
1345 int left_margin;
1346 int left_offset;
1347 int right_margin;
1348 int size_length;
1349 char size_name[64];
1350 int size_width;
1351 char source[64];
1352 int top_margin;
1353 int top_offset;
1354 pappl_media_tracking_t tracking;
1355 char type[64];
1356 };
1357
1358 pappl_pr_driver_data_s
1359 Printer driver data
1360
1361 struct pappl_pr_driver_data_s
1362 {
1363 const char *bin[PAPPL_MAX_BIN];
1364 int bin_default;
1365 bool borderless;
1366 int bottom_top;
1367 pappl_color_mode_t color_default;
1368 pappl_color_mode_t color_supported;
1369 pappl_content_t content_default;
1370 int darkness_configured;
1371 int darkness_default;
1372 int darkness_supported;
1373 pappl_pr_delete_cb_t delete_cb;
1374 pappl_duplex_t duplex;
1375 void *extension;
1376 const char *features[PAPPL_MAX_VENDOR];
1377 pappl_finishings_t finishings;
1378 pappl_raster_type_t force_raster_type;
1379 const char *format;
1380 pappl_dither_t gdither;
1381 bool has_supplies;
1382 pappl_icon_t icons[3];
1383 pappl_pr_identify_cb_t identify_cb;
1384 pappl_identify_actions_t identify_default;
1385 pappl_identify_actions_t identify_supported;
1386 bool input_face_up;
1387 pappl_kind_t kind;
1388 int left_offset_supported[2];
1389 int left_right;
1390 char make_and_model[128];
1391 const char *media[PAPPL_MAX_MEDIA];
1392 pappl_media_col_t media_default;
1393 pappl_media_col_t media_ready[PAPPL_MAX_SOURCE];
1394 pappl_label_mode_t mode_configured;
1395 pappl_label_mode_t mode_supported;
1396 int num_bin;
1397 int num_features;
1398 int num_media;
1399 int num_resolution;
1400 int num_source;
1401 int num_type;
1402 int num_vendor;
1403 ipp_orient_t orient_default;
1404 bool output_face_up;
1405 pappl_dither_t pdither;
1406 int ppm;
1407 int ppm_color;
1408 pappl_pr_printfile_cb_t printfile_cb;
1409 ipp_quality_t quality_default;
1410 pappl_raster_type_t raster_types;
1411 pappl_pr_rendjob_cb_t rendjob_cb;
1412 pappl_pr_rendpage_cb_t rendpage_cb;
1413 pappl_pr_rstartjob_cb_t rstartjob_cb;
1414 pappl_pr_rstartpage_cb_t rstartpage_cb;
1415 pappl_pr_rwriteline_cb_t rwriteline_cb;
1416 pappl_scaling_t scaling_default;
1417 pappl_sides_t sides_default;
1418 pappl_sides_t sides_supported;
1419 const char *source[PAPPL_MAX_SOURCE];
1420 int speed_default;
1421 int speed_supported[2];
1422 pappl_pr_status_cb_t status_cb;
1423 int tear_offset_configured;
1424 int tear_offset_supported[2];
1425 pappl_pr_testpage_cb_t testpage_cb;
1426 int top_offset_supported[2];
1427 pappl_media_tracking_t tracking_supported;
1428 const char *type[PAPPL_MAX_TYPE];
1429 const char *vendor[PAPPL_MAX_VENDOR];
1430 int x_default;
1431 int x_resolution[PAPPL_MAX_RESOLUTION];
1432 int y_default;
1433 int y_resolution[PAPPL_MAX_RESOLUTION];
1434 };
1435
1436 pappl_pr_options_s
1437 Combined print job options
1438
1439 struct pappl_pr_options_s
1440 {
1441 int copies;
1442 int darkness_configured;
1443 pappl_dither_t dither;
1444 pappl_finishings_t finishings;
1445 unsigned first_page;
1446 cups_page_header2_t header;
1447 unsigned last_page;
1448 pappl_media_col_t media;
1449 unsigned num_pages;
1450 int num_vendor;
1451 ipp_orient_t orientation_requested;
1452 char output_bin[64];
1453 pappl_color_mode_t print_color_mode;
1454 pappl_content_t print_content_optimize;
1455 int print_darkness;
1456 ipp_quality_t print_quality;
1457 pappl_scaling_t print_scaling;
1458 int print_speed;
1459 int printer_resolution[2];
1460 pappl_sides_t sides;
1461 cups_option_t *vendor;
1462 };
1463
1465 pappl_color_mode_t
1466 Bitfield for IPP "print-color-mode" values
1467
1468 typedef unsigned pappl_color_mode_t;
1469
1470 pappl_content_t
1471 Bitfield for IPP "print-content-optimize" values
1472
1473 typedef unsigned pappl_content_t;
1474
1475 pappl_default_cb_t
1476 papplIterateDefaults callback
1477
1478 typedef void (*pappl_default_cb_t)(ipp_attribute_t *attr, void *data);
1479
1480 pappl_duplex_t
1481 Duplex printing support
1482
1483 typedef enum pappl_duplex_e pappl_duplex_t;
1484
1485 pappl_finishings_t
1486 Bitfield for IPP "finishings" values
1487
1488 typedef unsigned pappl_finishings_t;
1489
1490 pappl_icon_t
1491 Printer PNG icon structure
1492
1493 typedef struct pappl_icon_s pappl_icon_t;
1494
1495 pappl_identify_actions_t
1496 Bitfield for IPP "identify-actions" values
1497
1498 typedef unsigned pappl_identify_actions_t;
1499
1500 pappl_job_cb_t
1501 papplIterateXxxJobs callback function
1502
1503 typedef void (*pappl_job_cb_t)(pappl_job_t *job, void *data);
1504
1505 pappl_kind_t
1506 Bitfield for IPP "printer-kind" values
1507
1508 typedef unsigned pappl_kind_t;
1509
1510 pappl_label_mode_t
1511 Bitfield for IPP "label-mode-xxx" values
1512
1513 typedef unsigned short pappl_label_mode_t;
1514
1515 pappl_media_col_t
1516 Media details structure
1517
1518 typedef struct pappl_media_col_s pappl_media_col_t;
1519
1520 pappl_media_tracking_t
1521 Bitfield for IPP "media-tracking" values
1522
1523 typedef unsigned short pappl_media_tracking_t;
1524
1525 pappl_pr_delete_cb_t
1526 Printer deletion callback
1527
1528 typedef void (*pappl_pr_delete_cb_t)(pappl_printer_t *printer, pappl_pr_driver_data_t *data);
1529
1530 pappl_pr_identify_cb_t
1531 Identify-Printer callback
1532
1533 typedef void (*pappl_pr_identify_cb_t)(pappl_printer_t *printer, pappl_identify_actions_t actions, const char *message);
1534
1535 pappl_pr_printfile_cb_t
1536 Print a "raw" job callback
1537
1538 typedef bool (*pappl_pr_printfile_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device);
1539
1540 pappl_pr_rendjob_cb_t
1541 End a raster job callback
1542
1543 typedef bool (*pappl_pr_rendjob_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device);
1544
1545 pappl_pr_rendpage_cb_t
1546 End a raster page callback
1547
1548 typedef bool (*pappl_pr_rendpage_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device, unsigned page);
1549
1550 pappl_pr_rstartjob_cb_t
1551 Start a raster job callback
1552
1553 typedef bool (*pappl_pr_rstartjob_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device);
1554
1555 pappl_pr_rstartpage_cb_t
1556 Start a raster page callback
1557
1558 typedef bool (*pappl_pr_rstartpage_cb_t)(pappl_job_t *job, pappl_pr_options_t *options, pappl_device_t *device, unsigned page);
1559
1560 pappl_pr_rwriteline_cb_t
1561 Write a line of raster graphics callback
1562
1563 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);
1564
1565 pappl_pr_status_cb_t
1566 Update printer status callback
1567
1568 typedef bool (*pappl_pr_status_cb_t)(pappl_printer_t *printer);
1569
1570 pappl_pr_testpage_cb_t
1571 Print a test page callback
1572
1573 typedef const char * (*pappl_pr_testpage_cb_t)(pappl_printer_t *printer, char *buffer, size_t bufsize);
1574
1575 pappl_pr_usb_cb_t
1576 Raw USB IO callback
1577
1578 typedef ssize_t (*pappl_pr_usb_cb_t)(pappl_printer_t *printer, pappl_device_t *device, void *buffer, size_t bufsize, size_t bytes, void *data);
1579
1580 pappl_raster_type_t
1581 Bitfield for IPP "pwg-raster-document-type-supported" values
1582
1583 typedef unsigned pappl_raster_type_t;
1584
1585 pappl_scaling_t
1586 Bitfield for IPP "print-scaling" values
1587
1588 typedef unsigned pappl_scaling_t;
1589
1590 pappl_sides_t
1591 Bitfield for IPP "sides" values
1592
1593 typedef unsigned pappl_sides_t;
1594
1595 pappl_uoptions_t
1596 USB gadget options bitfield
1597
1598 typedef unsigned pappl_uoptions_t;
1599
1601 pappl(1), pappl-client(3), pappl-device(3), pappl-job(3), pappl-log(3),
1602 pappl-mainline(3), pappl-makeresheader(1), pappl-printer(3), pappl-re‐
1603 source(3), pappl-system(3), https://www.msweet.org/pappl
1604
1606 Copyright © 2019-2022 by Michael R Sweet.
1607
1608 PAPPL is licensed under the Apache License Version 2.0 with an (op‐
1609 tional) exception to allow linking against GPL2/LGPL2 software (like
1610 older versions of CUPS), so it can be used freely in any project you'd
1611 like. See the files "LICENSE" and "NOTICE" in the source distribution
1612 for more information.
1613
1614
1615
16162022-05-10 pappl printer functions pappl-printer(3)