master
 1/* Header file for monetary value formatting functions.
 2   Copyright (C) 1996-2025 Free Software Foundation, Inc.
 3   This file is part of the GNU C Library.
 4
 5   The GNU C Library is free software; you can redistribute it and/or
 6   modify it under the terms of the GNU Lesser General Public
 7   License as published by the Free Software Foundation; either
 8   version 2.1 of the License, or (at your option) any later version.
 9
10   The GNU C Library is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   Lesser General Public License for more details.
14
15   You should have received a copy of the GNU Lesser General Public
16   License along with the GNU C Library; if not, see
17   <https://www.gnu.org/licenses/>.  */
18
19#ifndef	_MONETARY_H
20#define	_MONETARY_H	1
21
22#include <features.h>
23
24/* Get needed types.  */
25#define __need_size_t
26#include <stddef.h>
27#include <bits/types.h>
28
29#ifndef	__ssize_t_defined
30typedef __ssize_t ssize_t;
31# define __ssize_t_defined
32#endif
33
34
35__BEGIN_DECLS
36
37/* Formatting a monetary value according to the current locale.  */
38extern ssize_t strfmon (char *__restrict __s, size_t __maxsize,
39			const char *__restrict __format, ...)
40     __THROW __attribute_format_strfmon__ (3, 4)
41     __attr_access ((__write_only__, 1, 2));
42
43#ifdef __USE_XOPEN2K8
44/* POSIX.1-2008 extended locale interface (see locale.h).  */
45# include <bits/types/locale_t.h>
46
47/* Formatting a monetary value according to the given locale.  */
48extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
49			  locale_t __loc,
50			  const char *__restrict __format, ...)
51     __THROW __attribute_format_strfmon__ (4, 5)
52     __attr_access ((__write_only__, 1, 2));
53#endif
54
55#include <bits/floatn.h>
56#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
57# include <bits/monetary-ldbl.h>
58#endif
59
60__END_DECLS
61
62#endif	/* monetary.h */