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 TS 23360-1-6 - Linux Standard Base (LSB)
English language
525 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

TECHNICAL ISO/IEC TS
SPECIFICATION 23360-1-6
First edition
2021-08
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 TS 23360-1-6:2021(E)
ISO/IEC 2021
---------------------- Page: 1 ----------------------
ISO/IEC TS 23360-1-6: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-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.

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 TS 23360-1-6:2021(E)
Contents

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

Introduction .................................................................................................................................................................... vi

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

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

B.1 PREAMBLE ............................................................................................................................................ 520

B.2 APPLICABILITY AND DEFINITIONS .......................................................................................... 520

B.3 VERBATIM COPYING ........................................................................................................................ 521

B.4 COPYING IN QUANTITY................................................................................................................... 521

B.5 MODIFICATIONS ................................................................................................................................. 522

iv © 2021 ISO/IEC – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC TS 23360-1-6:2021(E)

B.6 COMBINING DOCUMENTS ............................................................................................................. 523

B.7 COLLECTIONS OF DOCUMENTS .................................................................................................. 524

B.8 AGGREGATION WITH INDEPENDENT WORKS .................................................................... 524

B.9 TRANSLATION ..................................................................................................................................... 524

B.10 TERMINATION .................................................................................................................................. 524

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

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

© 2021 ISO/IEC – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
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 vi
---------------------- Page: 6 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
I Introductory Elements
© 2021 ISO/IEC – All rights reserved 1
---------------------- Page: 7 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
1 Scope
The Trial Use Specification defines components which are not required parts of
the LSB Specification.
2 © 2021 ISO/IEC – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
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
---------------------- Page: 9 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
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
---------------------- Page: 10 ----------------------
ISO/IEC TS 23360-1-6:2021(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
behavior cannot be assured to be portable across conforming
implementations.
© 2021 ISO/IEC – All rights reserved 5
---------------------- Page: 11 ----------------------
ISO/IEC TS 23360-1-6:2021(E)

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
---------------------- Page: 12 ----------------------
ISO/IEC TS 23360-1-6:2021(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.
© 2021 ISO/IEC – All rights reserved 7
---------------------- Page: 13 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
II PNG15 library
8 © 2021 ISO/IEC – All rights reserved
---------------------- Page: 14 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
6 Libraries
6.1 Interfaces for libpng15

Table 6-1 defines the library name and shared object name for the libpng15 library

Table 6-1 libpng15 Definition
Library: libpng15
SONAME: libpng15.so.15

The behavior of the interfaces in this library is specified by the following specifi-

cations:
[LSB] This Specification
6.1.1 libpng15 interfaces
6.1.1.1 Interfaces for libpng15 interfaces
An LSB conforming implementation shall provide the generic functions for

libpng15 interfaces specified in Table 6-2, with the full mandatory functionality

as described in the referenced underlying specification.
Table 6-2 libpng15 - libpng15 interfaces Function Interfaces
png_access_version_nu png_benign_error(PNG png_build_grayscale_p
mber(PNG15_0) [LSB] 15_0) [LSB] alette(PNG15_0) [LSB]
png_calloc(PNG15_0) png_chunk_benign_err png_chunk_error(PNG
[LSB] or(PNG15_0) [LSB] 15_0) [LSB]
png_chunk_warning(P png_convert_from_stru png_convert_from_time
NG15_0) [LSB] ct_tm(PNG15_0) [LSB] _t(PNG15_0) [LSB]
png_convert_to_rfc1123 png_create_info_struct( png_create_read_struct(
(PNG15_0) [LSB] PNG15_0) [LSB] PNG15_0) [LSB]
png_create_read_struct png_create_write_struct png_create_write_struct
_2(PNG15_0) [LSB] (PNG15_0) [LSB] _2(PNG15_0) [LSB]
png_data_freer(PNG15 png_destroy_info_struc png_destroy_read_stru
_0) [LSB] t(PNG15_0) [LSB] ct(PNG15_0) [LSB]
png_destroy_write_stru png_error(PNG15_0) png_free(PNG15_0)
ct(PNG15_0) [LSB] [LSB] [LSB]
png_free_data(PNG15_ png_free_default(PNG1 png_get_IHDR(PNG15
0) [LSB] 5_0) [LSB] _0) [LSB]
png_get_PLTE(PNG15_ png_get_bKGD(PNG15 png_get_bit_depth(PN
0) [LSB] _0) [LSB] G15_0) [LSB]
png_get_cHRM(PNG15 png_get_cHRM_XYZ(P png_get_cHRM_XYZ_fi
_0) [LSB] NG15_0) [LSB] xed(PNG15_0) [LSB]
png_get_cHRM_fixed(P png_get_channels(PNG png_get_chunk_cache_
NG15_0) [LSB] 15_0) [LSB] max(PNG15_0) [LSB]
© 2021 ISO/IEC – All rights reserved 9
---------------------- Page: 15 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
png_get_chunk_malloc png_get_color_type(PN png_get_compression_
_max(PNG15_0) [LSB] G15_0) [LSB] buffer_size(PNG15_0)
[LSB]
png_get_compression_t png_get_copyright(PN png_get_current_pass_
ype(PNG15_0) [LSB] G15_0) [LSB] number(PNG15_0)
[LSB]
png_get_current_row_n png_get_error_ptr(PNG png_get_filter_type(PN
umber(PNG15_0) [LSB] 15_0) [LSB] G15_0) [LSB]
png_get_gAMA(PNG15 png_get_gAMA_fixed( png_get_hIST(PNG15_0
_0) [LSB] PNG15_0) [LSB] ) [LSB]
png_get_header_ver(P png_get_header_versio png_get_iCCP(PNG15_
NG15_0) [LSB] n(PNG15_0) [LSB] 0) [LSB]
png_get_image_height( png_get_image_width( png_get_int_32(PNG15
PNG15_0) [LSB] PNG15_0) [LSB] _0) [LSB]
png_get_interlace_type( png_get_io_chunk_nam png_get_io_chunk_type
PNG15_0) [LSB] e(PNG15_0) [LSB] (PNG15_0) [LSB]
png_get_io_ptr(PNG15 png_get_io_state(PNG1 png_get_libpng_ver(PN
_0) [LSB] 5_0) [LSB] G15_0) [LSB]
png_get_mem_ptr(PNG png_get_oFFs(PNG15_0 png_get_pCAL(PNG15
15_0) [LSB] ) [LSB] _0) [LSB]
png_get_pHYs(PNG15_ png_get_pHYs_dpi(PN png_get_pixel_aspect_r
0) [LSB] G15_0) [LSB] atio(PNG15_0) [LSB]
png_get_pixel_aspect_r png_get_pixels_per_inc png_get_pixels_per_me
atio_fixed(PNG15_0) h(PNG15_0) [LSB] ter(PNG15_0) [LSB]
[LSB]
png_get_progressive_pt png_get_rgb_to_gray_st png_get_rowbytes(PN
r(PNG15_0) [LSB] atus(PNG15_0) [LSB] G15_0) [LSB]
png_get_rows(PNG15_ png_get_sBIT(PNG15_0 png_get_sCAL(PNG15_
0) [LSB] ) [LSB] 0) [LSB]
png_get_sCAL_fixed(P png_get_sCAL_s(PNG1 png_get_sPLT(PNG15_
NG15_0) [LSB] 5_0) [LSB] 0) [LSB]
png_get_sRGB(PNG15_ png_get_signature(PN png_get_tIME(PNG15_
0) [LSB] G15_0) [LSB] 0) [LSB]
png_get_tRNS(PNG15_ png_get_text(PNG15_0) png_get_uint_16(PNG1
0) [LSB] [LSB] 5_0) [LSB]
png_get_uint_31(PNG1 png_get_uint_32(PNG1 png_get_unknown_chu
5_0) [LSB] 5_0) [LSB] nks(PNG15_0) [LSB]
png_get_user_chunk_pt png_get_user_height_m png_get_user_transfor
r(PNG15_0) [LSB] ax(PNG15_0) [LSB] m_ptr(PNG15_0) [LSB]
png_get_user_width_m png_get_valid(PNG15_ png_get_x_offset_inche
ax(PNG15_0) [LSB] 0) [LSB] s(PNG15_0) [LSB]
png_get_x_offset_inche png_get_x_offset_micro png_get_x_offset_pixels
s_fixed(PNG15_0) [LSB] ns(PNG15_0) [LSB] (PNG15_0) [LSB]
10 © 2021 ISO/IEC – All rights reserved
---------------------- Page: 16 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
png_get_x_pixels_per_i png_get_x_pixels_per_ png_get_y_offset_inche
nch(PNG15_0) [LSB] meter(PNG15_0) [LSB] s(PNG15_0) [LSB]
png_get_y_offset_inche png_get_y_offset_micro png_get_y_offset_pixels
s_fixed(PNG15_0) [LSB] ns(PNG15_0) [LSB] (PNG15_0) [LSB]
png_get_y_pixels_per_i png_get_y_pixels_per_ png_handle_as_unkno
nch(PNG15_0) [LSB] meter(PNG15_0) [LSB] wn(PNG15_0) [LSB]
png_info_init_3(PNG15 png_init_io(PNG15_0) png_longjmp(PNG15_0
_0) [LSB] [LSB] ) [LSB]
png_malloc(PNG15_0) png_malloc_default(PN png_malloc_warn(PNG
[LSB] G15_0) [LSB] 15_0) [LSB]
png_permit_mng_featu png_process_data(PNG png_process_data_paus
res(PNG15_0) [LSB] 15_0) [LSB] e(PNG15_0) [LSB]
png_process_data_skip( png_progressive_combi png_read_end(PNG15_
PNG15_0) [LSB] ne_row(PNG15_0) 0) [LSB]
[LSB]
png_read_image(PNG1 png_read_info(PNG15_ png_read_png(PNG15_
5_0) [LSB] 0) [LSB] 0) [LSB]
png_read_row(PNG15_ png_read_rows(PNG15 png_read_update_info(
0) [LSB] _0) [LSB] PNG15_0) [LSB]
png_reset_zstream(PN png_save_int_32(PNG1 png_save_uint_16(PNG
G15_0) [LSB] 5_0) [LSB] 15_0) [LSB]
png_save_uint_32(PNG png_set_IHDR(PNG15_ png_set_PLTE(PNG15_
15_0) [LSB] 0) [LSB] 0) [LSB]
png_set_add_alpha(PN png_set_alpha_mode(P png_set_alpha_mode_fi
G15_0) [LSB] NG15_0) [LSB] xed(PNG15_0) [LSB]
png_set_bKGD(PNG15 png_set_background(P png_set_background_fi
_0) [LSB] NG15_0) [LSB] xed(PNG15_0) [LSB]
png_set_benign_errors( png_set_bgr(PNG15_0) png_set_cHRM(PNG15
PNG15_0) [LSB] [LSB] _0) [LSB]
png_set_cHRM_XYZ(P png_set_cHRM_XYZ_fi png_set_cHRM_fixed(P
NG15_0) [LSB] xed(PNG15_0) [LSB] NG15_0) [LSB]
png_set_check_for_inva png_set_chunk_cache_ png_set_chunk_malloc_
lid_index(PNG15_0) max(PNG15_0) [LSB] max(PNG15_0) [LSB]
[LSB]
png_set_compression_b png_set_compression_l png_set_compression_
uffer_size(PNG15_0) evel(PNG15_0) [LSB] mem_level(PNG15_0)
[LSB] [LSB]
png_set_compression_ png_set_compression_s png_set_compression_
method(PNG15_0) trategy(PNG15_0) [LSB] window_bits(PNG15_0)
[LSB] [LSB]
png_set_crc_action(PN png_set_error_fn(PNG1 png_set_expand(PNG1
G15_0) [LSB] 5_0) [LSB] 5_0) [LSB]
© 2021 ISO/IEC – All rights reserved 11
---------------------- Page: 17 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
png_set_expand_16(PN png_set_expand_gray_ png_set_filler(PNG15_0
G15_0) [LSB] 1_2_4_to_8(PNG15_0) ) [LSB]
[LSB]
png_set_filter(PNG15_0 png_set_filter_heuristic png_set_filter_heuristic
) [LSB] s(PNG15_0) [LSB] s_fixed(PNG15_0) [LSB]
png_set_flush(PNG15_0 png_set_gAMA(PNG15 png_set_gAMA_fixed(P
) [LSB] _0) [LSB] NG15_0) [LSB]
png_set_gamma(PNG1 png_set_gamma_fixed( png_set_gray_to_rgb(P
5_0) [LSB] PNG15_0) [LSB] NG15_0) [LSB]
png_set_hIST(PNG15_0 png_set_iCCP(PNG15_ png_set_interlace_hand
) [LSB] 0) [LSB] ling(PNG15_0) [LSB]
png_set_invalid(PNG15 png_set_invert_alpha(P png_set_invert_mono(P
_0) [LSB] NG15_0) [LSB] NG15_0) [LSB]
png_set_keep_unknow png_set_longjmp_fn(P png_set_mem_fn(PNG1
n_chunks(PNG15_0) NG15_0) [LSB] 5_0) [LSB]
[LSB]
png_set_oFFs(PNG15_0 png_set_pCAL(PNG15_ png_set_pHYs(PNG15_
) [LSB] 0) [LSB] 0) [LSB]
png_set_packing(PNG1 png_set_packswap(PN png_set_palette_to_rgb(
5_0) [LSB] G15_0) [LSB] PNG15_0) [LSB]
png_set_progressive_re png_set_quantize(PNG png_set_read_fn(PNG1
ad_fn(PNG15_0) [LSB] 15_0) [LSB] 5_0) [LSB]
png_set_read_status_fn png_set_read_user_chu png_set_read_user_tran
(PNG15_0) [LSB] nk_fn(PNG15_0) [LSB] sform_fn(PNG15_0)
[LSB]
png_set_rgb_to_gray(P png_set_rgb_to_gray_fi png_set_rows(PNG15_0
NG15_0) [LSB] xed(PNG15_0) [LSB] ) [LSB]
png_set_sBIT(PNG15_0 png_set_sCAL(PNG15_ png_set_sCAL_fixed(P
) [LSB] 0) [LSB] NG15_0) [LSB]
png_set_sCAL_s(PNG1 png_set_sPLT(PNG15_ png_set_sRGB(PNG15_
5_0) [LSB] 0) [LSB] 0) [LSB]
png_set_sRGB_gAMA_ png_set_scale_16(PNG1 png_set_shift(PNG15_0
and_cHRM(PNG15_0) 5_0) [LSB] ) [LSB]
[LSB]
png_set_sig_bytes(PNG png_set_strip_16(PNG1 png_set_strip_alpha(P
15_0) [LSB] 5_0) [LSB] NG15_0) [LSB]
png_set_swap(PNG15_ png_set_swap_alpha(P png_set_tIME(PNG15_0
0) [LSB] NG15_0) [LSB] ) [LSB]
png_set_tRNS(PNG15_ png_set_tRNS_to_alpha png_set_text(PNG15_0)
0) [LSB] (PNG15_0) [LSB] [LSB]
png_set_text_compressi png_set_text_compressi png_set_text_compressi
on_level(PNG15_0) on_mem_level(PNG15_ on_method(PNG15_0)
[LSB] 0) [LSB] [LSB]
12 © 2021 ISO/IEC – All rights reserved
---------------------- Page: 18 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
png_set_text_compressi png_set_text_compressi png_set_unknown_chu
on_strategy(PNG15_0) on_window_bits(PNG1 nk_location(PNG15_0)
[LSB] 5_0) [LSB] [LSB]
png_set_unknown_chu png_set_user_limits(PN png_set_user_transfor
nks(PNG15_0) [LSB] G15_0) [LSB] m_info(PNG15_0) [LSB]
png_set_write_fn(PNG1 png_set_write_status_f png_set_write_user_tra
5_0) [LSB] n(PNG15_0) [LSB] nsform_fn(PNG15_0)
[LSB]
png_sig_cmp(PNG15_0 png_start_read_image( png_warning(PNG15_0
) [LSB] PNG15_0) [LSB] ) [LSB]
png_write_chunk(PNG png_write_chunk_data( png_write_chunk_end(
15_0) [LSB] PNG15_0) [LSB] PNG15_0) [LSB]
png_write_chunk_start( png_write_end(PNG15 png_write_flush(PNG1
PNG15_0) [LSB] _0) [LSB] 5_0) [LSB]
png_write_image(PNG png_write_info(PNG15 png_write_info_before_
15_0) [LSB] _0) [LSB] PLTE(PNG15_0) [LSB]
png_write_png(PNG15 png_write_row(PNG15 png_write_rows(PNG1
_0) [LSB] _0) [LSB] 5_0) [LSB]
png_write_sig(PNG15_
0) [LSB]
An LSB conforming implementation shall provide the generic deprecated

functions for libpng15 interfaces specified in Table 6-3, with the full mandatory

functionality as described in the referenced underlying specification.
Note: These interfaces are deprecated, and applications should avoid using them.
These interfaces may be withdrawn in future releases of this specification.
Table 6-3 libpng15 - libpng15 interfaces Deprecated Function Interfaces
png_get_io_chunk_nam
e(PNG15_0) [LSB]
6.2 Interface Definitions for libpng15
The interfaces defined on the following pages are included in libpng15 and are
defined by this specification. Unless otherwise noted, these interfaces shall be
included in the source standard.

Other interfaces listed in Section 6.1 shall behave as described in the referenced

base document.
© 2021 ISO/IEC – All rights reserved 13
---------------------- Page: 19 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
png_access_version_number
Name
png_access_version_number — return version of the run-time library
Synopsis
#include
png_uint_32 png_access_version_number(void);
Description
png_access_version_number() returns version of the libpng15 library available at
run-time.
Return Value
png_access_version_number() returns integer constructed from the major
version, minor version with leading zero and leading number with leading zero.
For example, the version number for version 1.2.8 is 10208.
png_convert_from_struct_tm
Name
png_convert_from_struct_tm — convert struct tm to png_time
Synopsis
#include
void png_convert_from_struct_tm(png_timep ptime, struct tm * ttime);
Description

This interface shall convert from the struct tm time format to the png_time format.

The parameter ttime shall specify the struct tm value to convert to png_time
format.
The output parameter ptime shall contain the converted value.
png_convert_from_time_t
Name
png_convert_from_time_t — convert time_t to png_time
Synopsis
#include
void png_convert_from_time_t(png_timep ptime, time_t ttime);
Description
This interface shall convert from the time_t time format to the png_time format.

The parameter ttime shall specify the time_t value to convert to png_time format.

The output parameter ptime shall contain the converted value.
14 © 2021 ISO/IEC – All rights reserved
---------------------- Page: 20 ----------------------
ISO/IEC TS 23360-1-6:2021(E)
png_create_info_struct
Name
png_create_info_struct — allocate and initialize a png_info structure
Synopsis
#include
png_infop png_create_info_struct(png_structp png_ptr);
Description
png_create_info_struct() shall allocate and initialize a png_info structure.
Return Value

Returns the pointer to png_info structure. Returns NULL if it fails to create the

...

Questions, Comments and Discussion

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