Linux Standard Base (LSB)

Noyau de base normalisé Linux (LSB)

General Information

Status
Published
Current Stage
4060 - Close of voting
Start Date
09-May-2020
Completion Date
08-May-2020
Ref Project

RELATIONS

Buy Standard

Draft
ISO/IEC DIS 23360-1-5 - Linux Standard Base (LSB)
English language
88 pages
sale 15% off
Preview
sale 15% off
Preview

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 Tables

Table 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. The

general 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 version
of 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 hardware
architectures. 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 use
that 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 explicitly
included 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 feature
marked 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 relevant
architecture-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 upon
which 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 a

portion 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.
pdf
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 by
an 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 as
calling 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 the
Source 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 3
apply.
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 format

described 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.