[cups.development] Re: CUPS and LSB

Michael Sweet mike at easysw.com
Mon Apr 3 18:51:51 PDT 2006


Fujinaka, Todd wrote:
> ...
> 
>>> So, what I have to ask is whether my assumptions are correct from the
>>> docs I've read on cups.org. Is libcups what I'd use for a
>>> higher-level interface?
>> Both libcups and libcupsimage are required - libcups is the
>> application-level interface and libcupsimage is used for printer
>> drivers.  Both would need to be included to be really useful - think
>> drivers from the printer manufacturers...
>>
>>> Is cups.h where I find the interfaces to include?
>> You'll want to include all of the headers in the cups subdirectory.
>> "cups.h" is just the "include everything + define the convenience
>> functions" header file.
>>
>> As for the interfaces to include, you'll want to include all of
>> the functions that do not start with an underscore (those are
>> private APIs) and are not marked deprecated (via GCC attribute).
> 
> I have been looking at the interfaces in cups and what I'd like to do,
> if possible, is to trim the list down to what an "average" application
> would use for printing. So, I'm wondering if I can omit backends, HTTP
> and IPP, for example. I must admit that I'm not sure which of the APIs
> are used by client applications, but limiting the number of interfaces
> also reduces the testing we have to do on our side to see whether the
> distros are providing the proper APIs.

You'll need most of the CUPS, HTTP, IPP, and PPD functions to support
GNOME and KDE.  Printer drivers and filters tend to use a smaller
subset of functions, but typically a different subset than
applications... :)

You'll want to cover both uses in LSB, otherwise it will be no easier
for printer vendors to support their printers on Linux...

That said, I'll see if I can come up with a subset that works for KDE,
GNOME, Gutenprint, and so forth.

> Also, has any work been done to change filter/image-png.c to use the
> png_get_ and png_set_ syntax entirely to avoid direct access of the
> png_info_struct? I edited the file directly and can send patches, but I
> haven't gotten everything compiled yet, so I'm not sure it's correct.

No, we haven't done anything for this - the code is relatively
unchanged since I wrote it (and then it was based on my Gimp code),
and AFAIK libpng didn't have accessor functions back then.

Anyways, feel free to submit a STR for this:

     http://www.cups.org/str.php

Thanks!

-- 
______________________________________________________________________
Michael Sweet, Easy Software Products           mike at easysw dot com
Internet Printing and Publishing Software        http://www.easysw.com




More information about the cups-devel mailing list