1 /* Writing binary .mo files.
2 Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2023 Free Software Foundation, Inc.
3 Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program 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
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17
18 #ifndef _WRITE_MO_H
19 #define _WRITE_MO_H
20
21 #include <stddef.h>
22 #include <stdbool.h>
23
24 #include "message.h"
25
26 /* True if no conversion to UTF-8 is desired. */
27 extern bool no_convert_to_utf8;
28
29 /* True if the redundant storage of instantiations of system-dependent strings
30 shall be avoided. */
31 extern bool no_redundancy;
32
33 /* Alignment of strings in resulting .mo file. */
34 extern size_t alignment;
35
36 /* True if writing a .mo file in opposite endianness than the host. */
37 extern bool byteswap;
38
39 /* True if no hash table in .mo is wanted. */
40 extern bool no_hash_table;
41
42 /* Write a GNU mo file. mlp is a list containing the messages to be output.
43 domain_name is the domain name, file_name is the desired file name.
44 input_file is the name of the input file.
45 Return 0 if ok, nonzero on error. */
46 extern int
47 msgdomain_write_mo (message_list_ty *mlp,
48 const char *domain_name,
49 const char *file_name,
50 const char *input_file);
51
52 #endif /* _WRITE_MO_H */