/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _LIBC_PORT_I18N_GETTEXT_H
#define _LIBC_PORT_I18N_GETTEXT_H
#include <iconv.h>
#include <synch.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Type of MO file */
#define TP_BINDING 0
/* Msg_g_node->flag */
/*
* msg_pack->status:
* interaction between handle_lang() and handle_mo()
*/
typedef struct domain_binding {
} Dbinding;
/*
* this structure is used for preserving nlspath templates before
* passing them to bindtextdomain():
*/
typedef struct nlstmp {
} Nlstmp;
typedef struct {
} Msg_s_node;
typedef struct {
typedef struct {
} Msg_g_node;
typedef struct msg_node {
union {
} msg;
} Msg_node;
typedef struct nls_node {
} Nls_node;
typedef struct {
} Gettext_t;
struct msg_pack {
unsigned int n; /* n argument */
};
(char *)msgid1)
#define ROUND(m, s) if ((m) % (s)) (m) += ((s) - ((m) % (s)))
extern const char *defaultbind;
extern const char default_domain[];
extern char *_textdomain_u(const char *, char *);
extern char *_real_bindtextdomain_u(const char *, const char *, int);
extern char *_real_gettext_u(const char *, const char *,
const char *, unsigned long int, int, int, locale_t);
extern char *handle_lang(struct msg_pack *);
extern char *mk_msgfile(struct msg_pack *);
extern int plural_expr(plural_expr_t *, const char *);
extern unsigned int plural_eval(plural_expr_t, unsigned int);
extern char *get_codeset(const char *);
#ifdef GETTEXT_DEBUG
extern void gprintf(int, const char *, ...);
extern void printsunmsg(Msg_s_node *, int);
extern void printgnumsg(Msg_g_node *, int);
extern void printexpr(plural_expr_t, int);
extern void printlist(void);
extern void print_rev1_info(Msg_g_node *);
#endif
#ifdef __cplusplus
}
#endif
#endif /* !_LIBC_PORT_I18N_GETTEXT_H */