xref: /illumos-gate/usr/src/head/locale.h (revision 948f2876ce2a3010558f4f6937e16086ebcd36f2)
1  /*
2   * CDDL HEADER START
3   *
4   * The contents of this file are subject to the terms of the
5   * Common Development and Distribution License, Version 1.0 only
6   * (the "License").  You may not use this file except in compliance
7   * with the License.
8   *
9   * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10   * or http://www.opensolaris.org/os/licensing.
11   * See the License for the specific language governing permissions
12   * and limitations under the License.
13   *
14   * When distributing Covered Code, include this CDDL HEADER in each
15   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16   * If applicable, add the following below this CDDL HEADER, with the
17   * fields enclosed by brackets "[]" replaced with your own identifying
18   * information: Portions Copyright [yyyy] [name of copyright owner]
19   *
20   * CDDL HEADER END
21   */
22  /*
23   * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24   * Use is subject to license terms.
25   */
26  
27  #ifndef _LOCALE_H
28  #define	_LOCALE_H
29  
30  #pragma ident	"%Z%%M%	%I%	%E% SMI"
31  
32  #include <iso/locale_iso.h>
33  
34  #if (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
35  	defined(__EXTENSIONS__)
36  #include <libintl.h>
37  #endif
38  
39  /*
40   * Allow global visibility for symbols defined in
41   * C++ "std" namespace in <iso/locale_iso.h>.
42   */
43  #if __cplusplus >= 199711L
44  using std::lconv;
45  using std::setlocale;
46  using std::localeconv;
47  #endif
48  
49  #ifdef __cplusplus
50  extern "C" {
51  #endif
52  
53  #define	_LastCategory	LC_MESSAGES	/* This must be last category */
54  
55  #define	_ValidCategory(c) \
56  	(((int)(c) >= LC_CTYPE) && ((int)(c) <= _LastCategory) || \
57  	((int)c == LC_ALL))
58  
59  #ifdef	__cplusplus
60  }
61  #endif
62  
63  #endif	/* _LOCALE_H */
64