Linux Standard Base (LSB)

Noyau de base normalisé Linux (LSB)

General Information

Status
Published
Current Stage
Ref Project

RELATIONS

Buy Standard

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

Standards Content (sample)

INTERNATIONAL ISO/IEC
STANDARD 23360-1-1
First edition
2021-08
Linux Standard Base (LSB) —
Part 1-1:
Common definitions
Reference number
ISO/IEC 23360-1-1:2021(E)
ISO/IEC 2021
---------------------- Page: 1 ----------------------
ISO/IEC 23360-1-1:2021(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2021

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
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2021 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 23360-1-1:2021(E)
Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical

Commission) form the specialized system for worldwide standardization. National bodies that are

members of ISO or IEC participate in the development of International Standards through technical

committees established by the respective organization to deal with particular fields of technical activity.

ISO and IEC technical committees collaborate in fields of mutual interest. Other international

organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the

work.

The procedures used to develop this document and those intended for its further maintenance are

described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the

different types of document should be noted (see www.iso.org/directives or
www.iec.ch/members_experts/refdocs).

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

of any patent rights identified during the development of the document will be in the Introduction and/or

on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC list of patent

declarations received (see patents.iec.ch).

Any trade name used in this document is information given for the convenience of users and does not

constitute an endorsement.

For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and

expressions related to conformity assessment, as well as information about ISO's adherence to the World

Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT),

see www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.

This document was prepared by the Linux Foundation [as Linux Standard Base (LSB): Common

Definitions] and drafted in accordance with its editorial rules. It was assigned to Joint Technical

Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming languages, their

environments and system software interfaces, and adopted by National Bodies.

This first edition of ISO/IEC 23360-1-1 cancels and replaces ISO/IEC 23360-1:2006, which has been

technically revised.

A list of all parts in the ISO/IEC 23660 series can be found on the ISO and IEC websites.

Any feedback or questions on this document should be directed to the user’s national standards body. A

complete listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-

committees.
© ISO/IEC 2021 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 23360-1-1:2021(E)
Contents

Foreword ...................................................................................................................................................... iii

Introduction ............................................................................................................................................. ....v

1 Scope ................................................................................................................................................................ 1

2 Requirements ............................................................................................................................................... 2

2.1 Relevant Libraries ................................................................................................................................ 2

2.2 Relevant Commands ............................................................................................................................ 4

2.3 LSB Implementation Conformance............................................................................................... 5

2.4 LSB Application Conformance ........................................................................................................ 6

3 Terms and Definitions .............................................................................................................................. 8

4 Documentation Conventions ............................................................................................................... 10

5 Relationship To ISO/IEC 9945 POSIX .............................................................................................. 11

6 Relationship To Other Linux Foundation Specifications ......................................................... 12

iv © 2021 ISO/IEC – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 23360-1-1:2021(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.
© 2021 ISO/IEC – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 23360-1-1:2021(E)
1 Scope
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.
The LSB specification set is divided into modules, each of which provides
fundamental system interfaces, libraries, and runtime environment upon which
all conforming applications and libraries using that module depend.
The modules of the Linux Standard Base are:
• LSB Core - core components
• LSB Desktop - desktop related components
• LSB Languages - runtime languages
• LSB Imaging - printing and scanning
• LSB Trial Use - components that are not yet mandatory
Interfaces described in the LSB Core module specification are supplemented by
other LSB module specifications. All other modules depend on the presence of
LSB Core.
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. Whenever a section of the common part is
supplemented by architecture-specific information, the common part includes a

reference to the architecture-specific part. Architecture-specific parts of of an LSB

module specification may also contain additional information that is not
referenced in the common part.
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.
© 2021 ISO/IEC – All rights reserved 1
---------------------- Page: 6 ----------------------
ISO/IEC 23360-1-1:2021(E)
2 Requirements
2.1 Relevant Libraries

The libraries listed in the following tables shall be available on a Linux Standard

Base system, with the specified runtime names. The libraries listed in Table 2-2
are architecture specific, but shall be available on all LSB conforming systems

under a name specified in each Architecture Specific Part of the LSB Core module.

Table 2-1 LSB Core Module Library Names
Library Runtime Name
libcrypt libcrypt.so.1
libdl libdl.so.2
libgcc_s libgcc_s.so.1
libncurses libncurses.so.5
libncursesw libncursesw.so.5
libnspr4 libnspr4.so
libnss3 libnss3.so
libpam libpam.so.0
libpthread libpthread.so.0
librt librt.so.1
libssl3 libssl3.so
libstdcxx libstdc++.so.6
libutil libutil.so.1
libz libz.so.1
Table 2-2 LSB Core Module Library Names which vary by architecture
Library Runtime Name
libc See architecture specific part.
libm See architecture specific part.
proginterp See architecture specific part.
Table 2-3 LSB Desktop Module Library Names
Library Runtime Name
libGL libGL.so.1
libGLU libGLU.so.1
libICE libICE.so.6
libQtCore libQtCore.so.4
libQtGui libQtGui.so.4
2 © 2021 ISO/IEC – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 23360-1-1:2021(E)
Library Runtime Name
libQtNetwork libQtNetwork.so.4
libQtOpenGL libQtOpenGL.so.4
libQtSql libQtSql.so.4
libQtSvg libQtSvg.so.4
libQtXml libQtXml.so.4
libSM libSM.so.6
libX11 libX11.so.6
libXext libXext.so.6
libXft libXft.so.2
libXi libXi.so.6
libXrender libXrender.so.1
libXt libXt.so.6
libXtst libXtst.so.6
libasound libasound.so.2
libatk-1.0 libatk-1.0.so.0
libcairo libcairo.so.2
libcairo-gobject libcairo-gobject.so.2
libcairo-script-interpreter libcairo-script-interpreter.so.2
libfontconfig libfontconfig.so.1
libfreetype libfreetype.so.6
libgdk-x11-2.0 libgdk-x11-2.0.so.0
libgdk_pixbuf-2.0 libgdk_pixbuf-2.0.so.0
libgdk_pixbuf_xlib-2.0 libgdk_pixbuf_xlib-2.0.so.0
libgio-2.0 libgio-2.0.so.0
libglib-2.0 libglib-2.0.so.0
libgmodule-2.0 libgmodule-2.0.so.0
libgobject-2.0 libgobject-2.0.so.0
libgthread-2.0 libgthread-2.0.so.0
libgtk-x11-2.0 libgtk-x11-2.0.so.0
libjpeg libjpeg.so.62
libpango-1.0 libpango-1.0.so.0
libpangocairo-1.0 libpangocairo-1.0.so.0
libpangoft2-1.0 libpangoft2-1.0.so.0
© 2021 ISO/IEC – All rights reserved 3
---------------------- Page: 8 ----------------------
ISO/IEC 23360-1-1:2021(E)
Library Runtime Name
libpangoxft-1.0 libpangoxft-1.0.so.0
libpng12 libpng12.so.0
libtiff libtiff.so.5
libxcb libxcb.so.1
Table 2-4 LSB Imaging Module Library Names
Library Runtime Name
libcups libcups.so.2
libcupsimage libcupsimage.so.
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.