Annotation of src/include/locale.h, Revision 1.26
1.26 ! christos 1: /* $NetBSD: locale.h,v 1.25 2016/01/29 15:18:33 christos Exp $ */
1.6 cgd 2:
1.1 cgd 3: /*
1.7 perry 4: * Copyright (c) 1991, 1993
5: * The Regents of the University of California. All rights reserved.
1.1 cgd 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.
1.13 agc 15: * 3. Neither the name of the University nor the names of its contributors
1.1 cgd 16: * may be used to endorse or promote products derived from this software
17: * without specific prior written permission.
18: *
19: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29: * SUCH DAMAGE.
30: *
1.7 perry 31: * @(#)locale.h 8.1 (Berkeley) 6/2/93
1.1 cgd 32: */
33:
34: #ifndef _LOCALE_H_
35: #define _LOCALE_H_
36:
1.20 joerg 37: #include <sys/featuretest.h>
38:
1.1 cgd 39: struct lconv {
40: char *decimal_point;
41: char *thousands_sep;
42: char *grouping;
43: char *int_curr_symbol;
44: char *currency_symbol;
45: char *mon_decimal_point;
46: char *mon_thousands_sep;
47: char *mon_grouping;
48: char *positive_sign;
49: char *negative_sign;
50: char int_frac_digits;
51: char frac_digits;
52: char p_cs_precedes;
53: char p_sep_by_space;
54: char n_cs_precedes;
55: char n_sep_by_space;
56: char p_sign_posn;
57: char n_sign_posn;
1.12 kleink 58: char int_p_cs_precedes;
59: char int_n_cs_precedes;
60: char int_p_sep_by_space;
61: char int_n_sep_by_space;
62: char int_p_sign_posn;
63: char int_n_sign_posn;
1.1 cgd 64: };
65:
1.9 kleink 66: #include <sys/null.h>
1.1 cgd 67:
68: #define LC_ALL 0
69: #define LC_COLLATE 1
70: #define LC_CTYPE 2
71: #define LC_MONETARY 3
72: #define LC_NUMERIC 4
73: #define LC_TIME 5
1.3 jtc 74: #define LC_MESSAGES 6
1.1 cgd 75:
1.3 jtc 76: #define _LC_LAST 7 /* marks end */
1.1 cgd 77:
78: #include <sys/cdefs.h>
79:
1.19 joerg 80: #if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) || \
81: defined(__SETLOCALE_SOURCE__)
82: # ifndef __LOCALE_T_DECLARED
83: typedef struct _locale *locale_t;
84: # define __LOCALE_T_DECLARED
85: # endif
86: #endif
87:
1.1 cgd 88: __BEGIN_DECLS
1.17 tnozaki 89: struct lconv *localeconv(void);
90: char *setlocale(int, const char *) __RENAME(__setlocale50);
1.19 joerg 91:
92: #if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
93: # ifndef __LOCALE_T_DECLARED
94: typedef struct _locale *locale_t;
95: # define __LOCALE_T_DECLARED
96: # endif
1.21 joerg 97: #define LC_ALL_MASK ((int)~0)
98: #define LC_COLLATE_MASK ((int)(1 << LC_COLLATE))
99: #define LC_CTYPE_MASK ((int)(1 << LC_CTYPE))
100: #define LC_MONETARY_MASK ((int)(1 << LC_MONETARY))
101: #define LC_NUMERIC_MASK ((int)(1 << LC_NUMERIC))
102: #define LC_TIME_MASK ((int)(1 << LC_TIME))
103: #define LC_MESSAGES_MASK ((int)(1 << LC_MESSAGES))
104: locale_t duplocale(locale_t);
105: void freelocale(locale_t);
1.19 joerg 106: struct lconv *localeconv_l(locale_t);
1.21 joerg 107: locale_t newlocale(int, const char *, locale_t);
1.22 joerg 108:
109: extern __dso_protected struct _locale _lc_global_locale;
110: #define LC_GLOBAL_LOCALE (&_lc_global_locale)
1.23 joerg 111: #endif /* _POSIX_SOURCE >= 200809 || _NETBSD_SOURCE */
112:
113: #if defined(_NETBSD_SOURCE)
114: extern __dso_protected const struct _locale _lc_C_locale;
1.22 joerg 115: #define LC_C_LOCALE ((locale_t)__UNCONST(&_lc_C_locale))
1.19 joerg 116: #endif
1.1 cgd 117: __END_DECLS
118:
119: #endif /* _LOCALE_H_ */
CVSweb <webmaster@jp.NetBSD.org>