summaryrefslogtreecommitdiffstats
path: root/debian/gettext-kde/gettext-kde-0.10.35/src/message.h
diff options
context:
space:
mode:
Diffstat (limited to 'debian/gettext-kde/gettext-kde-0.10.35/src/message.h')
-rw-r--r--debian/gettext-kde/gettext-kde-0.10.35/src/message.h129
1 files changed, 129 insertions, 0 deletions
diff --git a/debian/gettext-kde/gettext-kde-0.10.35/src/message.h b/debian/gettext-kde/gettext-kde-0.10.35/src/message.h
new file mode 100644
index 00000000..149b8b38
--- /dev/null
+++ b/debian/gettext-kde/gettext-kde-0.10.35/src/message.h
@@ -0,0 +1,129 @@
+/* GNU gettext - internationalization aids
+ Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+
+ This file was written by Peter Miller <[email protected]>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free SoftwareFoundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#ifndef _MESSAGE_H
+#define _MESSAGE_H
+
+#include "po-lex.h"
+#include "str-list.h"
+
+/* According to Sun's Uniforum proposal the default message domain is
+ named `messages'. */
+#define MESSAGE_DOMAIN_DEFAULT "messages"
+
+
+/* Is current msgid a format string? */
+enum is_c_format
+{
+ undecided,
+ yes,
+ no,
+ possible,
+ impossible
+};
+
+typedef struct message_variant_ty message_variant_ty;
+struct message_variant_ty
+{
+ const char *domain;
+ lex_pos_ty pos;
+ const char *msgstr;
+};
+
+typedef struct message_ty message_ty;
+struct message_ty
+{
+ /* Plain comments (#) appearing before the message. */
+ string_list_ty *comment;
+
+ /* Extracted comments (#.) appearing before the message. */
+ string_list_ty *comment_dot;
+
+ /* File position comments (#:) appearing before the message, one for
+ each unique file position instance, sorted by file name and then
+ by line. */
+ size_t filepos_count;
+ lex_pos_ty *filepos;
+
+ /* Informations from special comments (e.g. generated by msgmerge). */
+ int is_fuzzy;
+ enum is_c_format is_c_format;
+
+ /* Do we want the string to be wrapped in the emitted PO file? */
+ enum is_c_format do_wrap;
+
+ /* The msgid string. */
+ const char *msgid;
+
+ /* The msgstr strings, one for each observed domain in the file. */
+ size_t variant_count;
+ message_variant_ty *variant;
+
+ /* Used for checking that messages have been used, in the msgcmp and
+ msgmerge programs. */
+ int used;
+
+ /* If set the message is obsolete and while writing out it should be
+ commented out. */
+ int obsolete;
+};
+
+message_ty *message_alloc PARAMS ((char *msgid));
+void message_free PARAMS ((message_ty *));
+
+message_variant_ty *message_variant_search PARAMS ((message_ty *mp,
+ const char *domain));
+void message_variant_append PARAMS ((message_ty *mp, const char *domain,
+ const char *msgstr,
+ const lex_pos_ty *pp));
+void message_comment_append PARAMS ((message_ty *, const char *));
+void message_comment_dot_append PARAMS ((message_ty *, const char *));
+message_ty *message_copy PARAMS ((message_ty *));
+message_ty *message_merge PARAMS ((message_ty *def, message_ty *ref));
+void message_comment_filepos PARAMS ((message_ty *, const char *, size_t));
+void message_print_style_indent PARAMS ((void));
+void message_print_style_uniforum PARAMS ((void));
+void message_print_style_escape PARAMS ((int));
+
+
+typedef struct message_list_ty message_list_ty;
+struct message_list_ty
+{
+ message_ty **item;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+message_list_ty *message_list_alloc PARAMS ((void));
+void message_list_free PARAMS ((message_list_ty *));
+void message_list_append PARAMS ((message_list_ty *, message_ty *));
+void message_list_delete_nth PARAMS ((message_list_ty *, size_t));
+message_ty *message_list_search PARAMS ((message_list_ty *, const char *));
+message_ty *message_list_search_fuzzy PARAMS ((message_list_ty *,
+ const char *));
+void message_list_print PARAMS ((message_list_ty *, const char *, int, int));
+void message_list_sort_by_msgid PARAMS ((message_list_ty *));
+void message_list_sort_by_filepos PARAMS ((message_list_ty *));
+
+enum is_c_format parse_c_format_description_string PARAMS ((const char *s));
+enum is_c_format parse_c_width_description_string PARAMS ((const char *s));
+int possible_c_format_p PARAMS ((enum is_c_format));
+void message_page_width_set PARAMS ((size_t width));
+
+#endif /* message.h */