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-4 - Linux Standard Base (LSB)
English language
192 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 23360-1-4
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-4:
Languages 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-4: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-4: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-4:2020(E)
Linux Standard Base Languages Specification
LSB Languages 5.0
Copyright © 2015 Linux Foundation

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free

Documentation License, Version 1.1; with no Invariant Sections, with no Front-Cover Texts, and with no Back-

Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Portions of the text may be copyrighted by the following parties:
• The Regents of the University of California
• Free Software Foundation
• Ian F. Darwin
• Paul Vixie
• BSDI (now Wind River)
• Jean-loup Gailly and Mark Adler
• Massachusetts Institute of Technology
• Apple Inc.
• Easy Software Products
• artofcode LLC
• Till Kamppeter
• Manfred Wassman
• Python Software Foundation
These excerpts are being used in accordance with their respective licenses.

Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.

UNIX is a registered trademark of The Open Group.

LSB is a trademark of the Linux Foundation in the United States and other countries.

AMD is a trademark of Advanced Micro Devices, Inc.

Intel and Itanium are registered trademarks and Intel386 is a trademark of Intel Corporation.

PowerPC is a registered trademark and PowerPC Architecture is a trademark of the IBM Corporation.

S/390 is a registered trademark of the IBM Corporation.
OpenGL is a registered trademark of Silicon Graphics, Inc.

PAM documentation is Copyright (C) Andrew G. Morgan 1996-9. All rights reserved. Used under the following

conditions:

1. Redistributions of source code must retain the above copyright notice, and the entire

permission notice in its entirety, including the disclaimer of warranties.

2. Redistributions in binary form must reproduce the above copyright notice, this list of

conditions and the following disclaimer in the documentation and/or other materials

provided with the distribution.

3. The name of the author may not be used to endorse or promote products derived

from this software without specific prior written permission.
© ISO/IEC 2020 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)
Contents

Contents ........................................................................................................................................................... iv

List of Tables .................................................................................................................................................. vi

Foreword ....................................................................................................................................................... vii

Status of this Document ............................................................................................................................. ix

Introduction .................................................................................................................................................... x

I Introductory Elements ............................................................................................................................. 1

1 Scope ................................................................................................................................................................ 2

2 Normative References............................................................................................................................... 2

3 Requirements ............................................................................................................................................... 3

3.1 Relevant Libraries ................................................................................................................................ 3

4 Terms and Definitions .............................................................................................................................. 4

5 Documentation Conventions ................................................................................................................. 6

II Python Interpreter ................................................................................................................................... 7

6 Python Interpreter ..................................................................................................................................... 8

6.1 Introduction ............................................................................................................................................ 8

6.2 Python Interpreter Location ............................................................................................................ 8

6.3 Python Interpreter Version .............................................................................................................. 8

6.4 Operators and Functions ................................................................................................................... 8

6.5 Python Modules .................................................................................................................................... 8

6.6 Python Interpreter Command ........................................................................................................ 8

III Perl Interpreter ..................................................................................................................................... 14

7 Perl Interpreter .......................................................................................................................................... 15

7.1 Introduction .......................................................................................................................................... 15

7.2 Perl Interpreter Location ................................................................................................................ 15

7.3 Perl Interpreter Version .................................................................................................................. 15

7.4 Perl Operators and Functions ....................................................................................................... 15

7.5 Perl Modules ......................................................................................................................................... 15

7.6 Perl Interpreter Command ............................................................................................................. 18

IV XML2 library ........................................................................................................................................... 19

8 Libraries ........................................................................................................................................................ 20

8.1 Interfaces for libxml2........................................................................................................................ 20

8.2 Data Definitions for libxml2........................................................................................................... 49

V XSLT library ........................................................................................................................................... 125

9 Libraries ..................................................................................................................................................... 126

9.1 Interfaces for libxslt ........................................................................................................................ 126

9.2 Data Definitions for libxslt ........................................................................................................... 131

VI Package Format and Installation ................................................................................................. 150

10 Software Installation ...................................................................................................................... 151

10.1 Package Dependencies ............................................................................................................... 151

Annex A Alphabetical Listing of Interfaces by Library .............................................................. 152

A.1 libxml2 ........................................................................................................................................................... 152

A.2 libxslt .............................................................................................................................................................. 181

Annex B B GNU Free Documentation License (Informative) ................................................... 187

B.1 PREAMBLE ................................................................................................................................................... 187

B.2 APPLICABILITY AND DEFINITIONS ................................................................................................. 187

B.3 VERBATIM COPYING ............................................................................................................................... 188

B.4 COPYING IN QUANTITY.......................................................................................................................... 188

B.5 MODIFICATIONS ........................................................................................................................................ 189

iv © ISO/IEC 2020 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)

B.6 COMBINING DOCUMENTS .................................................................................................................... 191

B.7 COLLECTIONS OF DOCUMENTS ......................................................................................................... 191

B.8 AGGREGATION WITH INDEPENDENT WORKS ........................................................................... 191

B.9 TRANSLATION ............................................................................................................................................ 191

B.10 TERMINATION ......................................................................................................................................... 192

B.11 FUTURE REVISIONS OF THIS LICENSE ........................................................................................ 192

B.12 How to use this License for your documents ............................................................................. 192

© ISO/IEC 2020 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)
List of Tables

Table 2-1 Informative References ........................................................................................................ 2

Table 3-1 Standard Library Names ...................................................................................................... 3

Table 6-1 Python Modules ....................................................................................................................... 8

Table 7-1 Perl Modules ........................................................................................................................... 15

Table 8-1 libxml2 Definition ................................................................................................................. 20

Table 8-2 libxml2 - The XML C parser and toolkit for XML processing Function

Interfaces ............................................................................................................................................. 20

Table 8-3 libxml2 - The XML C parser and toolkit for XML processing Deprecated

Function Interfaces ......................................................................................................................... 48

Table 8-4 libxml2 - The XML C parser and toolkit for XML processing Data Interfaces

.................................................................................................................................................................. 48

Table 9-1 libxslt Definition ................................................................................................................. 126

Table 9-2 libxslt - libxslt interfaces Function Interfaces ....................................................... 126

Table A-1 libxml2 Function Interfaces .......................................................................................... 152

Table A-2 libxml2 Data Interfaces ................................................................................................... 181

Table A-3 libxslt Function Interfaces ............................................................................................. 181

vi © ISO/IEC 2020 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC DIS 23360-1-4: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 Runtime Lan-

guages (Generic), issued by the Linux Foundation. The previous release of these stand-

ards, 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 docu-

ment, and others in the series, are published under the GNU Free Documentation Li-

cense (See Annex B).

This is version 1.0 of the Linux Standard Base (LSB) languages specification 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 (this document);
• The imaging specification generic part ISO/IEC 23360-1-5;

• 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;
© ISO/IEC 2020 – All rights reserved vii
---------------------- Page: 7 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)
• The IBM S390 architecture core and desktop specification in ISO/IEC 23360-7-2
and ISO/IEC 23360-7-3 respectively; and
• The IBM S390X architecture core and desktop specification in ISO/IEC
23360-8-2 and ISO/IEC 23360-8-3 respectively.
viii © ISO/IEC 2020 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC DIS 23360-1-4: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 ix
---------------------- Page: 9 ----------------------
ISO/IEC DIS 23360-1-4: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.
x © ISO/IEC 2020 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)
© ISO/IEC 2020 – All rights reserved xi
---------------------- Page: 11 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)
I Introductory Elements
© ISO/IEC 2020 – All rights reserved 1
---------------------- Page: 12 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)
1 Scope
The LSB Languages specification defines components for runtime languages
which are found on an LSB conforming system.
2 Normative References
The specifications listed below are referenced in whole or in part by the LSB
Languages 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 Languages 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 Informative References
Name Title URL
ISO C (1999) ISO/IEC 9899:1999 -
Programming
Languages -- C
Perl Core Modules Perl 5.8.8 Core Modules http://perldoc.perl.org/
5.8.8/index-modules-
A.html
Perl Functions Perl 5.8.8 Functions http://perldoc.perl.org/
5.8.8/perlfunc.html
Perl Language Perl 5.8.8 Language http://perldoc.perl.org/
Reference Reference 5.8.8/index-
language.html
Perl Manual Perl 5.8.8 Manual Page http://perldoc.perl.org/
5.8.8/perlrun.html
Perl Operators Perl 5.8.8 Operators and http://perldoc.perl.org/
Precedence 5.8.8/perlop.html
Perl Syntax Perl 5.8.8 Syntax http://perldoc.perl.org/
5.8.8/perlsyn.html
Python Library Python Library http://www.python.org/
Reference Reference Release 2.4.2 doc/2.4.2/lib/lib.html
Python Reference Python Reference http://www.python.org/
Manual Manual Release 2.4.2 doc/2.4.2/ref/ref.html
Reference Manual for Reference Manual for http://xmlsoft.org/html/
libxml2 libxml2 index.html
Reference Manual for Reference Manual for http://xmlsoft.org/xslt/h
libxslt libxslt tml/index.html
2 © ISO/IEC 2020 – All rights reserved
---------------------- Page: 13 ----------------------
ISO/IEC DIS 23360-1-4:2020(E)
3 Requirements

This specification describes runtime language interpreters which shall be found in

specified locations. It also defines a number of runtime modules which shall be in

an implementation-defined directory which the interpreters shall search by
default.
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
the architecture-specific specification.
Table 3-1 Standard Library Names
Library Runtime Name
libxml2 libxml2.so.2
libxslt libxslt.so.1
These libraries will be in an implementation-defined directory which the dynamic
linker shall search by default.
© ISO/IEC 2020 – All rights reserved 3
---------------------- Page: 14 ----------------------
ISO/IEC DIS 23360-1-4: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
4 © ISO/IEC 2020 – All rights reserved
---------------------- Page: 15 ----------------------
ISO/IEC DIS 23360-1-4: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.
© ISO/IEC 2020 – All rights reserved 5
---------------------- Page: 16 ----------------------
ISO/IEC DIS 23360-1-4: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
vari
...

Questions, Comments and Discussion

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