-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Develop public IPP Data File API #14
Comments
IPP Data File APIAPI to read and write IPP attributes and other commands or data using a common base format that supports tools such as Base Types
An open IPP tools file with associated variables and callbacks. The following standard variables are typically defined:
An IPP attribute filter callback. The "name" parameter is the name of an IPP attribute. The callback returns
An IPP error message callback. The "error" parameter contains an error message. The callback returns
An IPP token callback. The "token" parameter contains the token to be processed. The callback can use the Public API
Open an IPP tools file for reading (mode = "r") or writing (mode = "w"). If an error occurs while opening the file, The "parent" pointer causes the new file to contain the same variables as the parent and is typically used when processing the
Closes an IPP tools file, frees all memory used, and returns
Get the IPP attributes that have been read so far. You must call
Gets the current filename.
Gets the current line number in the file.
Get and set file variables. Setting the "uri" variable also sets the "hostname", "port", "resource", "scheme", and "uriuser" variables.
Reads the IPP tools file using the specified token callback.
Reads a single token from the file, returning
Writes the attributes in "ipp" to the file. Returns
Write a single token to the file. The second form allows for printf-style format strings. |
Currently ipptool and ippeveprinter use a private API to read ipptool test files and ippeveprinter attribute files. They share a common core syntax for specifying IPP attributes with a callback interface for processing tool-specific directives/commands and reporting errors. This same private API has been used in the PWG's ippsample project for ippserver and ipp3dprinter, but now that ippsample is using libcups it is inappropriate for them to use a private API. Also, the private API has been in use long enough to develop a stable public API, and there are other third-party tools and printer applications that could make use of the API as well.
The current private API:
The text was updated successfully, but these errors were encountered: