1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3 <!-- SECTION: Programming -->
5 <title>PPD Compiler API
</title>
6 <meta name=
"keywords" content=
"Programming">
7 <meta name=
"creator" content=
"Mini-XML v2.6">
8 <style type=
"text/css"><!--
10 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
13 H1, H2, H3, H4, H5, H6, P, TD, TH {
14 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
18 font-family: monaco, courier, monospace;
23 font-family: monaco, courier, monospace;
41 border: dotted thin #999999;
46 PRE.command EM, PRE.example EM {
47 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
51 font-family: monaco, courier, monospace;
62 border: solid thin #999999;
73 -moz-border-radius: 10px;
78 text-decoration: none;
81 A:link:hover, A:visited:hover, A:active {
82 text-decoration: underline;
89 TR.data, TD.data, TR.data TD {
92 border-bottom: solid 1pt #999999;
96 border-bottom: solid 1pt #999999;
103 border: solid thin #999999;
104 border-collapse: collapse;
120 border: solid thin #cccccc;
127 border-bottom: solid thin #999999;
136 caption-side: bottom;
160 border: thin solid black;
168 H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
174 border-bottom: solid 2pt #000000;
177 DIV.indent, TABLE.indent {
185 border-collapse: collapse;
188 TABLE.indent TD, TABLE.indent TH {
193 border-collapse: collapse;
201 border-bottom: solid thin #cccccc;
206 vertical-align: bottom;
215 border-bottom: solid thin #eeeeee;
220 TABLE.list TR:nth-child(even) {
224 TABLE.list TR:nth-child(odd) {
243 font-family: monaco, courier, monospace;
247 border: solid thin #999999;
248 border-collapse: collapse;
253 DIV.summary TABLE TD, DIV.summary TABLE TH {
254 border: solid thin #999999;
260 DIV.summary TABLE THEAD TH {
264 /* API documentation styles... */
271 div.body h3, div.body h4, div.body h5 {
272 margin-bottom: 0.5em;
275 .class, .enumeration, .function, .struct, .typedef, .union {
276 border-bottom: solid thin #999999;
283 code, p.code, pre, ul.code li {
284 font-family: monaco, courier, monospace;
287 ul.code, ul.contents, ul.subcontents {
288 list-style-type: none;
298 ul.contents li ul.code, ul.contents li ul.subcontents {
311 margin-bottom: 0.5em;
314 /* This is just for the HTML files generated with the framedhelp target */
317 border: solid thin black;
326 div.contents ul.contents {
329 div.contents ul.subcontents li {
337 <h2 class=
"title">Contents
</h2>
338 <ul class=
"contents">
339 <li><a href=
"#CLASSES">Classes
</a><ul class=
"code">
340 <li><a href=
"#ppdcArray" title=
"// Shared Array">ppdcArray
</a></li>
341 <li><a href=
"#ppdcAttr" title=
"// Attribute">ppdcAttr
</a></li>
342 <li><a href=
"#ppdcCatalog" title=
"// Translation catalog">ppdcCatalog
</a></li>
343 <li><a href=
"#ppdcChoice" title=
"// Option Choice">ppdcChoice
</a></li>
344 <li><a href=
"#ppdcConstraint" title=
"// Constraint">ppdcConstraint
</a></li>
345 <li><a href=
"#ppdcDriver" title=
"// Printer Driver Data">ppdcDriver
</a></li>
346 <li><a href=
"#ppdcFile" title=
"// File">ppdcFile
</a></li>
347 <li><a href=
"#ppdcFilter" title=
"// Filter Program">ppdcFilter
</a></li>
348 <li><a href=
"#ppdcFont" title=
"// Shared Font">ppdcFont
</a></li>
349 <li><a href=
"#ppdcGroup" title=
"// Group of Options">ppdcGroup
</a></li>
350 <li><a href=
"#ppdcInteger" title=
"// Shared integer">ppdcInteger
</a></li>
351 <li><a href=
"#ppdcMediaSize" title=
"// Media Size">ppdcMediaSize
</a></li>
352 <li><a href=
"#ppdcMessage" title=
"// Translation message">ppdcMessage
</a></li>
353 <li><a href=
"#ppdcOption" title=
"// Option">ppdcOption
</a></li>
354 <li><a href=
"#ppdcProfile" title=
"// Color Profile">ppdcProfile
</a></li>
355 <li><a href=
"#ppdcShared" title=
"// Shared Data Value">ppdcShared
</a></li>
356 <li><a href=
"#ppdcSource" title=
"// Source File">ppdcSource
</a></li>
357 <li><a href=
"#ppdcString" title=
"// Shared String">ppdcString
</a></li>
358 <li><a href=
"#ppdcVariable" title=
"// Variable Definition">ppdcVariable
</a></li>
360 <li><a href=
"#TYPES">Data Types
</a><ul class=
"code">
361 <li><a href=
"#ppdc_cs_t" title=
"">ppdc_cs_t
</a></li>
363 <li><a href=
"#VARIABLES">Variables
</a><ul class=
"code">
364 <li><a href=
"#ppdcSource" title=
"// Printer Driver Data">ppdcSource
</a></li>
366 <li><a href=
"#ENUMERATIONS">Constants
</a><ul class=
"code">
367 <li><a href=
"#ppdcCondFlags" title=
"// Condition flags">ppdcCondFlags
</a></li>
368 <li><a href=
"#ppdcDrvType" title=
"// Driver type">ppdcDrvType
</a></li>
369 <li><a href=
"#ppdcFontStatus" title=
"// Load status of font">ppdcFontStatus
</a></li>
370 <li><a href=
"#ppdcLineEnding" title=
"// Line endings">ppdcLineEnding
</a></li>
371 <li><a href=
"#ppdcOptSection" title=
"// Option section">ppdcOptSection
</a></li>
372 <li><a href=
"#ppdcOptType" title=
"// Option type">ppdcOptType
</a></li>
374 <h2 class=
"title"><a name=
"CLASSES">Classes
</a></h2>
375 <h3 class=
"class"><a name=
"ppdcArray">ppdcArray
</a></h3>
376 <p class=
"description">// Shared Array
</p>
377 <p class=
"code">class ppdcArray : public ppdcShared {
<br>
378 public:
<br>
379 int count, alloc, current;
<br>
380 <a href=
"#ppdcShared">ppdcShared
</a> **data;
<br>
382 <h4 class=
"members">Members
</h4>
385 <dd class=
"description">Current element
</dd>
387 <dd class=
"description">Elements
</dd>
389 <h4 class=
"method"><a name=
"PPDC_NAME">PPDC_NAME
</a></h4>
390 <p class=
"description"></p>
393 void add(
<a href=
"#ppdcShared">ppdcShared
</a> *d
<br>
395 <h5 class=
"parameters">Parameters
</h5>
399 <h4 class=
"method"><a name=
"add">add
</a></h4>
400 <p class=
"description"></p>
403 <a href=
"#ppdcShared">ppdcShared
</a> *d
<br>
405 <h5 class=
"parameters">Parameters
</h5>
409 <h4 class=
"method"><a name=
"first">first
</a></h4>
410 <p class=
"description">Return the first element in the array.
</p>
412 <a href=
"#ppdcShared">ppdcShared
</a> *first (void);
</p>
413 <h5 class=
"returnvalue">Return Value
</h5>
414 <p class=
"description"></p>
415 <h4 class=
"method"><a name=
"next">next
</a></h4>
416 <p class=
"description">Return the next element in the array.
</p>
418 <a href=
"#ppdcShared">ppdcShared
</a> *next (void);
</p>
419 <h5 class=
"returnvalue">Return Value
</h5>
420 <p class=
"description"></p>
421 <h4 class=
"method"><a name=
"ppdcArray">ppdcArray
</a></h4>
422 <p class=
"description"></p>
425 <a href=
"#ppdcArray">ppdcArray
</a> *a
<br>
427 <h5 class=
"parameters">Parameters
</h5>
431 <h4 class=
"method"><a name=
"remove">remove
</a></h4>
432 <p class=
"description"></p>
435 <a href=
"#ppdcShared">ppdcShared
</a> *d
<br>
437 <h5 class=
"parameters">Parameters
</h5>
440 <dd class=
"description">Data element
</dd>
442 <h4 class=
"method"><a name=
"~ppdcArray">~ppdcArray
</a></h4>
443 <p class=
"description"></p>
445 void ~ppdcArray (void);
</p>
446 <h3 class=
"class"><a name=
"ppdcAttr">ppdcAttr
</a></h3>
447 <p class=
"description">// Attribute
</p>
448 <p class=
"code">class ppdcAttr : public ppdcShared {
<br>
449 public:
<br>
450 bool localizable;
<br>
451 <a href=
"#ppdcString">ppdcString
</a> *name, *selector, *text, *value;
<br>
453 <h4 class=
"members">Members
</h4>
455 <dt>localizable
</dt>
456 <dd class=
"description">Should this attribute be localized?
</dd>
458 <dd class=
"description">Value string
</dd>
460 <h4 class=
"method"><a name=
"ppdcAttr">ppdcAttr
</a></h4>
461 <p class=
"description"></p>
464 const char *n,
<br>
465 const char *s,
<br>
466 const char *t,
<br>
467 const char *v,
<br>
468 bool loc
<br>
470 <h5 class=
"parameters">Parameters
</h5>
473 <dd class=
"description">Name
</dd>
475 <dd class=
"description">Spec string
</dd>
477 <dd class=
"description">Human-readable text
</dd>
479 <dd class=
"description">Value
</dd>
481 <dd class=
"description">Localize this attribute?
</dd>
483 <h4 class=
"method"><a name=
"~ppdcAttr">~ppdcAttr
</a></h4>
484 <p class=
"description"></p>
486 void ~ppdcAttr (void);
</p>
487 <h3 class=
"class"><a name=
"ppdcCatalog">ppdcCatalog
</a></h3>
488 <p class=
"description">// Translation catalog
</p>
489 <p class=
"code">class ppdcCatalog : public ppdcShared {
<br>
490 public:
<br>
491 <a href=
"#ppdcString">ppdcString
</a> *filename;
<br>
492 <a href=
"#ppdcString">ppdcString
</a> *locale;
<br>
493 <a href=
"#ppdcArray">ppdcArray
</a> *messages;
<br>
495 <h4 class=
"members">Members
</h4>
498 <dd class=
"description">Name of translation file
</dd>
500 <dd class=
"description">Name of locale
</dd>
502 <dd class=
"description">Array of translation messages
</dd>
504 <h4 class=
"method"><a name=
"PPDC_NAME">PPDC_NAME
</a></h4>
505 <p class=
"description"></p>
508 void add_message(const char *id,
<br>
509 const char *string = NULL
<br>
511 <h5 class=
"parameters">Parameters
</h5>
516 <h4 class=
"method"><a name=
"add_message">add_message
</a></h4>
517 <p class=
"description"></p>
519 void add_message (
<br>
520 const char *id,
<br>
521 const char *string
<br>
523 <h5 class=
"parameters">Parameters
</h5>
526 <dd class=
"description">Message ID to add
</dd>
528 <dd class=
"description">Translation string
</dd>
530 <h4 class=
"method"><a name=
"find_message">find_message
</a></h4>
531 <p class=
"description"></p>
533 const char *find_message (
<br>
534 const char *id
<br>
536 <h5 class=
"parameters">Parameters
</h5>
539 <dd class=
"description">Message ID
</dd>
541 <h5 class=
"returnvalue">Return Value
</h5>
542 <p class=
"description">Message text
</p>
543 <h4 class=
"method"><a name=
"load_messages">load_messages
</a></h4>
544 <p class=
"description"></p>
546 int load_messages (
<br>
547 const char *f
<br>
549 <h5 class=
"parameters">Parameters
</h5>
552 <dd class=
"description">Message catalog file
</dd>
554 <h5 class=
"returnvalue">Return Value
</h5>
555 <p class=
"description">0 on success, -
1 on failure
</p>
556 <h4 class=
"method"><a name=
"ppdcCatalog">ppdcCatalog
</a></h4>
557 <p class=
"description"></p>
559 void ppdcCatalog (
<br>
560 const char *l,
<br>
561 const char *f
<br>
563 <h5 class=
"parameters">Parameters
</h5>
566 <dd class=
"description">Locale
</dd>
568 <dd class=
"description">Message catalog file
</dd>
570 <h4 class=
"method"><a name=
"save_messages">save_messages
</a></h4>
571 <p class=
"description"></p>
573 int save_messages (
<br>
574 const char *f
<br>
576 <h5 class=
"parameters">Parameters
</h5>
579 <dd class=
"description">File to save to
</dd>
581 <h5 class=
"returnvalue">Return Value
</h5>
582 <p class=
"description">0 on success, -
1 on error
</p>
583 <h4 class=
"method"><a name=
"~ppdcCatalog">~ppdcCatalog
</a></h4>
584 <p class=
"description"></p>
586 void ~ppdcCatalog (void);
</p>
587 <h3 class=
"class"><a name=
"ppdcChoice">ppdcChoice
</a></h3>
588 <p class=
"description">// Option Choice
</p>
589 <p class=
"code">class ppdcChoice : public ppdcShared {
<br>
590 public:
<br>
591 <a href=
"#ppdcString">ppdcString
</a> *name, *text, *code;
<br>
593 <h4 class=
"members">Members
</h4>
596 <dd class=
"description">PS code of choice
</dd>
598 <h4 class=
"method"><a name=
"ppdcChoice">ppdcChoice
</a></h4>
599 <p class=
"description"></p>
601 void ppdcChoice (
<br>
602 const char *n,
<br>
603 const char *t,
<br>
604 const char *c
<br>
606 <h5 class=
"parameters">Parameters
</h5>
609 <dd class=
"description">Name of choice
</dd>
611 <dd class=
"description">Text of choice
</dd>
613 <dd class=
"description">Code of choice
</dd>
615 <h4 class=
"method"><a name=
"~ppdcChoice">~ppdcChoice
</a></h4>
616 <p class=
"description"></p>
618 void ~ppdcChoice (void);
</p>
619 <h3 class=
"class"><a name=
"ppdcConstraint">ppdcConstraint
</a></h3>
620 <p class=
"description">// Constraint
</p>
621 <p class=
"code">class ppdcConstraint : public ppdcShared {
<br>
622 public:
<br>
623 <a href=
"#ppdcString">ppdcString
</a> *option1, *choice1, *option2, *choice2;
<br>
625 <h4 class=
"members">Members
</h4>
628 <dd class=
"description">Second choice
</dd>
630 <h4 class=
"method"><a name=
"ppdcConstraint">ppdcConstraint
</a></h4>
631 <p class=
"description"></p>
633 void ppdcConstraint (
<br>
634 const char *o1,
<br>
635 const char *c1,
<br>
636 const char *o2,
<br>
637 const char *c2
<br>
639 <h5 class=
"parameters">Parameters
</h5>
642 <dd class=
"description">First option
</dd>
644 <dd class=
"description">First choice
</dd>
646 <dd class=
"description">Second option
</dd>
648 <dd class=
"description">Second choice
</dd>
650 <h4 class=
"method"><a name=
"~ppdcConstraint">~ppdcConstraint
</a></h4>
651 <p class=
"description"></p>
653 void ~ppdcConstraint (void);
</p>
654 <h3 class=
"class"><a name=
"ppdcDriver">ppdcDriver
</a></h3>
655 <p class=
"description">// Printer Driver Data
</p>
656 <p class=
"code">class ppdcDriver : public ppdcShared {
<br>
657 public:
<br>
658 <a href=
"#ppdcArray">ppdcArray
</a> *copyright;
<br>
659 <a href=
"#ppdcString">ppdcString
</a> *custom_size_code;
<br>
660 <a href=
"#ppdcString">ppdcString
</a> *default_font, *default_size;
<br>
661 float left_margin, bottom_margin, right_margin, top_margin, max_width, max_length, min_width, min_length;
<br>
662 <a href=
"#ppdcArray">ppdcArray
</a> *attrs, *constraints, *filters, *fonts, *groups, *profiles, *sizes;
<br>
663 int model_number, manual_copies, color_device, throughput;
<br>
664 <a href=
"#ppdcDrvType">ppdcDrvType
</a> type;
<br>
665 int variable_paper_size;
<br>
666 <a href=
"#ppdcString">ppdcString
</a> *manufacturer, *model_name, *file_name, *pc_file_name, *version;
<br>
668 <h4 class=
"members">Members
</h4>
671 <dd class=
"description">Copyright strings
</dd>
672 <dt>custom_size_code
</dt>
673 <dd class=
"description">Custom page size code, if any
</dd>
674 <dt>default_size
</dt>
675 <dd class=
"description">Default size option
</dd>
677 <dd class=
"description">Minimum length (points)
</dd>
679 <dd class=
"description">Fixed sizes
</dd>
681 <dd class=
"description">Throughput in pages per minute
</dd>
683 <dd class=
"description">Driver type
</dd>
684 <dt>variable_paper_size
</dt>
685 <dd class=
"description">Support variable sizes?
</dd>
687 <dd class=
"description">Version number
</dd>
689 <h4 class=
"method"><a name=
"PPDC_NAME">PPDC_NAME
</a></h4>
690 <p class=
"description"></p>
693 void add_attr(
<a href=
"#ppdcAttr">ppdcAttr
</a> *a
<br>
695 <h5 class=
"parameters">Parameters
</h5>
699 <h4 class=
"method"><a name=
"add_constraint">add_constraint
</a></h4>
700 <p class=
"description"></p>
702 void add_constraint (
<br>
703 <a href=
"#ppdcConstraint">ppdcConstraint
</a> *c
<br>
705 <h5 class=
"parameters">Parameters
</h5>
709 <h4 class=
"method"><a name=
"add_copyright">add_copyright
</a></h4>
710 <p class=
"description"></p>
712 void add_copyright (
<br>
713 const char *c
<br>
715 <h5 class=
"parameters">Parameters
</h5>
719 <h4 class=
"method"><a name=
"add_filter">add_filter
</a></h4>
720 <p class=
"description"></p>
722 void add_filter (
<br>
723 <a href=
"#ppdcFilter">ppdcFilter
</a> *f
<br>
725 <h5 class=
"parameters">Parameters
</h5>
729 <h4 class=
"method"><a name=
"add_font">add_font
</a></h4>
730 <p class=
"description"></p>
733 <a href=
"#ppdcFont">ppdcFont
</a> *f
<br>
735 <h5 class=
"parameters">Parameters
</h5>
739 <h4 class=
"method"><a name=
"add_group">add_group
</a></h4>
740 <p class=
"description"></p>
743 <a href=
"#ppdcGroup">ppdcGroup
</a> *g
<br>
745 <h5 class=
"parameters">Parameters
</h5>
749 <h4 class=
"method"><a name=
"add_profile">add_profile
</a></h4>
750 <p class=
"description"></p>
752 void add_profile (
<br>
753 <a href=
"#ppdcProfile">ppdcProfile
</a> *p
<br>
755 <h5 class=
"parameters">Parameters
</h5>
759 <h4 class=
"method"><a name=
"add_size">add_size
</a></h4>
760 <p class=
"description"></p>
763 <a href=
"#ppdcMediaSize">ppdcMediaSize
</a> *m
<br>
765 <h5 class=
"parameters">Parameters
</h5>
769 <h4 class=
"method"><a name=
"find_attr">find_attr
</a></h4>
770 <p class=
"description"></p>
772 <a href=
"#ppdcAttr">ppdcAttr
</a> *find_attr (
<br>
773 const char *k,
<br>
774 const char *s
<br>
776 <h5 class=
"parameters">Parameters
</h5>
779 <dd class=
"description">Keyword string
</dd>
781 <dd class=
"description">Spec string
</dd>
783 <h5 class=
"returnvalue">Return Value
</h5>
784 <p class=
"description">Attribute or NULL
</p>
785 <h4 class=
"method"><a name=
"find_group">find_group
</a></h4>
786 <p class=
"description"></p>
788 <a href=
"#ppdcGroup">ppdcGroup
</a> *find_group (
<br>
789 const char *n
<br>
791 <h5 class=
"parameters">Parameters
</h5>
794 <dd class=
"description">Group name
</dd>
796 <h5 class=
"returnvalue">Return Value
</h5>
797 <p class=
"description">Matching group or NULL
</p>
798 <h4 class=
"method"><a name=
"find_option">find_option
</a></h4>
799 <p class=
"description"></p>
801 <a href=
"#ppdcOption">ppdcOption
</a> *find_option (
<br>
802 const char *n
<br>
804 <h5 class=
"parameters">Parameters
</h5>
807 <dd class=
"description">Option name
</dd>
809 <h5 class=
"returnvalue">Return Value
</h5>
810 <p class=
"description">Matching option or NULL
</p>
811 <h4 class=
"method"><a name=
"ppdcDriver">ppdcDriver
</a></h4>
812 <p class=
"description"></p>
814 void ppdcDriver (
<br>
815 <a href=
"#ppdcDriver">ppdcDriver
</a> *d
<br>
817 <h5 class=
"parameters">Parameters
</h5>
820 <dd class=
"description">Printer driver template
</dd>
822 <h4 class=
"method"><a name=
"set_custom_size_code">set_custom_size_code
</a></h4>
823 <p class=
"description"></p>
825 void set_custom_size_code (
<br>
826 const char *c
<br>
828 <h5 class=
"parameters">Parameters
</h5>
831 <dd class=
"description">CustomPageSize code
</dd>
833 <h4 class=
"method"><a name=
"set_default_font">set_default_font
</a></h4>
834 <p class=
"description"></p>
836 void set_default_font (
<br>
837 <a href=
"#ppdcFont">ppdcFont
</a> *f
<br>
839 <h5 class=
"parameters">Parameters
</h5>
842 <dd class=
"description">Font
</dd>
844 <h4 class=
"method"><a name=
"set_default_size">set_default_size
</a></h4>
845 <p class=
"description"></p>
847 void set_default_size (
<br>
848 <a href=
"#ppdcMediaSize">ppdcMediaSize
</a> *m
<br>
850 <h5 class=
"parameters">Parameters
</h5>
853 <dd class=
"description">Media size
</dd>
855 <h4 class=
"method"><a name=
"set_file_name">set_file_name
</a></h4>
856 <p class=
"description"></p>
858 void set_file_name (
<br>
859 const char *f
<br>
861 <h5 class=
"parameters">Parameters
</h5>
864 <dd class=
"description">Filename
</dd>
866 <h4 class=
"method"><a name=
"set_manufacturer">set_manufacturer
</a></h4>
867 <p class=
"description"></p>
869 void set_manufacturer (
<br>
870 const char *m
<br>
872 <h5 class=
"parameters">Parameters
</h5>
875 <dd class=
"description">Model name
</dd>
877 <h4 class=
"method"><a name=
"set_model_name">set_model_name
</a></h4>
878 <p class=
"description"></p>
880 void set_model_name (
<br>
881 const char *m
<br>
883 <h5 class=
"parameters">Parameters
</h5>
886 <dd class=
"description">Model name
</dd>
888 <h4 class=
"method"><a name=
"set_pc_file_name">set_pc_file_name
</a></h4>
889 <p class=
"description"></p>
891 void set_pc_file_name (
<br>
892 const char *f
<br>
894 <h5 class=
"parameters">Parameters
</h5>
897 <dd class=
"description">Filename
</dd>
899 <h4 class=
"method"><a name=
"set_version">set_version
</a></h4>
900 <p class=
"description"></p>
902 void set_version (
<br>
903 const char *v
<br>
905 <h5 class=
"parameters">Parameters
</h5>
908 <dd class=
"description">Version
</dd>
910 <h4 class=
"method"><a name=
"write_ppd_file">write_ppd_file
</a></h4>
911 <p class=
"description"></p>
913 int write_ppd_file (
<br>
914 cups_file_t *fp,
<br>
915 <a href=
"#ppdcCatalog">ppdcCatalog
</a> *catalog,
<br>
916 <a href=
"#ppdcArray">ppdcArray
</a> *locales,
<br>
917 <a href=
"#ppdcSource">ppdcSource
</a> *src,
<br>
918 <a href=
"#ppdcLineEnding">ppdcLineEnding
</a> le
<br>
920 <h5 class=
"parameters">Parameters
</h5>
923 <dd class=
"description">PPD file
</dd>
925 <dd class=
"description">Message catalog
</dd>
927 <dd class=
"description">Additional languages to add
</dd>
929 <dd class=
"description">Driver source
</dd>
931 <dd class=
"description">Line endings to use
</dd>
933 <h5 class=
"returnvalue">Return Value
</h5>
934 <p class=
"description">0 on success, -
1 on failure
</p>
935 <h4 class=
"method"><a name=
"~ppdcDriver">~ppdcDriver
</a></h4>
936 <p class=
"description"></p>
938 void ~ppdcDriver (void);
</p>
939 <h3 class=
"class"><a name=
"ppdcFile">ppdcFile
</a></h3>
940 <p class=
"description">// File
</p>
941 <p class=
"code">class ppdcFile {
<br>
942 public:
<br>
943 const char *filename;
<br>
944 cups_file_t *fp;
<br>
945 int line;
<br>
947 <h4 class=
"members">Members
</h4>
950 <dd class=
"description">Filename
</dd>
952 <dd class=
"description">File pointer
</dd>
954 <dd class=
"description">Line in file
</dd>
956 <h4 class=
"method"><a name=
"get">get
</a></h4>
957 <p class=
"description">Get a character from a file.
</p>
960 <h5 class=
"returnvalue">Return Value
</h5>
961 <p class=
"description"></p>
962 <h4 class=
"method"><a name=
"peek">peek
</a></h4>
963 <p class=
"description"></p>
966 <h5 class=
"returnvalue">Return Value
</h5>
967 <p class=
"description">Next character in file
</p>
968 <h4 class=
"method"><a name=
"ppdcFile">ppdcFile
</a></h4>
969 <p class=
"description"></p>
972 const char *f,
<br>
973 cups_file_t *ffp
<br>
975 <h5 class=
"parameters">Parameters
</h5>
978 <dd class=
"description">File to open
</dd>
980 <dd class=
"description">File pointer to use
</dd>
982 <h4 class=
"method"><a name=
"~ppdcFile">~ppdcFile
</a></h4>
983 <p class=
"description"></p>
985 void ~ppdcFile (void);
</p>
986 <h3 class=
"class"><a name=
"ppdcFilter">ppdcFilter
</a></h3>
987 <p class=
"description">// Filter Program
</p>
988 <p class=
"code">class ppdcFilter : public ppdcShared {
<br>
989 public:
<br>
990 int cost;
<br>
991 <a href=
"#ppdcString">ppdcString
</a> *mime_type, *program;
<br>
993 <h4 class=
"members">Members
</h4>
996 <dd class=
"description">Relative cost of filter
</dd>
998 <dd class=
"description">Filter program
</dd>
1000 <h4 class=
"method"><a name=
"ppdcFilter">ppdcFilter
</a></h4>
1001 <p class=
"description"></p>
1003 void ppdcFilter (
<br>
1004 const char *t,
<br>
1005 const char *p,
<br>
1006 int c
<br>
1008 <h5 class=
"parameters">Parameters
</h5>
1011 <dd class=
"description">MIME type
</dd>
1013 <dd class=
"description">Filter program
</dd>
1015 <dd class=
"description">Relative cost
</dd>
1017 <h4 class=
"method"><a name=
"~ppdcFilter">~ppdcFilter
</a></h4>
1018 <p class=
"description"></p>
1020 void ~ppdcFilter (void);
</p>
1021 <h3 class=
"class"><a name=
"ppdcFont">ppdcFont
</a></h3>
1022 <p class=
"description">// Shared Font
</p>
1023 <p class=
"code">class ppdcFont : public ppdcShared {
<br>
1024 public:
<br>
1025 <a href=
"#ppdcString">ppdcString
</a> *name, *encoding, *version, *charset;
<br>
1026 <a href=
"#ppdcFontStatus">ppdcFontStatus
</a> status;
<br>
1028 <h4 class=
"members">Members
</h4>
1031 <dd class=
"description">Font charset
</dd>
1033 <dd class=
"description">Font status (ROM or Disk)
</dd>
1035 <h4 class=
"method"><a name=
"ppdcFont">ppdcFont
</a></h4>
1036 <p class=
"description"></p>
1039 const char *n,
<br>
1040 const char *e,
<br>
1041 const char *v,
<br>
1042 const char *c,
<br>
1043 <a href=
"#ppdcFontStatus">ppdcFontStatus
</a> s
<br>
1045 <h5 class=
"parameters">Parameters
</h5>
1048 <dd class=
"description">Name of font
</dd>
1050 <dd class=
"description">Font encoding
</dd>
1052 <dd class=
"description">Font version
</dd>
1054 <dd class=
"description">Font charset
</dd>
1056 <dd class=
"description">Font status
</dd>
1058 <h4 class=
"method"><a name=
"~ppdcFont">~ppdcFont
</a></h4>
1059 <p class=
"description"></p>
1061 void ~ppdcFont (void);
</p>
1062 <h3 class=
"class"><a name=
"ppdcGroup">ppdcGroup
</a></h3>
1063 <p class=
"description">// Group of Options
</p>
1064 <p class=
"code">class ppdcGroup : public ppdcShared {
<br>
1065 public:
<br>
1066 <a href=
"#ppdcArray">ppdcArray
</a> *options;
<br>
1067 <a href=
"#ppdcString">ppdcString
</a> *name, *text;
<br>
1069 <h4 class=
"members">Members
</h4>
1072 <dd class=
"description">Options
</dd>
1074 <dd class=
"description">Human-readable text of option
</dd>
1076 <h4 class=
"method"><a name=
"PPDC_NAME">PPDC_NAME
</a></h4>
1077 <p class=
"description"></p>
1079 void PPDC_NAME (
<br>
1080 void add_option(
<a href=
"#ppdcOption">ppdcOption
</a> *o
<br>
1082 <h5 class=
"parameters">Parameters
</h5>
1086 <h4 class=
"method"><a name=
"find_option">find_option
</a></h4>
1087 <p class=
"description">Find an option in a group.
</p>
1089 <a href=
"#ppdcOption">ppdcOption
</a> *find_option (
<br>
1090 const char *n
<br>
1092 <h5 class=
"parameters">Parameters
</h5>
1095 <dd class=
"description">Name of option
</dd>
1097 <h5 class=
"returnvalue">Return Value
</h5>
1098 <p class=
"description"></p>
1099 <h4 class=
"method"><a name=
"ppdcGroup">ppdcGroup
</a></h4>
1100 <p class=
"description"></p>
1102 void ppdcGroup (
<br>
1103 <a href=
"#ppdcGroup">ppdcGroup
</a> *g
<br>
1105 <h5 class=
"parameters">Parameters
</h5>
1108 <dd class=
"description">Group template
</dd>
1110 <h4 class=
"method"><a name=
"~ppdcGroup">~ppdcGroup
</a></h4>
1111 <p class=
"description"></p>
1113 void ~ppdcGroup (void);
</p>
1114 <h3 class=
"class"><a name=
"ppdcInteger">ppdcInteger
</a></h3>
1115 <p class=
"description">// Shared integer
</p>
1116 <p class=
"code">class ppdcInteger : public ppdcShared {
<br>
1117 public:
<br>
1118 int *value;
<br>
1120 <h4 class=
"members">Members
</h4>
1123 <dd class=
"description">Integer value
</dd>
1125 <h4 class=
"method"><a name=
"ppdcInteger">ppdcInteger
</a></h4>
1126 <p class=
"description">Integer value
</p>
1128 void ppdcInteger (
<br>
1129 int *v
<br>
1131 <h5 class=
"parameters">Parameters
</h5>
1135 <h3 class=
"class"><a name=
"ppdcMediaSize">ppdcMediaSize
</a></h3>
1136 <p class=
"description">// Media Size
</p>
1137 <p class=
"code">class ppdcMediaSize : public ppdcShared {
<br>
1138 public:
<br>
1139 <a href=
"#ppdcString">ppdcString
</a> *size_code, *region_code;
<br>
1140 <a href=
"#ppdcString">ppdcString
</a> *name, *text;
<br>
1141 float width, length, left, bottom, right, top;
<br>
1143 <h4 class=
"members">Members
</h4>
1145 <dt>region_code
</dt>
1146 <dd class=
"description">PageRegion code, if any
</dd>
1148 <dd class=
"description">Human-readable text
</dd>
1150 <dd class=
"description">Top limit in points
</dd>
1152 <h4 class=
"method"><a name=
"ppdcMediaSize">ppdcMediaSize
</a></h4>
1153 <p class=
"description"></p>
1155 void ppdcMediaSize (
<br>
1156 const char *n,
<br>
1157 const char *t,
<br>
1158 float w,
<br>
1159 float l,
<br>
1160 float lm,
<br>
1161 float bm,
<br>
1162 float rm,
<br>
1163 float tm,
<br>
1164 const char *sc,
<br>
1165 const char *rc
<br>
1167 <h5 class=
"parameters">Parameters
</h5>
1170 <dd class=
"description">Name of media size
</dd>
1172 <dd class=
"description">Text of media size
</dd>
1174 <dd class=
"description">Width in points
</dd>
1176 <dd class=
"description">Length in points
</dd>
1178 <dd class=
"description">Left margin in points
</dd>
1180 <dd class=
"description">Bottom margin in points
</dd>
1182 <dd class=
"description">Right margin in points
</dd>
1184 <dd class=
"description">Top margin in points
</dd>
1186 <dd class=
"description">PageSize code, if any
</dd>
1188 <dd class=
"description">PageRegion code, if any
</dd>
1190 <h4 class=
"method"><a name=
"~ppdcMediaSize">~ppdcMediaSize
</a></h4>
1191 <p class=
"description"></p>
1193 void ~ppdcMediaSize (void);
</p>
1194 <h3 class=
"class"><a name=
"ppdcMessage">ppdcMessage
</a></h3>
1195 <p class=
"description">// Translation message
</p>
1196 <p class=
"code">class ppdcMessage : public ppdcShared {
<br>
1197 public:
<br>
1198 <a href=
"#ppdcString">ppdcString
</a> *id, *string;
<br>
1200 <h4 class=
"members">Members
</h4>
1203 <dd class=
"description">Translation string
</dd>
1205 <h4 class=
"method"><a name=
"ppdcMessage">ppdcMessage
</a></h4>
1206 <p class=
"description"></p>
1208 void ppdcMessage (
<br>
1209 const char *i,
<br>
1210 const char *s
<br>
1212 <h5 class=
"parameters">Parameters
</h5>
1215 <dd class=
"description">ID
</dd>
1217 <dd class=
"description">Text
</dd>
1219 <h4 class=
"method"><a name=
"~ppdcMessage">~ppdcMessage
</a></h4>
1220 <p class=
"description"></p>
1222 void ~ppdcMessage (void);
</p>
1223 <h3 class=
"class"><a name=
"ppdcOption">ppdcOption
</a></h3>
1224 <p class=
"description">// Option
</p>
1225 <p class=
"code">class ppdcOption : public ppdcShared {
<br>
1226 public:
<br>
1227 <a href=
"#ppdcArray">ppdcArray
</a> *choices;
<br>
1228 <a href=
"#ppdcString">ppdcString
</a> *defchoice;
<br>
1229 float order;
<br>
1230 <a href=
"#ppdcOptSection">ppdcOptSection
</a> section;
<br>
1231 <a href=
"#ppdcString">ppdcString
</a> *name, *text;
<br>
1232 <a href=
"#ppdcOptType">ppdcOptType
</a> type;
<br>
1234 <h4 class=
"members">Members
</h4>
1237 <dd class=
"description">Choices
</dd>
1239 <dd class=
"description">Default choice
</dd>
1241 <dd class=
"description">Order number
</dd>
1243 <dd class=
"description">Section for option code
</dd>
1245 <dd class=
"description">Human-readable text of option
</dd>
1247 <dd class=
"description">Type of option
</dd>
1249 <h4 class=
"method"><a name=
"PPDC_NAME">PPDC_NAME
</a></h4>
1250 <p class=
"description"></p>
1252 void PPDC_NAME (
<br>
1253 void add_choice(
<a href=
"#ppdcChoice">ppdcChoice
</a> *c
<br>
1255 <h5 class=
"parameters">Parameters
</h5>
1259 <h4 class=
"method"><a name=
"find_choice">find_choice
</a></h4>
1260 <p class=
"description"></p>
1262 <a href=
"#ppdcChoice">ppdcChoice
</a> *find_choice (
<br>
1263 const char *n
<br>
1265 <h5 class=
"parameters">Parameters
</h5>
1268 <dd class=
"description">Name of choice
</dd>
1270 <h5 class=
"returnvalue">Return Value
</h5>
1271 <p class=
"description">Choice or NULL
</p>
1272 <h4 class=
"method"><a name=
"ppdcOption">ppdcOption
</a></h4>
1273 <p class=
"description"></p>
1275 void ppdcOption (
<br>
1276 <a href=
"#ppdcOption">ppdcOption
</a> *o
<br>
1278 <h5 class=
"parameters">Parameters
</h5>
1281 <dd class=
"description">Template option
</dd>
1283 <h4 class=
"method"><a name=
"set_defchoice">set_defchoice
</a></h4>
1284 <p class=
"description"></p>
1286 void set_defchoice (
<br>
1287 <a href=
"#ppdcChoice">ppdcChoice
</a> *c
<br>
1289 <h5 class=
"parameters">Parameters
</h5>
1292 <dd class=
"description">Choice
</dd>
1294 <h4 class=
"method"><a name=
"~ppdcOption">~ppdcOption
</a></h4>
1295 <p class=
"description"></p>
1297 void ~ppdcOption (void);
</p>
1298 <h3 class=
"class"><a name=
"ppdcProfile">ppdcProfile
</a></h3>
1299 <p class=
"description">// Color Profile
</p>
1300 <p class=
"code">class ppdcProfile : public ppdcShared {
<br>
1301 public:
<br>
1302 <a href=
"#ppdcString">ppdcString
</a> *resolution, *media_type;
<br>
1303 float density, gamma, profile[
9];
<br>
1305 <h4 class=
"members">Members
</h4>
1307 <dt>media_type
</dt>
1308 <dd class=
"description">Media type name
</dd>
1309 <dt>profile[
9]
</dt>
1310 <dd class=
"description">Color profile matrix
</dd>
1312 <h4 class=
"method"><a name=
"ppdcProfile">ppdcProfile
</a></h4>
1313 <p class=
"description"></p>
1315 void ppdcProfile (
<br>
1316 const char *r,
<br>
1317 const char *m,
<br>
1318 float d,
<br>
1319 float g,
<br>
1320 const float *p
<br>
1322 <h5 class=
"parameters">Parameters
</h5>
1325 <dd class=
"description">Resolution name
</dd>
1327 <dd class=
"description">Media type name
</dd>
1329 <dd class=
"description">Density
</dd>
1331 <dd class=
"description">Gamma
</dd>
1333 <dd class=
"description">3x3 transform matrix
</dd>
1335 <h4 class=
"method"><a name=
"~ppdcProfile">~ppdcProfile
</a></h4>
1336 <p class=
"description"></p>
1338 void ~ppdcProfile (void);
</p>
1339 <h3 class=
"class"><a name=
"ppdcShared">ppdcShared
</a></h3>
1340 <p class=
"description">// Shared Data Value
</p>
1341 <p class=
"code">class ppdcShared {
<br>
1342 private:
<br>
1343 int use;
<br>
1345 <h4 class=
"members">Members
</h4>
1348 <dd class=
"description">Use count (delete when
0)
</dd>
1350 <h4 class=
"method"><a name=
"class_name">class_name
</a></h4>
1351 <p class=
"description"></p>
1353 virtual const char *class_name (void);
</p>
1354 <h5 class=
"returnvalue">Return Value
</h5>
1355 <p class=
"description"></p>
1356 <h4 class=
"method"><a name=
"ppdcShared">ppdcShared
</a></h4>
1357 <p class=
"description"></p>
1359 void ppdcShared (void);
</p>
1360 <h4 class=
"method"><a name=
"release">release
</a></h4>
1361 <p class=
"description"></p>
1363 void release (void);
</p>
1364 <h4 class=
"method"><a name=
"retain">retain
</a></h4>
1365 <p class=
"description"></p>
1367 void retain (void);
</p>
1368 <h4 class=
"method"><a name=
"~ppdcShared">~ppdcShared
</a></h4>
1369 <p class=
"description"></p>
1371 void ~ppdcShared (void);
</p>
1372 <h3 class=
"class"><a name=
"ppdcSource">ppdcSource
</a></h3>
1373 <p class=
"description">// Source File
</p>
1374 <p class=
"code">class ppdcSource : public ppdcShared {
<br>
1375 public:
<br>
1376 int cond_state, *cond_current, cond_stack[
101];
<br>
1377 static const char *driver_types[];
<br>
1378 <a href=
"#ppdcString">ppdcString
</a> *filename;
<br>
1379 static
<a href=
"#ppdcArray">ppdcArray
</a> *includes;
<br>
1380 <a href=
"#ppdcArray">ppdcArray
</a> *base_fonts, *drivers, *po_files, *sizes, *vars;
<br>
1382 <h4 class=
"members">Members
</h4>
1384 <dt>cond_stack[
101]
</dt>
1385 <dd class=
"description">#if state stack
</dd>
1386 <dt>driver_types[]
</dt>
1387 <dd class=
"description">Driver types
</dd>
1389 <dd class=
"description">Filename
</dd>
1391 <dd class=
"description">Include directories
</dd>
1393 <dd class=
"description">Defined variables
</dd>
1395 <h4 class=
"method"><a name=
"PPDC_NAME">PPDC_NAME
</a></h4>
1396 <p class=
"description"></p>
1398 void PPDC_NAME (
<br>
1399 static void add_include(const char *d
<br>
1401 <h5 class=
"parameters">Parameters
</h5>
1405 <h4 class=
"method"><a name=
"add_include">add_include
</a></h4>
1406 <p class=
"description"></p>
1408 void add_include (
<br>
1409 const char *d
<br>
1411 <h5 class=
"parameters">Parameters
</h5>
1414 <dd class=
"description">Include directory
</dd>
1416 <h4 class=
"method"><a name=
"find_driver">find_driver
</a></h4>
1417 <p class=
"description"></p>
1419 <a href=
"#ppdcDriver">ppdcDriver
</a> *find_driver (
<br>
1420 const char *f
<br>
1422 <h5 class=
"parameters">Parameters
</h5>
1425 <dd class=
"description">Driver file name
</dd>
1427 <h5 class=
"returnvalue">Return Value
</h5>
1428 <p class=
"description">Driver
</p>
1429 <h4 class=
"method"><a name=
"find_include">find_include
</a></h4>
1430 <p class=
"description"></p>
1432 char *find_include (
<br>
1433 const char *f,
<br>
1434 const char *base,
<br>
1435 char *n,
<br>
1436 int nlen
<br>
1438 <h5 class=
"parameters">Parameters
</h5>
1441 <dd class=
"description">Include filename
</dd>
1443 <dd class=
"description">Current directory
</dd>
1445 <dd class=
"description">Path buffer
</dd>
1447 <dd class=
"description">Path buffer length
</dd>
1449 <h5 class=
"returnvalue">Return Value
</h5>
1450 <p class=
"description">Found path or NULL
</p>
1451 <h4 class=
"method"><a name=
"find_po">find_po
</a></h4>
1452 <p class=
"description"></p>
1454 <a href=
"#ppdcCatalog">ppdcCatalog
</a> *find_po (
<br>
1455 const char *l
<br>
1457 <h5 class=
"parameters">Parameters
</h5>
1460 <dd class=
"description">Locale name
</dd>
1462 <h5 class=
"returnvalue">Return Value
</h5>
1463 <p class=
"description">Message catalog or NULL
</p>
1464 <h4 class=
"method"><a name=
"find_size">find_size
</a></h4>
1465 <p class=
"description"></p>
1467 <a href=
"#ppdcMediaSize">ppdcMediaSize
</a> *find_size (
<br>
1468 const char *s
<br>
1470 <h5 class=
"parameters">Parameters
</h5>
1473 <dd class=
"description">Size name
</dd>
1475 <h5 class=
"returnvalue">Return Value
</h5>
1476 <p class=
"description">Size
</p>
1477 <h4 class=
"method"><a name=
"find_variable">find_variable
</a></h4>
1478 <p class=
"description"></p>
1480 <a href=
"#ppdcVariable">ppdcVariable
</a> *find_variable (
<br>
1481 const char *n
<br>
1483 <h5 class=
"parameters">Parameters
</h5>
1486 <dd class=
"description">Variable name
</dd>
1488 <h5 class=
"returnvalue">Return Value
</h5>
1489 <p class=
"description">Variable
</p>
1490 <h4 class=
"method"><a name=
"get_attr">get_attr
</a></h4>
1491 <p class=
"description"></p>
1493 <a href=
"#ppdcAttr">ppdcAttr
</a> *get_attr (
<br>
1494 <a href=
"#ppdcFile">ppdcFile
</a> *fp,
<br>
1495 bool loc
<br>
1497 <h5 class=
"parameters">Parameters
</h5>
1500 <dd class=
"description">File to read
</dd>
1502 <dd class=
"description">Localize this attribute?
</dd>
1504 <h5 class=
"returnvalue">Return Value
</h5>
1505 <p class=
"description">Attribute
</p>
1506 <h4 class=
"method"><a name=
"get_boolean">get_boolean
</a></h4>
1507 <p class=
"description"></p>
1509 int get_boolean (
<br>
1510 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1512 <h5 class=
"parameters">Parameters
</h5>
1515 <dd class=
"description">File to read
</dd>
1517 <h5 class=
"returnvalue">Return Value
</h5>
1518 <p class=
"description">Boolean value
</p>
1519 <h4 class=
"method"><a name=
"get_choice">get_choice
</a></h4>
1520 <p class=
"description"></p>
1522 <a href=
"#ppdcChoice">ppdcChoice
</a> *get_choice (
<br>
1523 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1525 <h5 class=
"parameters">Parameters
</h5>
1528 <dd class=
"description">File to read
</dd>
1530 <h5 class=
"returnvalue">Return Value
</h5>
1531 <p class=
"description">Choice data
</p>
1532 <h4 class=
"method"><a name=
"get_color_model">get_color_model
</a></h4>
1533 <p class=
"description"></p>
1535 <a href=
"#ppdcChoice">ppdcChoice
</a> *get_color_model (
<br>
1536 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1538 <h5 class=
"parameters">Parameters
</h5>
1541 <dd class=
"description">File to read
</dd>
1543 <h5 class=
"returnvalue">Return Value
</h5>
1544 <p class=
"description">Choice data
</p>
1545 <h4 class=
"method"><a name=
"get_color_order">get_color_order
</a></h4>
1546 <p class=
"description"></p>
1548 int get_color_order (
<br>
1549 const char *co
<br>
1551 <h5 class=
"parameters">Parameters
</h5>
1554 <dd class=
"description">Color order string
</dd>
1556 <h5 class=
"returnvalue">Return Value
</h5>
1557 <p class=
"description">Color order value
</p>
1558 <h4 class=
"method"><a name=
"get_color_profile">get_color_profile
</a></h4>
1559 <p class=
"description"></p>
1561 <a href=
"#ppdcProfile">ppdcProfile
</a> *get_color_profile (
<br>
1562 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1564 <h5 class=
"parameters">Parameters
</h5>
1567 <dd class=
"description">File to read
</dd>
1569 <h5 class=
"returnvalue">Return Value
</h5>
1570 <p class=
"description">Color profile
</p>
1571 <h4 class=
"method"><a name=
"get_color_space">get_color_space
</a></h4>
1572 <p class=
"description"></p>
1574 int get_color_space (
<br>
1575 const char *cs
<br>
1577 <h5 class=
"parameters">Parameters
</h5>
1580 <dd class=
"description">Colorspace string
</dd>
1582 <h5 class=
"returnvalue">Return Value
</h5>
1583 <p class=
"description">Colorspace value
</p>
1584 <h4 class=
"method"><a name=
"get_constraint">get_constraint
</a></h4>
1585 <p class=
"description"></p>
1587 <a href=
"#ppdcConstraint">ppdcConstraint
</a> *get_constraint (
<br>
1588 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1590 <h5 class=
"parameters">Parameters
</h5>
1593 <dd class=
"description">File to read
</dd>
1595 <h5 class=
"returnvalue">Return Value
</h5>
1596 <p class=
"description">Constraint
</p>
1597 <h4 class=
"method"><a name=
"get_custom_size">get_custom_size
</a></h4>
1598 <p class=
"description"></p>
1600 <a href=
"#ppdcMediaSize">ppdcMediaSize
</a> *get_custom_size (
<br>
1601 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1603 <h5 class=
"parameters">Parameters
</h5>
1606 <dd class=
"description">File to read
</dd>
1608 <h5 class=
"returnvalue">Return Value
</h5>
1609 <p class=
"description">Media size
</p>
1610 <h4 class=
"method"><a name=
"get_duplex">get_duplex
</a></h4>
1611 <p class=
"description"></p>
1613 void get_duplex (
<br>
1614 <a href=
"#ppdcFile">ppdcFile
</a> *fp,
<br>
1615 <a href=
"#ppdcDriver">ppdcDriver
</a> *d
<br>
1617 <h5 class=
"parameters">Parameters
</h5>
1620 <dd class=
"description">File to read from
</dd>
1622 <dd class=
"description">Current driver
</dd>
1624 <h4 class=
"method"><a name=
"get_filter">get_filter
</a></h4>
1625 <p class=
"description"></p>
1627 <a href=
"#ppdcFilter">ppdcFilter
</a> *get_filter (
<br>
1628 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1630 <h5 class=
"parameters">Parameters
</h5>
1633 <dd class=
"description">File to read
</dd>
1635 <h5 class=
"returnvalue">Return Value
</h5>
1636 <p class=
"description">Filter
</p>
1637 <h4 class=
"method"><a name=
"get_float">get_float
</a></h4>
1638 <p class=
"description"></p>
1640 float get_float (
<br>
1641 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1643 <h5 class=
"parameters">Parameters
</h5>
1646 <dd class=
"description">File to read
</dd>
1648 <h5 class=
"returnvalue">Return Value
</h5>
1649 <p class=
"description">Number
</p>
1650 <h4 class=
"method"><a name=
"get_font">get_font
</a></h4>
1651 <p class=
"description"></p>
1653 <a href=
"#ppdcFont">ppdcFont
</a> *get_font (
<br>
1654 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1656 <h5 class=
"parameters">Parameters
</h5>
1659 <dd class=
"description">File to read
</dd>
1661 <h5 class=
"returnvalue">Return Value
</h5>
1662 <p class=
"description">Font data
</p>
1663 <h4 class=
"method"><a name=
"get_generic">get_generic
</a></h4>
1664 <p class=
"description"></p>
1666 <a href=
"#ppdcChoice">ppdcChoice
</a> *get_generic (
<br>
1667 <a href=
"#ppdcFile">ppdcFile
</a> *fp,
<br>
1668 const char *keyword,
<br>
1669 const char *tattr,
<br>
1670 const char *nattr
<br>
1672 <h5 class=
"parameters">Parameters
</h5>
1675 <dd class=
"description">File to read
</dd>
1677 <dd class=
"description">Keyword name
</dd>
1679 <dd class=
"description">Text attribute
</dd>
1681 <dd class=
"description">Numeric attribute
</dd>
1683 <h5 class=
"returnvalue">Return Value
</h5>
1684 <p class=
"description">Choice data
</p>
1685 <h4 class=
"method"><a name=
"get_group">get_group
</a></h4>
1686 <p class=
"description"></p>
1688 <a href=
"#ppdcGroup">ppdcGroup
</a> *get_group (
<br>
1689 <a href=
"#ppdcFile">ppdcFile
</a> *fp,
<br>
1690 <a href=
"#ppdcDriver">ppdcDriver
</a> *d
<br>
1692 <h5 class=
"parameters">Parameters
</h5>
1695 <dd class=
"description">File to read
</dd>
1697 <dd class=
"description">Printer driver
</dd>
1699 <h5 class=
"returnvalue">Return Value
</h5>
1700 <p class=
"description">Group
</p>
1701 <h4 class=
"method"><a name=
"get_installable">get_installable
</a></h4>
1702 <p class=
"description"></p>
1704 <a href=
"#ppdcOption">ppdcOption
</a> *get_installable (
<br>
1705 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1707 <h5 class=
"parameters">Parameters
</h5>
1710 <dd class=
"description">File to read
</dd>
1712 <h5 class=
"returnvalue">Return Value
</h5>
1713 <p class=
"description">Option
</p>
1714 <h4 class=
"method"><a name=
"get_integer">get_integer
</a></h4>
1715 <p class=
"description"></p>
1717 int get_integer (
<br>
1718 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1720 <h5 class=
"parameters">Parameters
</h5>
1723 <dd class=
"description">File to read
</dd>
1725 <h5 class=
"returnvalue">Return Value
</h5>
1726 <p class=
"description">Integer value
</p>
1727 <h4 class=
"method"><a name=
"get_measurement">get_measurement
</a></h4>
1728 <p class=
"description"></p>
1730 float get_measurement (
<br>
1731 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1733 <h5 class=
"parameters">Parameters
</h5>
1736 <dd class=
"description">File to read
</dd>
1738 <h5 class=
"returnvalue">Return Value
</h5>
1739 <p class=
"description">Measurement value in points
</p>
1740 <h4 class=
"method"><a name=
"get_option">get_option
</a></h4>
1741 <p class=
"description"></p>
1743 <a href=
"#ppdcOption">ppdcOption
</a> *get_option (
<br>
1744 <a href=
"#ppdcFile">ppdcFile
</a> *fp,
<br>
1745 <a href=
"#ppdcDriver">ppdcDriver
</a> *d,
<br>
1746 <a href=
"#ppdcGroup">ppdcGroup
</a> *g
<br>
1748 <h5 class=
"parameters">Parameters
</h5>
1751 <dd class=
"description">File to read
</dd>
1753 <dd class=
"description">Printer driver
</dd>
1755 <dd class=
"description">Current group
</dd>
1757 <h5 class=
"returnvalue">Return Value
</h5>
1758 <p class=
"description">Option
</p>
1759 <h4 class=
"method"><a name=
"get_po">get_po
</a></h4>
1760 <p class=
"description"></p>
1762 <a href=
"#ppdcCatalog">ppdcCatalog
</a> *get_po (
<br>
1763 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1765 <h5 class=
"parameters">Parameters
</h5>
1768 <dd class=
"description">File to read
</dd>
1770 <h5 class=
"returnvalue">Return Value
</h5>
1771 <p class=
"description">Message catalog
</p>
1772 <h4 class=
"method"><a name=
"get_resolution">get_resolution
</a></h4>
1773 <p class=
"description"></p>
1775 <a href=
"#ppdcChoice">ppdcChoice
</a> *get_resolution (
<br>
1776 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1778 <h5 class=
"parameters">Parameters
</h5>
1781 <dd class=
"description">File to read
</dd>
1783 <h5 class=
"returnvalue">Return Value
</h5>
1784 <p class=
"description">Choice data
</p>
1785 <h4 class=
"method"><a name=
"get_simple_profile">get_simple_profile
</a></h4>
1786 <p class=
"description"></p>
1788 <a href=
"#ppdcProfile">ppdcProfile
</a> *get_simple_profile (
<br>
1789 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1791 <h5 class=
"parameters">Parameters
</h5>
1794 <dd class=
"description">File to read
</dd>
1796 <h5 class=
"returnvalue">Return Value
</h5>
1797 <p class=
"description">Color profile
</p>
1798 <h4 class=
"method"><a name=
"get_size">get_size
</a></h4>
1799 <p class=
"description"></p>
1801 <a href=
"#ppdcMediaSize">ppdcMediaSize
</a> *get_size (
<br>
1802 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1804 <h5 class=
"parameters">Parameters
</h5>
1807 <dd class=
"description">File to read
</dd>
1809 <h5 class=
"returnvalue">Return Value
</h5>
1810 <p class=
"description">Media size
</p>
1811 <h4 class=
"method"><a name=
"get_token">get_token
</a></h4>
1812 <p class=
"description"></p>
1814 char *get_token (
<br>
1815 <a href=
"#ppdcFile">ppdcFile
</a> *fp,
<br>
1816 char *buffer,
<br>
1817 int buflen
<br>
1819 <h5 class=
"parameters">Parameters
</h5>
1822 <dd class=
"description">File to read
</dd>
1824 <dd class=
"description">Buffer
</dd>
1826 <dd class=
"description">Length of buffer
</dd>
1828 <h5 class=
"returnvalue">Return Value
</h5>
1829 <p class=
"description">Token string or NULL
</p>
1830 <h4 class=
"method"><a name=
"get_variable">get_variable
</a></h4>
1831 <p class=
"description"></p>
1833 <a href=
"#ppdcVariable">ppdcVariable
</a> *get_variable (
<br>
1834 <a href=
"#ppdcFile">ppdcFile
</a> *fp
<br>
1836 <h5 class=
"parameters">Parameters
</h5>
1839 <dd class=
"description">File to read
</dd>
1841 <h5 class=
"returnvalue">Return Value
</h5>
1842 <p class=
"description">Variable
</p>
1843 <h4 class=
"method"><a name=
"import_ppd">import_ppd
</a></h4>
1844 <p class=
"description"></p>
1846 int import_ppd (
<br>
1847 const char *f
<br>
1849 <h5 class=
"parameters">Parameters
</h5>
1852 <dd class=
"description">Filename
</dd>
1854 <h5 class=
"returnvalue">Return Value
</h5>
1855 <p class=
"description">1 on success,
0 on failure
</p>
1856 <h4 class=
"method"><a name=
"ppdcSource">ppdcSource
</a></h4>
1857 <p class=
"description"></p>
1859 void ppdcSource (
<br>
1860 const char *f,
<br>
1861 cups_file_t *ffp
<br>
1863 <h5 class=
"parameters">Parameters
</h5>
1866 <dd class=
"description">File to read
</dd>
1868 <dd class=
"description">File pointer to use
</dd>
1870 <h4 class=
"method"><a name=
"quotef">quotef
</a></h4>
1871 <p class=
"description"></p>
1874 cups_file_t *fp,
<br>
1875 const char *format,
<br>
1876 ...
<br>
1878 <h5 class=
"parameters">Parameters
</h5>
1881 <dd class=
"description">File to write to
</dd>
1883 <dd class=
"description">Printf-style format string
</dd>
1885 <dd class=
"description">Additional args as needed
</dd>
1887 <h5 class=
"returnvalue">Return Value
</h5>
1888 <p class=
"description">Number bytes on success, -
1 on failure
</p>
1889 <h4 class=
"method"><a name=
"read_file">read_file
</a></h4>
1890 <p class=
"description"></p>
1892 void read_file (
<br>
1893 const char *f,
<br>
1894 cups_file_t *ffp
<br>
1896 <h5 class=
"parameters">Parameters
</h5>
1899 <dd class=
"description">File to read
</dd>
1901 <dd class=
"description">File pointer to use
</dd>
1903 <h4 class=
"method"><a name=
"scan_file">scan_file
</a></h4>
1904 <p class=
"description"></p>
1906 void scan_file (
<br>
1907 <a href=
"#ppdcFile">ppdcFile
</a> *fp,
<br>
1908 <a href=
"#ppdcDriver">ppdcDriver
</a> *td,
<br>
1909 bool inc
<br>
1911 <h5 class=
"parameters">Parameters
</h5>
1914 <dd class=
"description">File to read
</dd>
1916 <dd class=
"description">Driver template
</dd>
1918 <dd class=
"description">Including?
</dd>
1920 <h4 class=
"method"><a name=
"set_variable">set_variable
</a></h4>
1921 <p class=
"description"></p>
1923 <a href=
"#ppdcVariable">ppdcVariable
</a> *set_variable (
<br>
1924 const char *name,
<br>
1925 const char *value
<br>
1927 <h5 class=
"parameters">Parameters
</h5>
1930 <dd class=
"description">Name
</dd>
1932 <dd class=
"description">Value
</dd>
1934 <h5 class=
"returnvalue">Return Value
</h5>
1935 <p class=
"description">Variable
</p>
1936 <h4 class=
"method"><a name=
"write_file">write_file
</a></h4>
1937 <p class=
"description"></p>
1939 int write_file (
<br>
1940 const char *f
<br>
1942 <h5 class=
"parameters">Parameters
</h5>
1945 <dd class=
"description">File to write
</dd>
1947 <h5 class=
"returnvalue">Return Value
</h5>
1948 <p class=
"description">0 on success, -
1 on error
</p>
1949 <h4 class=
"method"><a name=
"~ppdcSource">~ppdcSource
</a></h4>
1950 <p class=
"description"></p>
1952 void ~ppdcSource (void);
</p>
1953 <h3 class=
"class"><a name=
"ppdcString">ppdcString
</a></h3>
1954 <p class=
"description">// Shared String
</p>
1955 <p class=
"code">class ppdcString : public ppdcShared {
<br>
1956 public:
<br>
1957 char *value;
<br>
1959 <h4 class=
"members">Members
</h4>
1962 <dd class=
"description">String value
</dd>
1964 <h4 class=
"method"><a name=
"ppdcString">ppdcString
</a></h4>
1965 <p class=
"description"></p>
1967 void ppdcString (
<br>
1968 const char *v
<br>
1970 <h5 class=
"parameters">Parameters
</h5>
1973 <dd class=
"description">String
</dd>
1975 <h4 class=
"method"><a name=
"~ppdcString">~ppdcString
</a></h4>
1976 <p class=
"description"></p>
1978 void ~ppdcString (void);
</p>
1979 <h3 class=
"class"><a name=
"ppdcVariable">ppdcVariable
</a></h3>
1980 <p class=
"description">// Variable Definition
</p>
1981 <p class=
"code">class ppdcVariable : public ppdcShared {
<br>
1982 public:
<br>
1983 <a href=
"#ppdcString">ppdcString
</a> *name, *value;
<br>
1985 <h4 class=
"members">Members
</h4>
1988 <dd class=
"description">Value of variable
</dd>
1990 <h4 class=
"method"><a name=
"PPDC_NAME">PPDC_NAME
</a></h4>
1991 <p class=
"description"></p>
1993 void PPDC_NAME (
<br>
1994 void set_value(const char *v
<br>
1996 <h5 class=
"parameters">Parameters
</h5>
2000 <h4 class=
"method"><a name=
"ppdcVariable">ppdcVariable
</a></h4>
2001 <p class=
"description"></p>
2003 void ppdcVariable (
<br>
2004 const char *n,
<br>
2005 const char *v
<br>
2007 <h5 class=
"parameters">Parameters
</h5>
2010 <dd class=
"description">Name of variable
</dd>
2012 <dd class=
"description">Value of variable
</dd>
2014 <h4 class=
"method"><a name=
"set_value">set_value
</a></h4>
2015 <p class=
"description"></p>
2017 void set_value (
<br>
2018 const char *v
<br>
2020 <h5 class=
"parameters">Parameters
</h5>
2024 <h4 class=
"method"><a name=
"~ppdcVariable">~ppdcVariable
</a></h4>
2025 <p class=
"description"></p>
2027 void ~ppdcVariable (void);
</p>
2028 <h2 class=
"title"><a name=
"TYPES">Data Types
</a></h2>
2029 <h3 class=
"typedef"><a name=
"ppdc_cs_t">ppdc_cs_t
</a></h3>
2030 <p class=
"description"></p>
2032 typedef enum ppdc_cs_t;
2034 <h2 class=
"title"><a name=
"VARIABLES">Variables
</a></h2>
2035 <h3 class=
"variable"><a name=
"ppdcSource">ppdcSource
</a></h3>
2036 <p class=
"description">// Printer Driver Data
</p>
2037 <p class=
"code">class ppdcSource;
</p>
2038 <h2 class=
"title"><a name=
"ENUMERATIONS">Constants
</a></h2>
2039 <h3 class=
"enumeration"><a name=
"ppdcCondFlags">ppdcCondFlags
</a></h3>
2040 <p class=
"description">// Condition flags
</p>
2041 <h4 class=
"constants">Constants
</h4>
2043 <dt>PPDC_COND_NORMAL
</dt>
2044 <dd class=
"description">Normal state
</dd>
2045 <dt>PPDC_COND_SATISFIED
</dt>
2046 <dd class=
"description">At least one condition satisfied
</dd>
2047 <dt>PPDC_COND_SKIP
</dt>
2048 <dd class=
"description">Skip state
</dd>
2050 <h3 class=
"enumeration"><a name=
"ppdcDrvType">ppdcDrvType
</a></h3>
2051 <p class=
"description">// Driver type
</p>
2052 <h4 class=
"constants">Constants
</h4>
2054 <dt>PPDC_DRIVER_CUSTOM
</dt>
2055 <dd class=
"description">Custom driver
</dd>
2056 <dt>PPDC_DRIVER_EPSON
</dt>
2057 <dd class=
"description">rastertoepson driver
</dd>
2058 <dt>PPDC_DRIVER_ESCP
</dt>
2059 <dd class=
"description">rastertoescpx driver
</dd>
2060 <dt>PPDC_DRIVER_HP
</dt>
2061 <dd class=
"description">rastertohp driver
</dd>
2062 <dt>PPDC_DRIVER_LABEL
</dt>
2063 <dd class=
"description">rastertolabel/rastertodymo driver
</dd>
2064 <dt>PPDC_DRIVER_MAX
</dt>
2065 <dd class=
"description">Number of driver types defined
</dd>
2066 <dt>PPDC_DRIVER_PCL
</dt>
2067 <dd class=
"description">rastertopclx driver
</dd>
2068 <dt>PPDC_DRIVER_PS
</dt>
2069 <dd class=
"description">PostScript driver
</dd>
2071 <h3 class=
"enumeration"><a name=
"ppdcFontStatus">ppdcFontStatus
</a></h3>
2072 <p class=
"description">// Load status of font
</p>
2073 <h4 class=
"constants">Constants
</h4>
2075 <dt>PPDC_FONT_DISK
</dt>
2076 <dd class=
"description">Font is on disk
</dd>
2077 <dt>PPDC_FONT_ROM
</dt>
2078 <dd class=
"description">Font is in ROM
</dd>
2080 <h3 class=
"enumeration"><a name=
"ppdcLineEnding">ppdcLineEnding
</a></h3>
2081 <p class=
"description">// Line endings
</p>
2082 <h4 class=
"constants">Constants
</h4>
2085 <dd class=
"description">CR + LF
</dd>
2086 <dt>PPDC_CRONLY
</dt>
2087 <dd class=
"description">CR only
</dd>
2088 <dt>PPDC_LFONLY
</dt>
2089 <dd class=
"description">LF only
</dd>
2091 <h3 class=
"enumeration"><a name=
"ppdcOptSection">ppdcOptSection
</a></h3>
2092 <p class=
"description">// Option section
</p>
2093 <h4 class=
"constants">Constants
</h4>
2095 <dt>PPDC_SECTION_ANY
</dt>
2096 <dd class=
"description">AnySetup
</dd>
2097 <dt>PPDC_SECTION_DOCUMENT
</dt>
2098 <dd class=
"description">DocumentSetup
</dd>
2099 <dt>PPDC_SECTION_EXIT
</dt>
2100 <dd class=
"description">ExitServer
</dd>
2101 <dt>PPDC_SECTION_JCL
</dt>
2102 <dd class=
"description">JCLSetup
</dd>
2103 <dt>PPDC_SECTION_PAGE
</dt>
2104 <dd class=
"description">PageSetup
</dd>
2105 <dt>PPDC_SECTION_PROLOG
</dt>
2106 <dd class=
"description">Prolog
</dd>
2108 <h3 class=
"enumeration"><a name=
"ppdcOptType">ppdcOptType
</a></h3>
2109 <p class=
"description">// Option type
</p>
2110 <h4 class=
"constants">Constants
</h4>
2112 <dt>PPDC_BOOLEAN
</dt>
2113 <dd class=
"description">True/false option
</dd>
2114 <dt>PPDC_PICKMANY
</dt>
2115 <dd class=
"description">Multiple choices from list
</dd>
2116 <dt>PPDC_PICKONE
</dt>
2117 <dd class=
"description">Single choice from list
</dd>