The Linux Foundation

 
CUPS40

From The Linux Foundation

Contents

CUPS 1.1.23 Interface Review

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.0 interface candidates:

These are the remaining interfaces extracted from libcups.so, ibcupsimage.so, not marked as deprecated upstream. Addition to LSB 4.0 will require a re-import, header/stub generation, tests, and spec documents (generated from upstream source for 3.2).

HTTP/IPP Interfaces

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

[Article] [Discussion] [View source] [History]