/* * cupsRasterInterpretPPD stub for CUPS. * * Copyright © 2018 by Apple Inc. * * Licensed under Apache License v2.0. See the file "LICENSE" for more * information. */ /* * Include necessary headers... */ #include /* * This stub wraps the _cupsRasterInterpretPPD function in libcups - this allows * one library to provide all of the CUPS API functions while still supporting * the old split library organization... */ /* * 'cupsRasterInterpretPPD()' - Interpret PPD commands to create a page header. * * This function is used by raster image processing (RIP) filters like * cgpdftoraster and imagetoraster when writing CUPS raster data for a page. * It is not used by raster printer driver filters which only read CUPS * raster data. * * * @code cupsRasterInterpretPPD@ does not mark the options in the PPD using * the "num_options" and "options" arguments. Instead, mark the options with * @code cupsMarkOptions@ and @code ppdMarkOption@ prior to calling it - * this allows for per-page options without manipulating the options array. * * The "func" argument specifies an optional callback function that is * called prior to the computation of the final raster data. The function * can make changes to the @link cups_page_header2_t@ data as needed to use a * supported raster format and then returns 0 on success and -1 if the * requested attributes cannot be supported. * * * @code cupsRasterInterpretPPD@ supports a subset of the PostScript language. * Currently only the @code [@, @code ]@, @code <<@, @code >>@, @code {@, * @code }@, @code cleartomark@, @code copy@, @code dup@, @code index@, * @code pop@, @code roll@, @code setpagedevice@, and @code stopped@ operators * are supported. * * @since CUPS 1.2/macOS 10.5@ */ int /* O - 0 on success, -1 on failure */ cupsRasterInterpretPPD( cups_page_header2_t *h, /* O - Page header to create */ ppd_file_t *ppd, /* I - PPD file */ int num_options, /* I - Number of options */ cups_option_t *options, /* I - Options */ cups_interpret_cb_t func) /* I - Optional page header callback (@code NULL@ for none) */ { return (_cupsRasterInterpretPPD(h, ppd, num_options, options, func)); }