1/* GNU gettext - internationalization aids
2   Copyright (C) 1995-1998, 2000-2003, 2006 Free Software Foundation, Inc.
3
4   This file was written by Peter Miller <millerp@canb.auug.org.au>
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software Foundation,
18   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
19
20#ifndef _WRITE_PO_H
21#define _WRITE_PO_H
22
23#include "message.h"
24
25#include <stdbool.h>
26#include <stdio.h>
27
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33
34/* These functions are used to output a #, flags line.  */
35extern const char *
36       make_format_description_string (enum is_format is_format,
37				       const char *lang, bool debug);
38extern bool
39       significant_format_p (enum is_format is_format);
40
41
42/* These functions output parts of a message, as comments.  */
43extern void
44       message_print_comment (const message_ty *mp, FILE *fp);
45extern void
46       message_print_comment_dot (const message_ty *mp, FILE *fp);
47extern void
48       message_print_comment_filepos (const message_ty *mp, FILE *fp,
49				      bool uniforum, size_t page_width);
50extern void
51       message_print_comment_flags (const message_ty *mp, FILE *fp,
52				    bool debug);
53
54/* These functions set some parameters for use by 'output_format_po.print'.  */
55extern void
56       message_page_width_ignore (void);
57extern void
58       message_print_style_indent (void);
59extern void
60       message_print_style_uniforum (void);
61extern void
62       message_print_style_escape (bool flag);
63
64/* Describes a PO file in .po syntax.  */
65extern DLL_VARIABLE const struct catalog_output_format output_format_po;
66
67
68#ifdef __cplusplus
69}
70#endif
71
72
73#endif /* _WRITE_PO_H */
74