1pappl-printer(3)            pappl printer functions           pappl-printer(3)
2
3
4

NAME

6       pappl-printer - pappl printer functions
7

LIBRARY

9       Printer  Application  Framework  (libpappl, "pkg-config --cflags --libs
10       pappl")
11

SYNOPSIS

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

DESCRIPTION

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

ENUMERATIONS

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

FUNCTIONS

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
612EEXIST: A printer with the specified name already exists.
613
614EINVAL: Bad values for the arguments were specified.
615
616EIO: The driver callback failed.
617
618ENOENT: No driver callback has been set.
619
620ENOMEM: 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
918IPP_PSTATE_IDLE: The printer is idle and has no jobs to process.
919
920IPP_PSTATE_PROCESSING: The printer is processing a job and/or pro‐
921            ducing output.
922
923IPP_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

STRUCTURES

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

TYPES

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

SEE ALSO

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)
Impressum