Annotation of src/include/locale.h, Revision 1.11
1.11 ! schwarze 1: /* $OpenBSD: locale.h,v 1.10 2016/09/09 18:12:37 millert Exp $ */
1.1 deraadt 2: /* $NetBSD: locale.h,v 1.6 1994/10/26 00:56:02 cgd Exp $ */
3:
4: /*
5: * Copyright (c) 1991 The Regents of the University of California.
6: * All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
1.6 millert 16: * 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 17: * may be used to endorse or promote products derived from this software
18: * without specific prior written permission.
19: *
20: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30: * SUCH DAMAGE.
31: *
32: * @(#)locale.h 5.2 (Berkeley) 2/24/91
33: */
34:
35: #ifndef _LOCALE_H_
36: #define _LOCALE_H_
37:
1.10 millert 38: #include <sys/_null.h>
39:
1.1 deraadt 40: struct lconv {
41: char *decimal_point;
42: char *thousands_sep;
43: char *grouping;
44: char *int_curr_symbol;
45: char *currency_symbol;
46: char *mon_decimal_point;
47: char *mon_thousands_sep;
48: char *mon_grouping;
49: char *positive_sign;
50: char *negative_sign;
51: char int_frac_digits;
52: char frac_digits;
53: char p_cs_precedes;
54: char p_sep_by_space;
55: char n_cs_precedes;
56: char n_sep_by_space;
57: char p_sign_posn;
58: char n_sign_posn;
1.9 pelikan 59: char int_p_cs_precedes;
60: char int_p_sep_by_space;
61: char int_n_cs_precedes;
62: char int_n_sep_by_space;
63: char int_p_sign_posn;
64: char int_n_sign_posn;
1.1 deraadt 65: };
66:
67: #define LC_ALL 0
68: #define LC_COLLATE 1
69: #define LC_CTYPE 2
70: #define LC_MONETARY 3
71: #define LC_NUMERIC 4
72: #define LC_TIME 5
73: #define LC_MESSAGES 6
74:
75: #define _LC_LAST 7 /* marks end */
76:
77: #include <sys/cdefs.h>
78:
1.11 ! schwarze 79: #if __POSIX_VISIBLE >= 200809
! 80:
! 81: #ifndef _LOCALE_T_DEFINED_
! 82: #define _LOCALE_T_DEFINED_
! 83: typedef void *locale_t;
! 84: #endif
! 85:
! 86: #define LC_COLLATE_MASK (1 << LC_COLLATE)
! 87: #define LC_CTYPE_MASK (1 << LC_CTYPE)
! 88: #define LC_MONETARY_MASK (1 << LC_MONETARY)
! 89: #define LC_NUMERIC_MASK (1 << LC_NUMERIC)
! 90: #define LC_TIME_MASK (1 << LC_TIME)
! 91: #define LC_MESSAGES_MASK (1 << LC_MESSAGES)
! 92:
! 93: #define LC_ALL_MASK ((1 << _LC_LAST) - 2)
! 94:
! 95: #define LC_GLOBAL_LOCALE ((locale_t)-1)
! 96:
! 97: #endif /* __POSIX_VISIBLE >= 200809 */
! 98:
! 99:
1.1 deraadt 100: __BEGIN_DECLS
1.4 millert 101: struct lconv *localeconv(void);
102: char *setlocale(int, const char *);
1.11 ! schwarze 103:
! 104: #if __POSIX_VISIBLE >= 200809
! 105: locale_t duplocale(locale_t);
! 106: void freelocale(locale_t);
! 107: locale_t newlocale(int, const char *, locale_t);
! 108: locale_t uselocale(locale_t);
! 109: #endif
1.1 deraadt 110: __END_DECLS
111:
112: #endif /* _LOCALE_H_ */