ISO/IEC TS 23360-1-6:2021
(Main)Linux Standard Base (LSB) — Part 1-6: Graphics and Gtk3 specification
Linux Standard Base (LSB) — Part 1-6: Graphics and Gtk3 specification
The Trial Use Specification defines components which are not required parts of the LSB Specification.
Noyau de base normalisé Linux (LSB) — Partie 1-6: Spécification graphique et Gtk3
General Information
Relations
Buy Standard
Standards Content (Sample)
TECHNICAL ISO/IEC TS
SPECIFICATION 23360-1-6
First edition
2021-10
Linux Standard Base (LSB) —
Part 1-6:
Graphics and Gtk3 specification
Noyau de base normalisé Linux (LSB) —
Partie 1-6: Spécification graphique et Gtk3
Reference number
© ISO/IEC 2021
© 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
ISO/IEC 23360-1-6: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): Graphics and gtk3
specification 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 TS 23360-1-6 cancels and replaces ISO/IEC 23360-1:2006, which has been
technically revised.
This document is based on “The GNU Free Documentation License, version 1.1”. The license is available
at https://www.gnu.org/licenses/old-licenses/fdl-1.1.html
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
Contents
Foreword .iii
Introduction . v
I Introductory Elements . 1
1 Scope . 2
2 Normative References. 3
3 Requirements . 4
3.1 TUM Libraries . 4
3.2 Gtk3 Libraries . 4
4 Terms and Definitions . 5
5 Documentation Conventions . 7
II PNG15 library . 8
6 Libraries . 9
6.1 Interfaces for libpng15 . 9
6.2 Interface Definitions for libpng15 . 13
III GTK+ Stack Libraries . 78
7 Libraries . 79
7.1 Introduction . 79
7.2 Interfaces for libgdk-3 . 79
7.3 Data Definitions for libgdk-3 . 91
7.4 Interfaces for libgtk-3 . 171
7.5 Data Definitions for libgtk-3 . 245
Annex A Alphabetical Listing of Interfaces by Library . 446
A.1 libpng15 . 446
A.2 libgdk-3. 450
A.3 libgtk-3 . 459
iv
© 2021 ISO/IEC – All rights reserved
Introduction
The Trial Use Specification describes components which may or may not be
present on an otherwise conforming system. The purpose is to indicate that these
components are on a Standards Track, that is, they are intended to become part
of the LSB Specification in a future edition.
This document should be used in conjunction with the documents it references.
Information referenced in this way is as much a part of this document as is the
information explicitly included here.
© 2021 ISO/IEC – All rights reserved v
I Introductory Elements
© 2021 ISO/IEC – All rights reserved 1
1 Scope
The Trial Use Specification defines components which are not required parts of
the LSB Specification.
2 © 2021 ISO/IEC – All rights reserved
2 Normative References
The specifications listed below are referenced in whole or in part by the Trial Use
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 Trial Use 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
Gdk 3.6.4 Reference Gdk 3.6.4 Reference http://developer.gnom
Manual Manual e.org/gdk3/3.6
Gtk 3.6.4 Reference Gtk 3.6.4 Reference http://developer.gnom
Manual Manual e.org/gtk3/3.6
ISO C (1999) ISO/IEC 9899:1999 -
Programming
Languages -- C
© 2021 ISO/IEC – All rights reserved 3
3 Requirements
3.1 TUM Libraries
The libraries listed in Table 3-1 shall be available on a Linux Standard Base system
which implements the Trial Use TUM module, 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
libpng15 libpng15.so.15
These libraries will be in an implementation-defined directory which the
dynamic linker shall search by default.
3.2 Gtk3 Libraries
The libraries listed in Table 3-2 shall be available on a Linux Standard Base system
which implements the Trial Use Toolkit_Gtk3 module, with the specified runtime
names. This list may be supplemented or amended by the architecture-specific
specification.
Table 3-2 Standard Library Names
Library Runtime Name
libgdk-3 libgdk-3.so.0
libgtk-3 libgtk-3.so.0
These libraries will be in an implementation-defined directory which the
dynamic linker shall search by default.
4 © 2021 ISO/IEC – All rights reserved
4 Terms and Definitions
For the purposes of this document, the terms and definitions given in ISO/IEC
2382, ISO 80000–2, and the following apply.
ISO and IEC maintain terminological databases for use in standardization at the
following addresses:
— ISO Online browsing platform: available at https://www.iso.org/obp
— IEC Electropedia: available at http://www.electropedia.org/
4.1
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.
4.2
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.
4.3
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.
4.4
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.
4.5
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.
© 2021 ISO/IEC – All rights reserved 5
4.6
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.
4.7
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
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 © 2021 ISO/IEC – All rights reserved
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
...
TECHNICAL ISO/IEC TS
SPECIFICATION 23360-1-6
First edition
2021-10
Linux Standard Base (LSB) —
Part 1-6:
Graphics and Gtk3 specification
Noyau de base normalisé Linux (LSB) —
Partie 1-6: Spécification graphique et Gtk3
Reference number
© ISO/IEC 2021
© 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
ISO/IEC 23360-1-6: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): Graphics and gtk3
specification 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 TS 23360-1-6 cancels and replaces ISO/IEC 23360-1:2006, which has been
technically revised.
This document is based on “The GNU Free Documentation License, version 1.1”. The license is available
at https://www.gnu.org/licenses/old-licenses/fdl-1.1.html
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
Contents
Foreword .iii
Introduction . v
I Introductory Elements . 1
1 Scope . 2
2 Normative References. 3
3 Requirements . 4
3.1 TUM Libraries . 4
3.2 Gtk3 Libraries . 4
4 Terms and Definitions . 5
5 Documentation Conventions . 7
II PNG15 library . 8
6 Libraries . 9
6.1 Interfaces for libpng15 . 9
6.2 Interface Definitions for libpng15 . 13
III GTK+ Stack Libraries . 78
7 Libraries . 79
7.1 Introduction . 79
7.2 Interfaces for libgdk-3 . 79
7.3 Data Definitions for libgdk-3 . 91
7.4 Interfaces for libgtk-3 . 171
7.5 Data Definitions for libgtk-3 . 245
Annex A Alphabetical Listing of Interfaces by Library . 446
A.1 libpng15 . 446
A.2 libgdk-3. 450
A.3 libgtk-3 . 459
iv
© 2021 ISO/IEC – All rights reserved
Introduction
The Trial Use Specification describes components which may or may not be
present on an otherwise conforming system. The purpose is to indicate that these
components are on a Standards Track, that is, they are intended to become part
of the LSB Specification in a future edition.
This document should be used in conjunction with the documents it references.
Information referenced in this way is as much a part of this document as is the
information explicitly included here.
© 2021 ISO/IEC – All rights reserved v
I Introductory Elements
© 2021 ISO/IEC – All rights reserved 1
1 Scope
The Trial Use Specification defines components which are not required parts of
the LSB Specification.
2 © 2021 ISO/IEC – All rights reserved
2 Normative References
The specifications listed below are referenced in whole or in part by the Trial Use
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 Trial Use 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
Gdk 3.6.4 Reference Gdk 3.6.4 Reference http://developer.gnom
Manual Manual e.org/gdk3/3.6
Gtk 3.6.4 Reference Gtk 3.6.4 Reference http://developer.gnom
Manual Manual e.org/gtk3/3.6
ISO C (1999) ISO/IEC 9899:1999 -
Programming
Languages -- C
© 2021 ISO/IEC – All rights reserved 3
3 Requirements
3.1 TUM Libraries
The libraries listed in Table 3-1 shall be available on a Linux Standard Base system
which implements the Trial Use TUM module, 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
libpng15 libpng15.so.15
These libraries will be in an implementation-defined directory which the
dynamic linker shall search by default.
3.2 Gtk3 Libraries
The libraries listed in Table 3-2 shall be available on a Linux Standard Base system
which implements the Trial Use Toolkit_Gtk3 module, with the specified runtime
names. This list may be supplemented or amended by the architecture-specific
specification.
Table 3-2 Standard Library Names
Library Runtime Name
libgdk-3 libgdk-3.so.0
libgtk-3 libgtk-3.so.0
These libraries will be in an implementation-defined directory which the
dynamic linker shall search by default.
4 © 2021 ISO/IEC – All rights reserved
4 Terms and Definitions
For the purposes of this document, the terms and definitions given in ISO/IEC
2382, ISO 80000–2, and the following apply.
ISO and IEC maintain terminological databases for use in standardization at the
following addresses:
— ISO Online browsing platform: available at https://www.iso.org/obp
— IEC Electropedia: available at http://www.electropedia.org/
4.1
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.
4.2
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.
4.3
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.
4.4
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.
4.5
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.
© 2021 ISO/IEC – All rights reserved 5
4.6
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.
4.7
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
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 © 2021 ISO/IEC – All rights reserved
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
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.