Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / libintl.h @ 13

History | View | Annotate | Download (3.67 KB)

1
/*        $NetBSD: libintl.h,v 1.8 2015/06/08 15:04:20 christos Exp $        */
2

    
3
/*-
4
 * Copyright (c) 2000 Citrus Project,
5
 * All rights reserved.
6
 *
7
 * Redistribution and use in source and binary forms, with or without
8
 * modification, are permitted provided that the following conditions
9
 * are met:
10
 * 1. Redistributions of source code must retain the above copyright
11
 *    notice, this list of conditions and the following disclaimer.
12
 * 2. Redistributions in binary form must reproduce the above copyright
13
 *    notice, this list of conditions and the following disclaimer in the
14
 *    documentation and/or other materials provided with the distribution.
15
 *
16
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26
 * SUCH DAMAGE.
27
 */
28

    
29
#ifndef _LIBINTL_H_
30
#define _LIBINTL_H_
31

    
32
#include <sys/cdefs.h>
33

    
34
#ifndef _LIBGETTEXT_H
35
/*
36
 * Avoid defining these if the GNU gettext compatibility header includes
37
 * us, since it re-defines those unconditionally and creates inline functions
38
 * for some of them. This is horrible.
39
 */
40
#define pgettext_expr(msgctxt, msgid) pgettext((msgctxt), (msgid))
41
#define dpgettext_expr(domainname, msgctxt, msgid) \
42
    dpgettext((domainname), (msgctxt), (msgid))
43
#define dcpgettext_expr(domainname, msgctxt, msgid, category) \
44
    dcpgettext((domainname), (msgctxt), (msgid), (category))
45
#define npgettext_expr(msgctxt, msgid1, msgid2, n) \
46
    npgettext((msgctxt), (msgid1), (msgid2), (n))
47
#define dnpgettext_expr(domainname, msgctxt, msgid1, n) \
48
    dnpgettext((domainname), (msgctxt), (msgid1), (msgid2), (n))
49
#define dcnpgettext_expr(domainname, msgctxt, msgid1, msgid2, n, category) \
50
    dcnpgettext((domainname), (msgctxt), (msgid1), (msgid2), (n), (category))
51
#endif
52

    
53
__BEGIN_DECLS
54
char *gettext(const char *) __format_arg(1);
55
char *dgettext(const char *, const char *) __format_arg(2);
56
char *dcgettext(const char *, const char *, int) __format_arg(2);
57
char *ngettext(const char *, const char *, unsigned long int)
58
               __format_arg(1) __format_arg(2);
59
char *dngettext(const char *, const char *, const char *, unsigned long int)
60
                __format_arg(2) __format_arg(3);
61
char *dcngettext(const char *, const char *, const char *, unsigned long int,
62
                 int) __format_arg(2) __format_arg(3);
63
const char *pgettext(const char *, const char *) __format_arg(2);
64
const char *dpgettext(const char *, const char *, const char *)
65
                      __format_arg(3);
66
const char *dcpgettext(const char *, const char *, const char *, int)
67
                       __format_arg(3);
68
const char *npgettext(const char *, const char *, const char *,
69
                      unsigned long int) __format_arg(2) __format_arg(3);
70
const char *dnpgettext(const char *, const char *, const char *,
71
                       const char *, unsigned long int) __format_arg(3)
72
                       __format_arg(4);
73
const char *dcnpgettext(const char *, const char *, const char *,
74
                        const char *, unsigned long int, int) __format_arg(3)
75
                        __format_arg(4);
76

    
77
char *textdomain(const char *);
78
char *bindtextdomain(const char *, const char *);
79
char *bind_textdomain_codeset(const char *, const char *);
80

    
81
__END_DECLS
82

    
83
#endif /* _LIBINTL_H_ */