ISO/IEC DIS 23360-1-5
(Main)Linux Standard Base (LSB)
Linux Standard Base (LSB)
Noyau de base normalisé Linux (LSB)
General Information
RELATIONS
Standards Content (sample)
DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 23360-1-5
ISO/IEC JTC 1/SC 22 Secretariat: ANSI
Voting begins on: Voting terminates on:
2020-02-14 2020-05-08
Linux Standard Base (LSB) —
Part 1-5:
Imaging specification
ICS: 35.080
THIS DOCUMENT IS A DRAFT CIRCULATED
FOR COMMENT AND APPROVAL. IT IS
THEREFORE SUBJECT TO CHANGE AND MAY
NOT BE REFERRED TO AS AN INTERNATIONAL
STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS
BEING ACCEPTABLE FOR INDUSTRIAL,
This document is circulated as received from the committee secretariat.
TECHNOLOGICAL, COMMERCIAL AND
USER PURPOSES, DRAFT INTERNATIONAL
STANDARDS MAY ON OCCASION HAVE TO
BE CONSIDERED IN THE LIGHT OF THEIR
POTENTIAL TO BECOME STANDARDS TO
WHICH REFERENCE MAY BE MADE IN
Reference number
NATIONAL REGULATIONS.
ISO/IEC DIS 23360-1-5:2020(E)
RECIPIENTS OF THIS DRAFT ARE INVITED
TO SUBMIT, WITH THEIR COMMENTS,
NOTIFICATION OF ANY RELEVANT PATENT
RIGHTS OF WHICH THEY ARE AWARE AND TO
PROVIDE SUPPORTING DOCUMENTATION. ISO/IEC 2020
---------------------- Page: 1 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2020
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2020 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
Contents
Contents .......................................................................................................................................................... iii
List of Tables .................................................................................................................................................. iv
Foreword .......................................................................................................................................................... v
Status of this Document ........................................................................................................................... vii
Introduction ................................................................................................................................................ viii
I Introductory Elements ............................................................................................................................. 1
1 Scope ................................................................................................................................................................ 2
1.1 General ..................................................................................................................................... 2
1.2 Module Specific Scope ........................................................................................................ 2
2 Normative References .............................................................................................................................. 3
3 Requirements ............................................................................................................................................... 4
3.1 Relevant Libraries ................................................................................................................ 4
4 Terms and Definitions .............................................................................................................................. 5
5 Documentation Conventions ................................................................................................................. 7
6 PPD Format Extensions ............................................................................................................................ 8
II Printing Libraries .................................................................................................................................. 12
7 Libraries ........................................................................................................................................................ 13
7.1 Interfaces for libcups ....................................................................................................... 13
7.2 Data Definitions for libcups .......................................................................................... 15
7.3 Interface Definitions for libcups .................................................................................. 29
7.4 Interfaces for libcupsimage ........................................................................................... 50
7.5 Data Definitions for libcupsimage .............................................................................. 51
7.6 Interface Definitions for libcupsimage ..................................................................... 54
III Printing Commands ............................................................................................................................. 57
8 Printing Commands ................................................................................................................................. 58
8.1 Commands and Utilities .................................................................................................. 58
8.2 Command Behavior .......................................................................................................... 58
9 File System Hierarchy ............................................................................................................................. 66
V Scanning Libraries ................................................................................................................................. 67
10 Libraries .................................................................................................................................................. 68
10.1 Interfaces for libsane .................................................................................................... 68
10.2 Data Definitions for libsane ........................................................................................ 68
VI Package Format and Installation .................................................................................................... 78
11 Software Installation ......................................................................................................................... 79
11.1 Package Dependencies ..................................................................................................... 79
Annex A Alphabetical Listing of Interfaces by Library ................................................................. 80
A.1 libsane ............................................................................................................................................................... 80
A.2 libcups ............................................................................................................................................................... 80
A.3 libcupsimage .................................................................................................................................................. 82
Annex B GNU Free Documentation License (Informative) .......................................................... 83
B.1 PREAMBLE ...................................................................................................................................................... 83
B.2 APPLICABILITY AND DEFINITIONS .................................................................................................... 83
B.3 VERBATIM COPYING .................................................................................................................................. 84
B.4 COPYING IN QUANTITY ............................................................................................................................ 84
B.5 MODIFICATIONS........................................................................................................................................... 85
B.6 COMBINING DOCUMENTS ....................................................................................................................... 87
B.7 COLLECTIONS OF DOCUMENTS ............................................................................................................ 87
B.8 AGGREGATION WITH INDEPENDENT WORKS .............................................................................. 87
© ISO/IEC 2020– All rights reserved iii---------------------- Page: 3 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
B.9 TRANSLATION ............................................................................................................................................... 87
B.10 TERMINATION ............................................................................................................................................ 88
B.11 FUTURE REVISIONS OF THIS LICENSE ........................................................................................... 88
B.12 How to use this License for your documents ................................................................................ 88
List of TablesTable 2-1 Normative References ........................................................................................................... 3
Table 3-1 Standard Library Names ...................................................................................................... 4
Table 7-1 libcups Definition .................................................................................................................. 13
Table 7-2 libcups - CUPS Convenience ABI Function Interfaces ........................................... 13
Table 7-3 libcups - CUPS Convenience ABI Deprecated Function Interfaces ................. 15
Table 7-4 libcupsimage Definition ..................................................................................................... 50
Table 7-5 libcupsimage - CUPS Raster ABI Function Interfaces ........................................... 50
Table 7-6 libcupsimage - CUPS Raster ABI Deprecated Function Interfaces .................. 51
Table 8-1 Commands And Utilities .................................................................................................... 58
Table 10-1 libsane Definition ............................................................................................................... 68
Table 10-2 libsane - libsane interfaces Function Interfaces ................................................... 68
Table A-1 libsane Function Interfaces .............................................................................................. 80
Table A-2 libcups Function Interfaces .............................................................................................. 80
Table A-4 libcupsimage Function Interfaces ................................................................................. 82
iv © ISO/IEC 2020 – All rights reserved---------------------- Page: 4 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International
Electrotechnical Commission) form the specialized system for worldwide standardiza-
tion. National bodies that are members of ISO or IEC participate in the development of
International Standards through technical committees established by the respective or-
ganization to deal with particular fields of technical activity. ISO and IEC technical com-
mittees collaborate in fields of mutual interest. Other international organizations, gov-
ernmental and non-governmental, in liaison with ISO and IEC, also take part in the work.
In the field of information technology, ISO and IEC have established a joint technical
committee, ISO/IEC JTC 1.International Standards are drafted in accordance with the rules given in the
ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards.
Draft International Standards adopted by the joint technical committee are circulated
to national bodies for voting. Publication as an International Standard requires ap-
proval by at least 75 % of the national bodies casting a vote.Attention is drawn to the possibility that some of the elements of this document may
be the subject of patent rights. ISO and IEC shall not be held responsible for identifying
any or all such patent rights.The committee responsible for this document is Joint Technical Committee
ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming languages,
their environments and system software interfaces.This document is a direct adoption of the Linux Standard Base (LSB) 5.0, issued by the
Linux Foundation. ISO/IEC 23360-1 through ISO/IEC 23360-8:2006 were international
standards published under the ISO/IEC/JTC 1 Publicly Available Specification process.
This document, and others in the series, are published under the GNU Free Documen-
tation License (See Annex B).This is version 1.0 of the Linux Standard Base (LSB) imaging specifications generic part.
This standard replaces portions of ISO/IEC 23360-1:2006 Linux Standard Base, which
is cancelled and replaced by ISO/IEC 23360-1-1 through ISO/IEC 23360-1-5. Thegeneral parts and the other (processor specific) parts of the original Linux Standard
Base are also subdivided as follows:• The common definitions ISO/IEC 23360-1-1;
• The core specification generic part ISO/IEC 23360-1-2;
• The desktop specification generic part ISO/IEC 23360-1-3;
• The languages specification generic part ISO/IEC 23360-1-4;
• The imaging specification generic part ISO/IEC 23360-1-5 (this document);
• The Intel X86-32 architecture core and desktop specification in ISO/IEC 23360-2-
2 and ISO/IEC 23360-2-3 respectively;• The Intel IA64 (Itanium) architecture core and desktop specification in ISO/IEC
23360-3-2 and ISO/IEC 23360-3-3 respectively;• The AMD64 (X86-64) architecture core and desktop specification in ISO/IEC
23360-4-2 and ISO/IEC 23360-4-3 respectively;
• The PowerPC 32 architecture core and desktop specification in ISO/IEC 23360-5-
2 and ISO/IEC 23360-5-3 respectively;
• The PowerPC 64 architecture core and desktop specification in ISO/IEC 23360-6-
2 and ISO/IEC 23360-6-3 respectively;
• The IBM S390 architecture core and desktop specification in ISO/IEC 23360-7-2
and ISO/IEC 23360-7-3 respectively; and
© ISO/IEC 2020– All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
• The IBM S390X architecture core and desktop specification in ISO/IEC
23360-8-2 and ISO/IEC 23360-8-3 respectively.
vi © ISO/IEC 2020 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
Status of this Document
This is a released specification, version 5.0. Other documents may supersede or
augment this specification.
A list of current released Linux Standard Base (LSB) specifications is available at
http://refspecs.linuxbase.org (http://refspecs.linuxbase.org/).If you wish to make comments regarding this document in a manner that is
tracked by the LSB project, please submit them using our public bug database at
http://bugs.linuxbase.org. Please enter your feedback, carefully indicating the title
of the section for which you are submitting feedback, and the volume and versionof the specification where you found the problem, quoting the incorrect text if
appropriate. If you are suggesting a new feature, please indicate what the
problem you are trying to solve is. That is more important than the solution, in
fact.
If you do not have or wish to create a bug database account then you can also e-
mail feedback to (subscribe
(http://lists.linuxfoundation.org/mailman/listinfo/lsb-discuss), archives
(http://lists.linuxfoundation.org/pipermail/lsb-discuss/)), and arrangements will
be made to transpose the comments to our public bug database.© ISO/IEC 2020– All rights reserved vii
---------------------- Page: 7 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
Introduction
The LSB defines a binary interface for application programs that are compiled and
packaged for LSB-conforming implementations on many different hardwarearchitectures. A binary specification must include information specific to the
computer processor architecture for which it is intended. To avoid the complexity
of conditional descriptions, the specification has instead been divided into generic
parts which are augmented by one of several architecture-specific parts,depending on the target processor architecture; the generic part will indicate
when reference must be made to the architecture part, and vice versa.
This document should be used in conjunction with the documents it references.
This document enumerates the system components it includes, but descriptions
of those components may be included entirely or partly in this document, partly
in other documents, or entirely in other reference documents. For example, the
section that describes system service routines includes a list of the system routines
supported in this interface, formal declarations of the data structures they usethat are visible to applications, and a pointer to the underlying referenced
specification for information about the syntax and semantics of each call. Only
those routines not described in standards referenced by this document, or
extensions to those standards, are described in the detail. Information referenced
in this way is as much a part of this document as is the information explicitlyincluded here.
The specification carries a version number of either the form x.y or x.y.z. This
version number carries the following meaning:
1. The first number (x) is the major version number. Versions sharing the same
major version number shall be compatible in a backwards direction; that is,
a newer version shall be compatible with an older version. Any deletion of a
library results in a new major version number. Interfaces marked as
deprecated may be removed from the specification at a major version
change.
2. The second number (y) is the minor version number. Libraries and individual
interfaces may be added, but not removed. Interfaces may be marked as
deprecated at a minor version change. Other minor changes may be
permitted at the discretion of the LSB workgroup.
3. The third number (z), if present, is the editorial level. Only editorial changes
should be included in such versions.Since this specification is a descriptive Application Binary Interface, and not a
source level API specification, it is not possible to make a guarantee of 100%backward compatibility between major releases. However, it is the intent that
those parts of the binary interface that are visible in the source level API will
remain backward compatible from version to version, except where a featuremarked as "Deprecated" in one release may be removed from a future release.
Implementors are strongly encouraged to make use of symbol versioning to
permit simultaneous support of applications conforming to different releases of
this specification.
LSB is a trademark of the Linux Foundation. Developers of applications or
implementations interested in using the trademark should see the Linux
Foundation Certification Policy for details.
viii © ISO/IEC 2020 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
I Introductory Elements
© ISO/IEC 2020 – All rights reserved 1
---------------------- Page: 9 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
1 Scope
1.1 General
The Linux Standard Base (LSB) defines a system interface for compiled
applications and a minimal environment for support of installation scripts. Its
purpose is to enable a uniform industry standard environment for high-volume
applications conforming to the LSB.
These specifications are composed of two basic parts: a common part describing
those parts of the interface that remain constant across all implementations of
the LSB, and an architecture-specific part describing the parts of the interface that
vary by processor architecture. Together, the common part and the relevantarchitecture-specific part for a single hardware architecture provide a complete
interface specification for compiled application programs on systems that share
a common hardware architecture.
The LSB contains both a set of Application Program Interfaces (APIs) and
Application Binary Interfaces (ABIs). APIs may appear in the source code of
portable applications, while the compiled binary of that application may use the
larger set of ABIs. A conforming implementation provides all of the ABIs listed
here. The compilation system may replace (e.g. by macro definition) certain APIs
with calls to one or more of the underlying binary interfaces, and may insert calls
to binary interfaces as needed.The LSB is primarily a binary interface definition. Not all of the source level APIs
available to applications may be contained in this specification.1.2 Module Specific Scope
This is the Imaging module of the Linux Standard Base (LSB). This module provides
the fundamental system interfaces, libraries, and runtime environment uponwhich conforming applications and libraries requiring the LSB Imaging module
depend.
Interfaces described in LSB Imaging are mandatory except where explicitly listed
otherwise. Interfaces described in the LSB Imaging module supplement those
described in the LSB Core module. They do not depend on other LSB modules.
2 © ISO/IEC 2020 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
2 Normative References
The specifications listed below are referenced in whole or in part by the LSB
Imaging specification. Such references may be normative or informative; a
reference to specification shall only be considered normative if it is explicitly cited
as such. The LSB Imaging specification may make normative references to aportion of these specifications (that is, to define a specific function or group of
functions); in such cases, only the explicitly referenced portion of the specification
is to be considered normative.Table 2-1 Normative References
Name Title URL
CUPS API Reference CUPS 1.2 API Reference http://www.cups.org/do
cumentation.php/doc-
1.2/
Filesystem Hierarchy Filesystem Hierarchy http://refspecs.linuxbas
Standard Standard (FHS) 3.0 e.org/fhs
ISO C (1999) ISO/IEC 9899:1999 -
Programming
Languages -- C
PPD Specification PostScript Printer http://partners.adobe.c
Description File Format om/public/developer/e
Specification version 4.3 n/ps/5003.PPD_Spec_v4.
3.pdf
PPD Specification Update to PPD http://partners.adobe.c
Update Specification Version om/public/developer/e
4.3 n/ps/5645.PPD_Update.
SANE Standard Version SANE Standard Version http://www.sane-
1.04 1.04 project.org/html/
© ISO/IEC 2020 – All rights reserved 3
---------------------- Page: 11 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
3 Requirements
3.1 Relevant Libraries
The libraries listed in Table 3-1 shall be available on a Linux Standard Base system,
with the specified runtime names. This list may be supplemented or amended byan architecture-specific specification.
Table 3-1 Standard Library Names
Library Runtime Name
libcups libcups.so.2
libcupsimage libcupsimage.so.2
libsane libsane.so.1
These libraries will be in an implementation-defined directory which the dynamic
linker shall search by default.
4 © ISO/IEC 2020 – All rights reserved
---------------------- Page: 12 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
4 Terms and Definitions
For the purposes of this document, the terms given in ISO/IEC Directives, Part 2,
Annex H and the following apply.archLSB
Some LSB specification documents have both a generic, architecture-neutral
part and an architecture-specific part. The latter describes elements whose
definitions may be unique to a particular processor architecture. The term
archLSB may be used in the generic part to refer to the corresponding section
of the architecture-specific part.
Binary Standard, ABI
The total set of interfaces that are available to be used in the compiled binary
code of a conforming application, including the run-time details such ascalling conventions, binary format, C++ name mangling, etc.
Implementation-defined
Describes a value or behavior that is not defined by this document but is
selected by an implementor. The value or behavior may vary among
implementations that conform to this document. An application should not
rely on the existence of the value or behavior. An application that relies on
such a value or behavior cannot be assured to be portable across conforming
implementations. The implementor shall document such a value or behavior
so that it can be used correctly by an application.
Shell Script
A file that is read by an interpreter (e.g., awk). The first line of the shell script
includes a reference to its interpreter binary.Source Standard, API
The total set of interfaces that are available to be used in the source code of
a conforming application. Due to translations, the Binary Standard and theSource Standard may contain some different interfaces.
Undefined
Describes the nature of a value or behavior not defined by this document
which results from use of an invalid program construct or invalid data input.
The value or behavior may vary among implementations that conform to this
document. An application should not rely on the existence or validity of the
value or behavior. An application that relies on any particular value or
behavior cannot be assured to be portable across conforming
implementations.
Unspecified
Describes the nature of a value or behavior not specified by this document
which results from use of a valid program construct or valid data input. The
value or behavior may vary among implementations that conform to this
document. An application should not rely on the existence or validity of the
value or behavior. An application that relies on any particular value or
© ISO/IEC 2020 – All rights reserved 5
---------------------- Page: 13 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
behavior cannot be assured to be portable across conforming
implementations.
In addition, for the portions of this specification which build on IEEE Std 1003.1-
2001, the definitions given in IEEE Std 1003.1-2001, Base Definitions, Chapter 3apply.
6 © ISO/IEC 2020 – All rights reserved
---------------------- Page: 14 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
5 Documentation Conventions
Throughout this document, the following typographic conventions are used:
function()
the name of a function
command
the name of a command or utility
CONSTANT
a constant value
parameter
a parameter
variable
a variable
Throughout this specification, several tables of interfaces are presented. Each
entry in these tables has the following format:
name
the name of the interface
(symver)
An optional symbol version identifier, if required.
[refno]
A reference number indexing the table of referenced specifications that
follows this table.
For example,
forkpty(GLIBC_2.0) [SUSv4]
refers to the interface named forkpty() with symbol version GLIBC_2.0 that is
defined in the reference indicated by the tag SUSv4.
Note: For symbols with versions which differ between architectures, the symbol
versions are defined in the architecture specific parts of of this module specification
only. In the generic part, they will appear without symbol versions.© ISO/IEC 2020 – All rights reserved 7
---------------------- Page: 15 ----------------------
ISO/IEC DIS 23360-1-5:2020(E)
6 PPD Format Extensions
The Postscript Printer Description (PPD) format is used in a text file to describe
device capabilities for a printing device. PPD files shall conform to the formatdescribed by PPD Specification and PPD Specification Update. In addition, several
extensions to the standard attribute list are recognized, as listed below. The"cupsVersion" attribute is required in a compliant PPD, while the other attributes
are optional.cupsColorProfile
This string attribute specifies an sRGB-based color profile consisting of
gamma and density controls and a 3x3 CMY color transform matrix.
The attribute has the following parameter usage:
*cupsColorProfile Resolution/MediaType: "density gamma m00 m01 m02
m10 m11 m12 m20 m21 m22"
The Resolution and MediaType values may be "-" to act as a wildcard.
Otherwise, they must match one of the Resolution or MediaType attributes
defined in the PPD file.
The density and gamma values define the gamma and density adjustment
function such that (in terms of C math):
f(x) = density * pow(x, gamma)
The m00 through m22 values define a 3x3 transformation matrix for the CMY
color values. The density function is applied after the CMY transformation:
| m00 m01 m02 | | m10 m11 m12 | | m20 m21 m22 |
cupsFax
This boolean
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.