CUPS 1.1.23 Interface Review
Note: This is a copy of CUPS40, but the situation is the same for LSB 4.1.
In asking Till what interfaces were to be added for LSB 4.0, he responded with "The complete CUPS 1.1.x API except the interfaces which got dropped in later versions (1.2 - 1.4)". So breaking things down a bit from a review of the libcups.so and libcupsimage.so files I used for the 3.2 import, I come up with:
Interfaces added in LSB 3.2:
cupsRasterClose cupsRasterOpen cupsRasterReadHeader cupsRasterReadPixels cupsRasterWriteHeader cupsRasterWritePixels
ppdClose ppdCollect ppdConflicts ppdEmit ppdEmitFd ppdEmitJCL ppdErrorString ppdFindAttr ppdFindChoice ppdFindMarkedChoice ppdFindNextAttr ppdFindOption ppdIsMarked ppdLastError ppdMarkDefaults ppdMarkOption ppdOpen ppdOpenFd ppdOpenFile ppdPageLength ppdPageSize ppdPageWidth ppdSetConformance
cupsAddDest cupsAddOption cupsCancelJob cupsEncryption cupsFreeDests cupsFreeJobs cupsFreeOptions cupsGetDefault cupsGetDest cupsGetDests cupsGetJobs cupsGetOption cupsGetPPD cupsGetPassword cupsLangDefault - macro cupsLangEncoding cupsLangFlush cupsLangFree cupsLangGet cupsLastError cupsMarkOptions cupsParseOptions cupsPrintFile cupsPrintFiles cupsServer cupsSetDests cupsSetEncryption cupsSetPasswordCB cupsSetServer cupsSetUser cupsTempFd cupsUser
Convenience Interfaces withdrawn from LSB 3.2 (4.0 candidates?):
These interfaces were withdrawn from LSB 3.2 because they require bits from the HTTP/IPP interfaces and testing results using a static library stub were erratic. Tests are in place, just need to be toggled from the "UNTESTED" state. Documents were generated at one time, and presumably could be generated again.
cupsGetDefault2 cupsGetDests2 cupsGetFd cupsGetFile cupsGetJobs2 cupsGetPPD2 cupsPrintFile2 cupsPrintFiles2 cupsPutFd cupsPutFile cupsSetDests2
Potential LSB 4.1 interface candidates:
These are the remaining interfaces extracted from libcups.so, libcupsimage.so, not marked as deprecated upstream. Addition to LSB 4.1 will require a re-import, header/stub generation, tests, and spec documents (generated from upstream source for 3.2).
cupsDoAuthentication cupsDoFileRequest cupsEncodeOptions
httpCheck httpClearCookie httpClose httpConnect httpConnectEncrypt httpDecode64_2 httpDelete httpEncode64_2 httpEncryption httpFlush httpGet httpGetDateTime httpGets httpHead httpInitialize httpMD5 httpMD5Final httpMD5String httpOptions httpPost httpPrintf httpPut httpReconnect httpSeparate2 httpSetCookie httpSetField httpStatus httpTrace httpUpdate httpWait
ippAddBoolean ippAddBooleans ippAddCollection ippAddCollections ippAddDate ippAddInteger ippAddIntegers ippAddRange ippAddRanges ippAddResolution ippAddResolutions ippAddSeparator ippAddString ippAddStrings ippDateToTime ippDelete ippDeleteAttribute ippErrorString ippFindAttribute ippFindNextAttribute ippLength ippNew ippPort ippRead ippReadFile ippReadIO ippSetPort ippTimeToDate ippWrite ippWriteFile ippWriteIO - upstream says CUPS 1.2, but pulled this out of 1.1.23 libcups.so
CUPS 1.1.23 interfaces marked as deprecated upstream:
These interfaces are marked as deprecated upstream and should be excluded from LSB 4.0
cupsGetClasses - deprecated cupsGetPrinters - deprecated cupsTempFile - deprecated
httpDecode64 - deprecated httpEncode64 - deprecated httpGetDateString - deprecated httpGetHostByName - deprecated httpGetLength - deprecated httpGetSubField - deprecated httpRead - deprecated httpSeparate - deprecated httpWrite - deprecated