home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / PMDJP.H < prev    next >
C/C++ Source or Header  |  1997-08-17  |  25KB  |  515 lines

  1. /****************************** Module Header ******************************\
  2. *
  3. * Module Name: PMDJP.H
  4. *
  5. * OS/2 Presentation Manager Dynamic Job Properties
  6. *
  7. * Copyright (c) International Business Machines Corporation 1981, 1988-1992
  8. *
  9. * ===========================================================================
  10. *
  11. * The following symbols are used in this file for conditional sections.
  12. *
  13. * ===========================================================================
  14. *
  15. * Comments at the end of each typedef line give the name tags used in
  16. * the assembler include version of this file.
  17. *
  18. * The assembler include version of this file excludes lines between NOINC
  19. * and INC comments.
  20. *
  21. \***************************************************************************/
  22. /* NOINC */
  23. #if __IBMC__ || __IBMCPP__
  24.    #pragma info( none )
  25.    #ifndef __CHKHDR__
  26.       #pragma info( none )
  27.    #endif
  28.    #pragma info( restore )
  29. #endif
  30. #ifdef __cplusplus
  31.       extern "C" {
  32. #endif
  33.  
  34. #ifndef DJP_INCLUDED
  35.    
  36.    #define DJP_INCLUDED
  37.    /* INC */
  38.    
  39.    /* -----------------------------------------------------------------
  40.    ** Tuple Item used for QUERYSIZE
  41.    */
  42.    typedef struct _djpQueryTuple   /* djpQRT */
  43.    {
  44.       ULONG       ulProperty;     /* I - Property                      */
  45.       LONG        lType;          /* I - type (DJP_ALL or DJP_CURRENT) */
  46.       /*                                                               */
  47.    } QUERYTUPLE, *PQUERYTUPLE;
  48.    
  49.    /* -----------------------------------------------------------------
  50.    ** Query Size Structure for DEVESC_QUERYSIZE
  51.    */
  52.    typedef struct _djpQuerySize   /* djpQRS */
  53.    {
  54.       ULONG       cb;             /* I - Size of entire structure      */
  55.       ULONG       ulSizeNeeded;   /* O - Size returned;                */
  56.       QUERYTUPLE  aTuples[1];     /* I - Start of tuple list           */
  57.       /*                                 use DJP_NONE for end of list  */
  58.    } QUERYSIZE, *PQUERYSIZE;
  59.    
  60.    #define QUERYSIZE_HEADER_SIZE  (sizeof (QUERYSIZE) - sizeof (((PQUERYSIZE)NULL)->aTuples))
  61.    
  62.    /* -----------------------------------------------------------------
  63.    ** Dynamic Job Property Item
  64.    */
  65.    typedef struct _djpItem   /* djpITM */
  66.    {
  67.       ULONG       cb;             /* I/O - sizeof DJP_ITEM structure   */
  68.       ULONG       ulProperty;     /* I   - Which property              */
  69.       LONG        lType;          /* I/O - DJP_ALL or DJP_CURRENT.     */
  70.       /*                                   DJP_ERROR_XXX if error.     */
  71.       ULONG       ulNumReturned;  /* O   - How many elements have been */
  72.       /*                                   returned                    */
  73.       ULONG       ulValue;        /* O   - Variably sized based on     */
  74.       /*                                   ulProperty.  The smallest   */
  75.       /*                                   is a ULONG in size          */
  76.    } DJP_ITEM, *PDJP_ITEM;
  77.    
  78.    #define DJP_HEADER_SIZE        (sizeof (DJP_ITEM) - sizeof (((PDJP_ITEM)NULL)->ulValue))
  79.    #define DJP_NEXT_STRUCTP(p)    ((PDJP_ITEM)((PBYTE)(p) + (p)->cb))
  80.    #define DJP_ELEMENTP(s,t)      ((t*)&((s).ulValue))
  81.    #define DJP_SET_ELEMENT(s,t,e) (*DJP_ELEMENTP (s,t) = (e))
  82.    
  83.    /* -----------------------------------------------------------------
  84.    ** Types of Dynamic Job Properties
  85.    **
  86.    ** To see if the driver is enabled use,
  87.    **     DevEscape      (DEVESC_QUERYESCSUPPORT,
  88.    **                     DEVESC_STARTDOC_WPROP, ...)
  89.    ** and DevQueryDevice (DEVQRY_QUERYSUPPORT,
  90.    **                     DEVESC_QUERYJOBPROPERTIES, ...)
  91.    **
  92.    ** NOTE: The C/S in the defines indicate the complexity or size of
  93.    **       the information.  If it is s, then the size is ULONG sized
  94.    **       and no special processing for the next element needs to be
  95.    **       done.
  96.    **       The J/P in the defines indicate the class.  J stands for job
  97.    **       properties and P stands for printer properties.
  98.    */
  99.    #define DJP_NONE                          0L     /* also End Of List marker */
  100.    #define DJP_SJ_ORIENTATION                1L
  101.    #define DJP_CJ_RESOLUTION                 2L
  102.    #define DJP_SJ_BITSPERPEL                 3L
  103.    #define DJP_SJ_COLOR                      4L
  104.    #define DJP_SJ_PRINTQUALITY               5L
  105.    #define DJP_SJ_PAPERSIZE                  6L
  106.    #define DJP_SJ_TRAYTYPE                   7L
  107.    #define DJP_SJ_MEDIA                      8L
  108.    #define DJP_SJ_MEDIA_COLOR                9L
  109.    #define DJP_CJ_FORM                      10L
  110.    #define DJP_CJ_MIXEDFORMS                11L
  111.    #define DJP_SJ_FONTDOWNLOADING           12L
  112.    #define DJP_SJ_DUPLEX                    13L
  113.    #define DJP_SJ_COLLATE                   14L
  114.    #define DJP_SJ_FEED                      15L
  115.    #define DJP_SJ_COPIES                    16L
  116.    #define DJP_SJ_SCALING                   17L
  117.    #define DJP_SJ_FORMFEEDCONTROL           18L
  118.    #define DJP_SJ_N_UP                      19L
  119.    #define DJP_CJ_OUTPUTBIN                 20L
  120.    #define DJP_CJ_TRAYNAME                  21L
  121.    
  122.    /* Types for DEVESC_QUERYJOBPROPERTIES / DEVESC_SETJOBPROPERTIES
  123.    */
  124.    #define DJP_ALL                           1L  /* enumerate the property */
  125.    #define DJP_CURRENT                       2L  /* from job properties    */
  126.    
  127.    /* Errors for DEVESC_QUERYJOBPROPERTIES / DEVESC_SETJOBPROPERTIES
  128.    */
  129.    #define DJP_ERROR_NOT_SUPPORTED          -1L  /* driver doesnt support that property */
  130.    #define DJP_ERROR_OUT_OF_RANGE           -2L  /* not in the valid range              */
  131.    #define DJP_ERROR_NOT_ENUM               -3L  /* not enumerateable                   */
  132.    #define DJP_ERROR_INV_PARMS              -4L  /* field not proper value              */
  133.    
  134.    /* -----------------------------------------------------------------
  135.    ** DJP_SJ_ORIENTATION
  136.    */
  137.    #define DJP_ORI_PORTRAIT                  1L
  138.    #define DJP_ORI_LANDSCAPE                 2L
  139.    #define DJP_ORI_REV_PORTRAIT              3L
  140.    #define DJP_ORI_REV_LANDSCAPE             4L
  141.    
  142.    typedef ULONG DJPT_ORIENTATION;
  143.    typedef ULONG *PDJPT_ORIENTATION;
  144.    
  145.    /* -----------------------------------------------------------------
  146.    ** DJP_CJ_RESOLUTION
  147.    */
  148.    typedef struct _djpResolution   /* djpRES */
  149.    {
  150.       USHORT     usXResolution;    /* X resolution (in dots per inch) */
  151.       USHORT     usYResolution;    /* Y resolution (in dots per inch) */
  152.    } DJPT_RESOLUTION, *PDJPT_RESOLUTION;
  153.    
  154.    /* -----------------------------------------------------------------
  155.    ** DJP_SJ_BITSPERPEL
  156.    */
  157.    typedef ULONG DJPT_BITSPERPEL;
  158.    typedef ULONG *PDJPT_BITSPERPEL;
  159.    
  160.    /* -----------------------------------------------------------------
  161.    ** DJP_SJ_COLOR
  162.    */
  163.    #define DJP_CLR_MONOCHROME                1L
  164.    #define DJP_CLR_COLOR                     2L
  165.    
  166.    typedef ULONG DJPT_COLOR;
  167.    typedef ULONG *PDJPT_COLOR;
  168.    
  169.    /* -----------------------------------------------------------------
  170.    ** DJP_SJ_PRINTQUALITY
  171.    **
  172.    ** Note: DJP_PQL_DRAFT is the worst quality.  In the future, there
  173.    **       may be better qualities (such as DJP_PQL_ULTRA_HIGH) which
  174.    **       will be numerically greater than DJP_PQL_HIGH.
  175.    */
  176.    #define DJP_PQL_DRAFT                     1L
  177.    #define DJP_PQL_LOW                       2L
  178.    #define DJP_PQL_MEDIUM                    3L
  179.    #define DJP_PQL_HIGH                      4L
  180.    #define DJP_PQL_LAST                      DJP_PQL_HIGH
  181.    
  182.    typedef ULONG DJPT_PRINTQUALITY;
  183.    typedef ULONG *PDJPT_PRINTQUALITY;
  184.    
  185.    /* -----------------------------------------------------------------
  186.    ** DJP_SJ_PAPERSIZE
  187.    **
  188.    ** Note: it is recommended to use DJP_CJ_FORM to chage the papersize.
  189.    **                                               approximate size
  190.    */                                           /*  inches       millimeters */
  191.    #define DJP_PSI_NONE                      0L
  192.    #define DJP_PSI_LETTER                    1L /*  8.5  x 11    216 x 279   */
  193.    #define DJP_PSI_LEGAL                     2L /*  8.5  x 14    216 x 356   */
  194.    #define DJP_PSI_WIDE                      3L /* 13.58 x 11    345 x 279   */
  195.    #define DJP_PSI_CSHEET                    4L /* 17    x 22    431 x 558   */
  196.    #define DJP_PSI_DSHEET                    5L /* 22    x 34    558 x 863   */
  197.    #define DJP_PSI_ESHEET                    6L /* 34    x 44    863 x 1117  */
  198.    #define DJP_PSI_LETTERSMALL               7L /*                           */
  199.    #define DJP_PSI_TABLOID                   8L /* 11    x 17    279 x 431   */
  200.    #define DJP_PSI_LEDGER                    9L /* 17    x 11    431 x 279   */
  201.    #define DJP_PSI_STATEMENT                10L /*  5.5  x  8.5  139 x 216   */
  202.    #define DJP_PSI_EXECUTIVE                11L /*  7.25 x 10.5  184 x 266   */
  203.    #define DJP_PSI_A0                       12L /* 33.11 x 46.81 841 x 1189  */
  204.    #define DJP_PSI_A1                       13L /* 23.39 x 33.11 594 x 841   */
  205.    #define DJP_PSI_A2                       14L /* 16.54 x 23.39 420 x 594   */
  206.    #define DJP_PSI_A3                       15L /* 11.7  x 16.54 297 x 420   */
  207.    #define DJP_PSI_A4                       16L /*  8.3  x 11.7  210 x 297   */
  208.    #define DJP_PSI_A4_SMALL                 17L /*                           */
  209.    #define DJP_PSI_A5                       18L /*  5.83 x  8.27 148 x 210   */
  210.    #define DJP_PSI_B4                       19L /*  9.84 x 13.94 250 x 354   */
  211.    #define DJP_PSI_B5                       20L /*  7.17 x 10.12 182 x 257   */
  212.    #define DJP_PSI_FOLIO                    21L /*  8.5  x 13    216 x 330   */
  213.    #define DJP_PSI_QUATRO                   22L /*  8.46 x 10.83 215 x 275   */
  214.    #define DJP_PSI_10X14                    23L /* 10    x 14    254 x 355   */
  215.    #define DJP_PSI_11X17                    24L /* 11    x 17    279 x 431   */
  216.    #define DJP_PSI_NOTE                     25L /*                           */
  217.    #define DJP_PSI_ENV_9                    26L /*                           */
  218.    #define DJP_PSI_ENV_10                   27L /*                           */
  219.    #define DJP_PSI_ENV_11                   28L /*                           */
  220.    #define DJP_PSI_ENV_12                   29L /*                           */
  221.    #define DJP_PSI_ENV_14                   30L /*                           */
  222.    #define DJP_PSI_ENV_DL                   31L /*                           */
  223.    #define DJP_PSI_ENV_A2                   32L /*                           */
  224.    #define DJP_PSI_ENV_C3                   33L /*                           */
  225.    #define DJP_PSI_ENV_C4                   34L /*                           */
  226.    #define DJP_PSI_ENV_C5                   35L /*                           */
  227.    #define DJP_PSI_ENV_C6                   36L /*                           */
  228.    #define DJP_PSI_ENV_C65                  37L /*                           */
  229.    #define DJP_PSI_ENV_C9                   38L /*                           */
  230.    #define DJP_PSI_ENV_C10                  39L /*                           */
  231.    #define DJP_PSI_ENV_B4                   40L /*                           */
  232.    #define DJP_PSI_ENV_B5                   41L /*                           */
  233.    #define DJP_PSI_ENV_B6                   42L /*                           */
  234.    #define DJP_PSI_ENV_ITALY                43L /*                           */
  235.    #define DJP_PSI_ENV_MONARCH              44L /*                           */
  236.    #define DJP_PSI_ENV_PERSONAL             45L /*                           */
  237.    #define DJP_PSI_FANFOLD_US               46L /*                           */
  238.    #define DJP_PSI_FANFOLD_STD_GERMAN       47L /*                           */
  239.    #define DJP_PSI_FANFOLD_LGL_GERMAN       48L /*                           */
  240.    #define DJP_PSI_ARCHITECT_BSHEET         49L /*                           */
  241.    #define DJP_PSI_ARCHITECT_CSHEET         50L /*                           */
  242.    #define DJP_PSI_ARCHITECT_DSHEET         51L /*                           */
  243.    #define DJP_PSI_ARCHITECT_ESHEET         52L /*                           */
  244.    #define DJP_PSI_CARD_A6                  53L /*                           */
  245.    #define DJP_PSI_CARD_4X6                 54L /*                           */
  246.    #define DJP_PSI_CARD_5X8                 55L /*                           */
  247.    #define DJP_PSI_CARD_HAGAKI              56L /*                           */
  248.    #define DJP_PSI_LABEL_STANDARD           57L /*  1.10 x 3.50   28 x 89    */
  249.    #define DJP_PSI_LABEL_SHIPPING           58L /*  3.98 x 2.13  101 x 54    */
  250.    #define DJP_PSI_LABEL_DISK               59L /*  2.76 x 2.13   70 x 54    */
  251.    #define DJP_PSI_LABEL_EURO               60L /*  3.50 x 1.42   89 x 36    */
  252.    #define DJP_PSI_CARD_OUFUKU_HAGAKI       61L /*                           */
  253.    #define DJP_PSI_B0                       62L /*                           */
  254.    #define DJP_PSI_B1                       63L /*                           */
  255.    #define DJP_PSI_B2                       64L /*                           */
  256.    #define DJP_PSI_B3                       65L /*                           */
  257.    #define DJP_PSI_B6                       66L /*                           */
  258.    #define DJP_PSI_B7                       67L /*                           */
  259.    #define DJP_PSI_B8                       68L /*                           */
  260.    #define DJP_PSI_B9                       69L /*                           */
  261.    #define DJP_PSI_B10                      70L /*                           */
  262.    #define DJP_PSI_B0_JIS                   71L /*                           */
  263.    #define DJP_PSI_B1_JIS                   72L /*                           */
  264.    #define DJP_PSI_B2_JIS                   73L /*                           */
  265.    #define DJP_PSI_B3_JIS                   74L /*                           */
  266.    #define DJP_PSI_B4_JIS                   75L /*                           */
  267.    #define DJP_PSI_B5_JIS                   76L /*                           */
  268.    #define DJP_PSI_B6_JIS                   77L /*                           */
  269.    #define DJP_PSI_B7_JIS                   78L /*                           */
  270.    #define DJP_PSI_B8_JIS                   79L /*                           */
  271.    #define DJP_PSI_B9_JIS                   80L /*                           */
  272.    #define DJP_PSI_B10_JIS                  81L /*                           */
  273.    #define DJP_PSI_LAST                     DJP_PSI_B10_JIS
  274.    
  275.    typedef LONG DJPT_PAPERSIZE;
  276.    typedef LONG *PDJPT_PAPERSIZE;
  277.    
  278.    /* -----------------------------------------------------------------
  279.    ** DJP_SJ_TRAYTYPE
  280.    **
  281.    ** Note: it is recommended to use DJP_CJ_FORM to chage the tray type.
  282.    */
  283.    #define DJP_TRY_NONE                      0L
  284.    #define DJP_TRY_UPPER                     1L
  285.    #define DJP_TRY_ONLYONE                   DJP_TRY_UPPER
  286.    #define DJP_TRY_LOWER                     2L
  287.    #define DJP_TRY_MIDDLE                    3L
  288.    #define DJP_TRY_MANUAL                    4L
  289.    #define DJP_TRY_ENVELOPE                  5L
  290.    #define DJP_TRY_ENVMANUAL                 6L
  291.    #define DJP_TRY_AUTO                      7L
  292.    #define DJP_TRY_TRACTOR                   8L
  293.    #define DJP_TRY_SMALLFMT                  9L
  294.    #define DJP_TRY_LARGEFMT                 10L
  295.    #define DJP_TRY_LARGECAPACITY            11L
  296.    #define DJP_TRY_CASSETTE                 12L
  297.    #define DJP_TRY_LAST                     DJP_TRY_CASSETTE
  298.    
  299.    typedef ULONG DJPT_TRAYTYPE;
  300.    typedef ULONG *PDJPT_TRAYTYPE;
  301.    
  302.    /* -----------------------------------------------------------------
  303.    ** DJP_SJ_MEDIA
  304.    **
  305.    ** Note: it is recommended to use DJP_CJ_FORM to chage the media type.
  306.    */
  307.    #define DJP_MED_NONE                      0L
  308.    #define DJP_MED_PLAIN                     1L
  309.    #define DJP_MED_TRANSPARENCY              2L
  310.    #define DJP_MED_GLOSSY                    3L
  311.    #define DJP_MED_SPECIAL                   4L
  312.    #define DJP_MED_COATED                    5L
  313.    #define DJP_MED_BACKPRINT                 6L
  314.    #define DJP_MED_CLOTH                     7L
  315.    #define DJP_MED_THICK                     8L
  316.    #define DJP_MED_STATIONARY                9L
  317.    #define DJP_MED_ENVELOPE                 10L
  318.    #define DJP_MED_CONTINUOUS_LONG          11L
  319.    #define DJP_MED_CONTINUOUS_SHORT         12L
  320.    #define DJP_MED_TAB_STOCK                13L
  321.    #define DJP_MED_MULTI_PART_FORM          14L
  322.    #define DJP_MED_LABELS                   15L
  323.    #define DJP_MED_LAST                     DJP_MED_LABELS
  324.    
  325.    typedef ULONG DJPT_MEDIA;
  326.    typedef ULONG *PDJPT_MEDIA;
  327.    
  328.    /* -----------------------------------------------------------------
  329.    ** DJP_SJ_MEDIA_COLOR
  330.    **
  331.    ** Select the media color (for the same media types).
  332.    */
  333.    #define DJP_MDC_BLUE                      1L
  334.    #define DJP_MDC_BLUFF                     2L
  335.    #define DJP_MDC_GOLDENROD                 3L
  336.    #define DJP_MDC_GREEN                     4L
  337.    #define DJP_MDC_PINK                      5L
  338.    #define DJP_MDC_TRANSPARENT               6L
  339.    #define DJP_MDC_WHITE                     7L
  340.    #define DJP_MDC_YELLOW                    8L
  341.    #define DJP_MDC_LAST                      DJP_MDC_YELLOW
  342.    
  343.    typedef ULONG DJPT_MEDIA_COLOR;
  344.    typedef ULONG *PDJPT_MEDIA_COLOR;
  345.    
  346.    /* -----------------------------------------------------------------
  347.    ** DJP_CJ_FORM
  348.    **
  349.    ** Setting will match all three fields.  If szTrayname or szMedianame
  350.    **    is null then it will be defaulted to the first one found.
  351.    **
  352.    ** Querying will return all fields filled in.
  353.    */
  354.    typedef struct _djpForm   /* djpFRM */
  355.    {
  356.       CHAR            szFormname[32];        /* System Form name                  */
  357.       CHAR            szTrayname[32];        /* System Tray name                  */
  358.       CHAR            szMedianame[32];       /* System Media name                 */
  359.       /*                      v-= Informational only =-v                          */
  360.       HCINFO          hcInfo;                /* Corresponding hard copy info      */
  361.       CHAR            szDisplayFormname[64]; /* Display Form name  (translated)   */
  362.       CHAR            szDisplayTrayname[64]; /* Display Tray name  (translated)   */
  363.       CHAR            szDisplayMedianame[64];/* Display Media name (translated)   */
  364.       DJPT_PAPERSIZE  djppsFormID;           /* Simple form id  (if not DJP_NONE) */
  365.       DJPT_TRAYTYPE   djpttTrayID;           /* Simple tray id  (if not DJP_NONE) */
  366.       DJPT_MEDIA      djpmdMediaID;          /* Simple media id (if not DJP_NONE) */
  367.    } DJPT_FORM, *PDJPT_FORM;
  368.    
  369.    /* -----------------------------------------------------------------
  370.    ** DJP_CJ_MIXEDFORMS
  371.    **
  372.    ** This is unique in that both setting and querying can have multiple
  373.    ** elements.  Both the first page and the last page are DJP_MXF_INFINITY.
  374.    ** Some examples are:
  375.    **      (-1, -1)                 - Only one form for the entire job.
  376.    **      (-1,  1) (2, -1)         - Page 1, then pages 2 ... n.
  377.    */
  378.    #define DJP_MXF_INFINITY                 -1L
  379.    
  380.    typedef struct _djpMixedForms   /* djpMXF */
  381.    {
  382.       LONG            lStartRange;           /* Starting page number           */
  383.       LONG            lEndRange;             /* Ending page number             */
  384.       DJPT_FORM       djpfmForm;             /* Form associated with the range */
  385.    } DJPT_MIXEDFORMS, *PDJPT_MIXEDFORMS;
  386.    
  387.    /* -----------------------------------------------------------------
  388.    ** DJP_SJ_FONTDOWNLOADING
  389.    */
  390.    #define DJP_FDL_NONE                      0L /* Device does not support downloading*/
  391.    #define DJP_FDL_DOWNLOAD                  1L /* Download fonts to printer          */
  392.    #define DJP_FDL_BITMAP                    2L /* Rasterize fonts                    */
  393.    #define DJP_FDL_SUBSTITUTE                3L /* Substitute device fonts for system */
  394.    
  395.    typedef ULONG DJPT_FONTDOWNLOADING;
  396.    typedef ULONG *PDJPT_FONTDOWNLOADING;
  397.    
  398.    /* -----------------------------------------------------------------
  399.    ** DJP_SJ_DUPLEX
  400.    */
  401.    #define DJP_DUP_NONE                      0L /* Device does not support duplex     */
  402.    #define DJP_DUP_OFF                       1L /* Duplex is turned off               */
  403.    #define DJP_DUP_BOOK                      2L
  404.    #define DJP_DUP_FLIP                      3L
  405.    
  406.    typedef ULONG DJPT_DUPLEX;
  407.    typedef ULONG *PDJPT_DUPLEX;
  408.    
  409.    /* -----------------------------------------------------------------
  410.    ** DJP_SJ_COLLATE
  411.    */
  412.    #define DJP_COL_NONE                      0L /* Device does not support collation  */
  413.    #define DJP_COL_OFF                       1L
  414.    #define DJP_COL_ON                        2L
  415.    
  416.    typedef ULONG DJPT_COLLATE;
  417.    typedef ULONG *PDJPT_COLLATE;
  418.    
  419.    /* -----------------------------------------------------------------
  420.    ** DJP_SJ_FEED
  421.    */
  422.    #define DJP_FED_MANUAL                    1L
  423.    #define DJP_FED_AUTOMATIC                 2L
  424.    
  425.    typedef ULONG DJPT_FEED;
  426.    typedef ULONG *PDJPT_FEED;
  427.    
  428.    /* -----------------------------------------------------------------
  429.    ** DJP_SJ_COPIES
  430.    **
  431.    ** This is the number of copies on a per page basis.  This is not
  432.    ** enumerateable.
  433.    */
  434.    typedef ULONG DJPT_COPIES;
  435.    typedef ULONG *PDJPT_COPIES;
  436.    
  437.    /* -----------------------------------------------------------------
  438.    ** DJP_SJ_SCALING
  439.    **
  440.    ** This is a percentage value.  This is not enumerateable.
  441.    */
  442.    typedef LONG DJPT_SCALING;
  443.    typedef LONG *PDJPT_SCALING;
  444.    
  445.    /* -----------------------------------------------------------------
  446.    ** DJP_SJ_FORMFEEDCONTROL
  447.    **
  448.    ** This is a property that effects raw data jobs (print from the
  449.    ** command line, DOS print jobs, Windows print jobs). This checks
  450.    ** the very last byte of the data stream to see if it is a form
  451.    ** feed control character.
  452.    */
  453.    #define DJP_FFC_NONE                      1L    /* Never add        */
  454.    #define DJP_FFC_CONDITIONAL               2L    /* Add if not seen  */
  455.    #define DJP_FFC_COMPULSORY                3L    /* Always add       */
  456.    
  457.    typedef ULONG DJPT_FORMFEEDCONTROL;
  458.    typedef ULONG *PDJPT_FORMFEEDCONTROL;
  459.    
  460.    /* -----------------------------------------------------------------
  461.    ** DJP_SJ_N_UP
  462.    **
  463.    ** Number of logical pages per physical page (ex: 2-up, 4-up)
  464.    */
  465.    typedef LONG DJPT_NUP;
  466.    typedef LONG *PDJPT_NUP;
  467.    
  468.    /* -----------------------------------------------------------------
  469.    ** DJP_CJ_OUTPUTBIN
  470.    **
  471.    ** Setting will only use szBinname.
  472.    **
  473.    ** Querying will return all fields filled in.
  474.    */
  475.    typedef struct _djpOutputBin   /* djpOBN */
  476.    {
  477.       CHAR            szBinname[32];         /* System Bin name                   */
  478.       /*                      v-= Informational only =-v                          */
  479.       CHAR            szDisplayBinname[64];  /* Display Bin name  (translated)    */
  480.       LONG            lBinId;                /* Bin id # (-1 for no id)           */
  481.    } DJPT_OUTPUTBIN, *PDJPT_OUTPUTBIN;
  482.    
  483.    /* -----------------------------------------------------------------
  484.    ** DJP_CJ_TRAYNAME
  485.    **
  486.    ** Setting will match only szTrayname.  The perfered way to set which
  487.    ** tray to use is DJP_CJ_FORM.  Otherwise, you are not guaranteed a
  488.    ** unique match for all three form, tray, and media possibilities.
  489.    **
  490.    ** Querying will return all fields filled in.
  491.    */
  492.    typedef struct _djpInputTray   /* djpTry */
  493.    {
  494.       CHAR            szTrayname[32];        /* System Tray name                  */
  495.       /*                      v-= Informational only =-v                          */
  496.       CHAR            szDisplayTrayname[64]; /* Display Tray name  (translated)   */
  497.       DJPT_TRAYTYPE   djpttTrayID;           /* Simple tray id  (if not DJP_NONE) */
  498.    } DJPT_TRAYNAME, *PDJPT_TRAYNAME;
  499.    
  500. #endif
  501.  
  502. #ifdef __cplusplus
  503.         }
  504. #endif
  505. #if __IBMC__ || __IBMCPP__
  506.    #pragma info( none )
  507.    #ifndef __CHKHDR__
  508.       #pragma info( restore )
  509.    #endif
  510.    #pragma info( restore )
  511. #endif
  512. /* INC */
  513.  
  514. /**************************** end of file **********************************/
  515.