home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osp1.exe / include / os2 / pmdjp.h < prev    next >
C/C++ Source or Header  |  1997-04-02  |  21KB  |  460 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.    
  120.    /* Types for DEVESC_QUERYJOBPROPERTIES / DEVESC_SETJOBPROPERTIES
  121.    */
  122.    #define DJP_ALL                           1L  /* enumerate the property */
  123.    #define DJP_CURRENT                       2L  /* from job properties    */
  124.    
  125.    /* Errors for DEVESC_QUERYJOBPROPERTIES / DEVESC_SETJOBPROPERTIES
  126.    */
  127.    #define DJP_ERROR_NOT_SUPPORTED          -1L  /* driver doesnt support that property */
  128.    #define DJP_ERROR_OUT_OF_RANGE           -2L  /* not in the valid range              */
  129.    #define DJP_ERROR_NOT_ENUM               -3L  /* not enumerateable                   */
  130.    #define DJP_ERROR_INV_PARMS              -4L  /* field not proper value              */
  131.    
  132.    /* -----------------------------------------------------------------
  133.    ** DJP_SJ_ORIENTATION
  134.    */
  135.    #define DJP_ORI_PORTRAIT                  1L
  136.    #define DJP_ORI_LANDSCAPE                 2L
  137.    #define DJP_ORI_REV_PORTRAIT              3L
  138.    #define DJP_ORI_REV_LANDSCAPE             4L
  139.    
  140.    typedef ULONG DJPT_ORIENTATION;
  141.    typedef ULONG *PDJPT_ORIENTATION;
  142.    
  143.    /* -----------------------------------------------------------------
  144.    ** DJP_CJ_RESOLUTION
  145.    */
  146.    typedef struct _djpResolution   /* djpRES */
  147.    {
  148.       USHORT     usXResolution;    /* X resolution (in dots per inch) */
  149.       USHORT     usYResolution;    /* Y resolution (in dots per inch) */
  150.    } DJPT_RESOLUTION, *PDJPT_RESOLUTION;
  151.    
  152.    /* -----------------------------------------------------------------
  153.    ** DJP_SJ_BITSPERPEL
  154.    */
  155.    typedef ULONG DJPT_BITSPERPEL;
  156.    typedef ULONG *PDJPT_BITSPERPEL;
  157.    
  158.    /* -----------------------------------------------------------------
  159.    ** DJP_SJ_COLOR
  160.    */
  161.    #define DJP_CLR_MONOCHROME                1L
  162.    #define DJP_CLR_COLOR                     2L
  163.    
  164.    typedef ULONG DJPT_COLOR;
  165.    typedef ULONG *PDJPT_COLOR;
  166.    
  167.    /* -----------------------------------------------------------------
  168.    ** DJP_SJ_PRINTQUALITY
  169.    **
  170.    ** Note: DJP_PQL_DRAFT is the worst quality.  In the future, there
  171.    **       may be better qualities (such as DJP_PQL_ULTRA_HIGH) which
  172.    **       will be numerically greater than DJP_PQL_HIGH.
  173.    */
  174.    #define DJP_PQL_DRAFT                     1L
  175.    #define DJP_PQL_LOW                       2L
  176.    #define DJP_PQL_MEDIUM                    3L
  177.    #define DJP_PQL_HIGH                      4L
  178.    #define DJP_PQL_LAST                      DJP_PQL_HIGH
  179.    
  180.    typedef ULONG DJPT_PRINTQUALITY;
  181.    typedef ULONG *PDJPT_PRINTQUALITY;
  182.    
  183.    /* -----------------------------------------------------------------
  184.    ** DJP_SJ_PAPERSIZE
  185.    **
  186.    ** Note: it is recommended to use DJP_CJ_FORM to chage the papersize.
  187.    **                                               approximate size
  188.    */                                           /*  inches       millimeters */
  189.    #define DJP_PSI_NONE                      0L
  190.    #define DJP_PSI_LETTER                    1L /*  8.5  x 11    216 x 279   */
  191.    #define DJP_PSI_LEGAL                     2L /*  8.5  x 14    216 x 356   */
  192.    #define DJP_PSI_WIDE                      3L /* 13.58 x 11    345 x 279   */
  193.    #define DJP_PSI_CSHEET                    4L /* 17    x 22    431 x 558   */
  194.    #define DJP_PSI_DSHEET                    5L /* 22    x 34    558 x 863   */
  195.    #define DJP_PSI_ESHEET                    6L /* 34    x 44    863 x 1117  */
  196.    #define DJP_PSI_LETTERSMALL               7L /*                           */
  197.    #define DJP_PSI_TABLOID                   8L /* 11    x 17    279 x 431   */
  198.    #define DJP_PSI_LEDGER                    9L /* 17    x 11    431 x 279   */
  199.    #define DJP_PSI_STATEMENT                10L /*  5.5  x  8.5  139 x 216   */
  200.    #define DJP_PSI_EXECUTIVE                11L /*  7.25 x 10.5  184 x 266   */
  201.    #define DJP_PSI_A0                       12L /* 33.11 x 46.81 841 x 1189  */
  202.    #define DJP_PSI_A1                       13L /* 23.39 x 33.11 594 x 841   */
  203.    #define DJP_PSI_A2                       14L /* 16.54 x 23.39 420 x 594   */
  204.    #define DJP_PSI_A3                       15L /* 11.7  x 16.54 297 x 420   */
  205.    #define DJP_PSI_A4                       16L /*  8.3  x 11.7  210 x 297   */
  206.    #define DJP_PSI_A4_SMALL                 17L /*                           */
  207.    #define DJP_PSI_A5                       18L /*  5.83 x  8.27 148 x 210   */
  208.    #define DJP_PSI_B4                       19L /*  9.84 x 13.94 250 x 354   */
  209.    #define DJP_PSI_B5                       20L /*  7.17 x 10.12 182 x 257   */
  210.    #define DJP_PSI_FOLIO                    21L /*  8.5  x 13    216 x 330   */
  211.    #define DJP_PSI_QUATRO                   22L /*  8.46 x 10.83 215 x 275   */
  212.    #define DJP_PSI_10X14                    23L /* 10    x 14    254 x 355   */
  213.    #define DJP_PSI_11X17                    24L /* 11    x 17    279 x 431   */
  214.    #define DJP_PSI_NOTE                     25L /*                           */
  215.    #define DJP_PSI_ENV_9                    26L /*                           */
  216.    #define DJP_PSI_ENV_10                   27L /*                           */
  217.    #define DJP_PSI_ENV_11                   28L /*                           */
  218.    #define DJP_PSI_ENV_12                   29L /*                           */
  219.    #define DJP_PSI_ENV_14                   30L /*                           */
  220.    #define DJP_PSI_ENV_DL                   31L /*                           */
  221.    #define DJP_PSI_ENV_A2                   32L /*                           */
  222.    #define DJP_PSI_ENV_C3                   33L /*                           */
  223.    #define DJP_PSI_ENV_C4                   34L /*                           */
  224.    #define DJP_PSI_ENV_C5                   35L /*                           */
  225.    #define DJP_PSI_ENV_C6                   36L /*                           */
  226.    #define DJP_PSI_ENV_C65                  37L /*                           */
  227.    #define DJP_PSI_ENV_C9                   38L /*                           */
  228.    #define DJP_PSI_ENV_C10                  39L /*                           */
  229.    #define DJP_PSI_ENV_B4                   40L /*                           */
  230.    #define DJP_PSI_ENV_B5                   41L /*                           */
  231.    #define DJP_PSI_ENV_B6                   42L /*                           */
  232.    #define DJP_PSI_ENV_ITALY                43L /*                           */
  233.    #define DJP_PSI_ENV_MONARCH              44L /*                           */
  234.    #define DJP_PSI_ENV_PERSONAL             45L /*                           */
  235.    #define DJP_PSI_FANFOLD_US               46L /*                           */
  236.    #define DJP_PSI_FANFOLD_STD_GERMAN       47L /*                           */
  237.    #define DJP_PSI_FANFOLD_LGL_GERMAN       48L /*                           */
  238.    #define DJP_PSI_ARCHITECT_BSHEET         49L /*                           */
  239.    #define DJP_PSI_ARCHITECT_CSHEET         50L /*                           */
  240.    #define DJP_PSI_ARCHITECT_DSHEET         51L /*                           */
  241.    #define DJP_PSI_ARCHITECT_ESHEET         52L /*                           */
  242.    #define DJP_PSI_CARD_A6                  53L /*                           */
  243.    #define DJP_PSI_CARD_4X6                 54L /*                           */
  244.    #define DJP_PSI_CARD_5X8                 55L /*                           */
  245.    #define DJP_PSI_CARD_HAGAKI              56L /*                           */
  246.    #define DJP_PSI_LABEL_STANDARD           57L /*  1.10 x 3.50   28 x 89    */
  247.    #define DJP_PSI_LABEL_SHIPPING           58L /*  3.98 x 2.13  101 x 54    */
  248.    #define DJP_PSI_LABEL_DISK               59L /*  2.76 x 2.13   70 x 54    */
  249.    #define DJP_PSI_LABEL_EURO               60L /*  3.50 x 1.42   89 x 36    */
  250.    #define DJP_PSI_LAST                     DJP_PSI_LABEL_EURO
  251.    
  252.    typedef LONG DJPT_PAPERSIZE;
  253.    typedef LONG *PDJPT_PAPERSIZE;
  254.    
  255.    /* -----------------------------------------------------------------
  256.    ** DJP_SJ_TRAYTYPE
  257.    **
  258.    ** Note: it is recommended to use DJP_CJ_FORM to chage the tray type.
  259.    */
  260.    #define DJP_TRY_NONE                      0L
  261.    #define DJP_TRY_UPPER                     1L
  262.    #define DJP_TRY_ONLYONE                   DJP_TRY_UPPER
  263.    #define DJP_TRY_LOWER                     2L
  264.    #define DJP_TRY_MIDDLE                    3L
  265.    #define DJP_TRY_MANUAL                    4L
  266.    #define DJP_TRY_ENVELOPE                  5L
  267.    #define DJP_TRY_ENVMANUAL                 6L
  268.    #define DJP_TRY_AUTO                      7L
  269.    #define DJP_TRY_TRACTOR                   8L
  270.    #define DJP_TRY_SMALLFMT                  9L
  271.    #define DJP_TRY_LARGEFMT                 10L
  272.    #define DJP_TRY_LARGECAPACITY            11L
  273.    #define DJP_TRY_CASSETTE                 12L
  274.    #define DJP_TRY_LAST                     DJP_TRY_CASSETTE
  275.    
  276.    typedef ULONG DJPT_TRAYTYPE;
  277.    typedef ULONG *PDJPT_TRAYTYPE;
  278.    
  279.    /* -----------------------------------------------------------------
  280.    ** DJP_SJ_MEDIA
  281.    **
  282.    ** Note: it is recommended to use DJP_CJ_FORM to chage the media type.
  283.    */
  284.    #define DJP_MED_NONE                      0L
  285.    #define DJP_MED_PLAIN                     1L
  286.    #define DJP_MED_TRANSPARENCY              2L
  287.    #define DJP_MED_GLOSSY                    3L
  288.    #define DJP_MED_SPECIAL                   4L
  289.    #define DJP_MED_COATED                    5L
  290.    #define DJP_MED_BACKPRINT                 6L
  291.    #define DJP_MED_CLOTH                     7L
  292.    #define DJP_MED_THICK                     8L
  293.    #define DJP_MED_STATIONARY                9L
  294.    #define DJP_MED_ENVELOPE                 10L
  295.    #define DJP_MED_CONTINUOUS_LONG          11L
  296.    #define DJP_MED_CONTINUOUS_SHORT         12L
  297.    #define DJP_MED_TAB_STOCK                13L
  298.    #define DJP_MED_MULTI_PART_FORM          14L
  299.    #define DJP_MED_LABELS                   15L
  300.    #define DJP_MED_LAST                     DJP_MED_LABELS
  301.    
  302.    typedef ULONG DJPT_MEDIA;
  303.    typedef ULONG *PDJPT_MEDIA;
  304.    
  305.    /* -----------------------------------------------------------------
  306.    ** DJP_SJ_MEDIA_COLOR
  307.    **
  308.    ** Select the media color (for the same media types).
  309.    */
  310.    #define DJP_MDC_BLUE                      1L
  311.    #define DJP_MDC_BLUFF                     2L
  312.    #define DJP_MDC_GOLDENROD                 3L
  313.    #define DJP_MDC_GREEN                     4L
  314.    #define DJP_MDC_PINK                      5L
  315.    #define DJP_MDC_TRANSPARENT               6L
  316.    #define DJP_MDC_WHITE                     7L
  317.    #define DJP_MDC_YELLOW                    8L
  318.    #define DJP_MDC_LAST                      DJP_MDC_YELLOW
  319.    
  320.    typedef ULONG DJPT_MEDIA_COLOR;
  321.    typedef ULONG *PDJPT_MEDIA_COLOR;
  322.    
  323.    /* -----------------------------------------------------------------
  324.    ** DJP_CJ_FORM
  325.    **
  326.    ** Setting will match all three fields.  If szTrayname or szMedianame
  327.    **    is null then it will be defaulted to the first one found.
  328.    **
  329.    ** Querying will return all fields filled in.
  330.    */
  331.    typedef struct _djpForm   /* djpFRM */
  332.    {
  333.       CHAR            szFormname[32];        /* System Form name                  */
  334.       CHAR            szTrayname[32];        /* System Tray name                  */
  335.       CHAR            szMedianame[32];       /* System Media name                 */
  336.       /*                      v-= Informational only =-v                          */
  337.       HCINFO          hcInfo;                /* Corresponding hard copy info      */
  338.       CHAR            szDisplayFormname[64]; /* Display Form name  (translated)   */
  339.       CHAR            szDisplayTrayname[64]; /* Display Tray name  (translated)   */
  340.       CHAR            szDisplayMedianame[64];/* Display Media name (translated)   */
  341.       DJPT_PAPERSIZE  djppsFormID;           /* Simple form id  (if not DJP_NONE) */
  342.       DJPT_TRAYTYPE   djpttTrayID;           /* Simple tray id  (if not DJP_NONE) */
  343.       DJPT_MEDIA      djpmdMediaID;          /* Simple media id (if not DJP_NONE) */
  344.    } DJPT_FORM, *PDJPT_FORM;
  345.    
  346.    /* -----------------------------------------------------------------
  347.    ** DJP_CJ_MIXEDFORMS
  348.    **
  349.    ** This is unique in that both setting and querying can have multiple
  350.    ** elements.  Both the first page and the last page are DJP_MXF_INFINITY.
  351.    ** Some examples are:
  352.    **      (-1, -1)                 - Only one form for the entire job.
  353.    **      (-1,  1) (2, -1)         - Page 1, then pages 2 ... n.
  354.    */
  355.    #define DJP_MXF_INFINITY                 -1L
  356.    
  357.    typedef struct _djpMixedForms   /* djpMXF */
  358.    {
  359.       LONG            lStartRange;           /* Starting page number           */
  360.       LONG            lEndRange;             /* Ending page number             */
  361.       DJPT_FORM       djpfmForm;             /* Form associated with the range */
  362.    } DJPT_MIXEDFORMS, *PDJPT_MIXEDFORMS;
  363.    
  364.    /* -----------------------------------------------------------------
  365.    ** DJP_SJ_FONTDOWNLOADING
  366.    */
  367.    #define DJP_FDL_NONE                      0L /* Device does not support downloading*/
  368.    #define DJP_FDL_DOWNLOAD                  1L /* Download fonts to printer          */
  369.    #define DJP_FDL_BITMAP                    2L /* Rasterize fonts                    */
  370.    #define DJP_FDL_SUBSTITUTE                3L /* Substitute device fonts for system */
  371.    
  372.    typedef ULONG DJPT_FONTDOWNLOADING;
  373.    typedef ULONG *PDJPT_FONTDOWNLOADING;
  374.    
  375.    /* -----------------------------------------------------------------
  376.    ** DJP_SJ_DUPLEX
  377.    */
  378.    #define DJP_DUP_NONE                      0L /* Device does not support duplex     */
  379.    #define DJP_DUP_OFF                       1L /* Duplex is turned off               */
  380.    #define DJP_DUP_BOOK                      2L
  381.    #define DJP_DUP_FLIP                      3L
  382.    
  383.    typedef ULONG DJPT_DUPLEX;
  384.    typedef ULONG *PDJPT_DUPLEX;
  385.    
  386.    /* -----------------------------------------------------------------
  387.    ** DJP_SJ_COLLATE
  388.    */
  389.    #define DJP_COL_NONE                      0L /* Device does not support collation  */
  390.    #define DJP_COL_OFF                       1L
  391.    #define DJP_COL_ON                        2L
  392.    
  393.    typedef ULONG DJPT_COLLATE;
  394.    typedef ULONG *PDJPT_COLLATE;
  395.    
  396.    /* -----------------------------------------------------------------
  397.    ** DJP_SJ_FEED
  398.    */
  399.    #define DJP_FED_MANUAL                    1L
  400.    #define DJP_FED_AUTOMATIC                 2L
  401.    
  402.    typedef ULONG DJPT_FEED;
  403.    typedef ULONG *PDJPT_FEED;
  404.    
  405.    /* -----------------------------------------------------------------
  406.    ** DJP_SJ_COPIES
  407.    **
  408.    ** This is the number of copies on a per page basis.  This is not
  409.    ** enumerateable.
  410.    */
  411.    typedef ULONG DJPT_COPIES;
  412.    typedef ULONG *PDJPT_COPIES;
  413.    
  414.    /* -----------------------------------------------------------------
  415.    ** DJP_SJ_SCALING
  416.    **
  417.    ** This is a percentage value.  This is not enumerateable.
  418.    */
  419.    typedef LONG DJPT_SCALING;
  420.    typedef LONG *PDJPT_SCALING;
  421.    
  422.    /* -----------------------------------------------------------------
  423.    ** DJP_SJ_FORMFEEDCONTROL
  424.    **
  425.    ** This is a property that effects raw data jobs (print from the
  426.    ** command line, DOS print jobs, Windows print jobs). This checks
  427.    ** the very last byte of the data stream to see if it is a form
  428.    ** feed control character.
  429.    */
  430.    #define DJP_FFC_NONE                      1L    /* Never add        */
  431.    #define DJP_FFC_CONDITIONAL               2L    /* Add if not seen  */
  432.    #define DJP_FFC_COMPULSORY                3L    /* Always add       */
  433.    
  434.    typedef ULONG DJPT_FORMFEEDCONTROL;
  435.    typedef ULONG *PDJPT_FORMFEEDCONTROL;
  436.    
  437.    /* -----------------------------------------------------------------
  438.    ** DJP_SJ_N_UP
  439.    **
  440.    ** Number of logical pages per physical page (ex: 2-up, 4-up)
  441.    */
  442.    typedef LONG DJPT_NUP;
  443.    typedef LONG *PDJPT_NUP;
  444.    
  445. #endif
  446.  
  447. #ifdef __cplusplus
  448.         }
  449. #endif
  450. #if __IBMC__ || __IBMCPP__
  451.    #pragma info( none )
  452.    #ifndef __CHKHDR__
  453.       #pragma info( restore )
  454.    #endif
  455.    #pragma info( restore )
  456. #endif
  457. /* INC */
  458.  
  459. /**************************** end of file **********************************/
  460.