Print this page
2964 need POSIX 2008 locale object support
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Approved by: TBD
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/head/langinfo.h
+++ new/usr/src/head/langinfo.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License, Version 1.0 only
6 6 * (the "License"). You may not use this file except in compliance
7 7 * with the License.
8 8 *
9 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 10 * or http://www.opensolaris.org/os/licensing.
11 11 * See the License for the specific language governing permissions
12 12 * and limitations under the License.
13 13 *
14 14 * When distributing Covered Code, include this CDDL HEADER in each
15 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 16 * If applicable, add the following below this CDDL HEADER, with the
17 17 * fields enclosed by brackets "[]" replaced with your own identifying
18 18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 19 *
↓ open down ↓ |
19 lines elided |
↑ open up ↑ |
20 20 * CDDL HEADER END
21 21 */
22 22 /*
23 23 * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
24 24 * Use is subject to license terms.
25 25 */
26 26
27 27 /* Copyright (c) 1988 AT&T */
28 28 /* All Rights Reserved */
29 29
30 +/*
31 + * Copyright 2014 Garrett D'Amore <garrett@damore.org>
32 + */
30 33
34 +
31 35 #ifndef _LANGINFO_H
32 36 #define _LANGINFO_H
33 37
34 -#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.2 */
35 -
36 38 #include <sys/feature_tests.h>
37 39 #include <nl_types.h>
38 40
39 41 #ifdef __cplusplus
40 42 extern "C" {
41 43 #endif
42 44
43 45 /*
44 46 * The seven days of the week in their full beauty
45 47 */
46 48
47 49 #define DAY_1 1 /* sunday */
48 50 #define DAY_2 2 /* monday */
49 51 #define DAY_3 3 /* tuesday */
50 52 #define DAY_4 4 /* wednesday */
51 53 #define DAY_5 5 /* thursday */
52 54 #define DAY_6 6 /* friday */
53 55 #define DAY_7 7 /* saturday */
54 56
55 57 /*
56 58 * The abbreviated seven days of the week
57 59 */
58 60
59 61 #define ABDAY_1 8 /* sun */
60 62 #define ABDAY_2 9 /* mon */
61 63 #define ABDAY_3 10 /* tue */
62 64 #define ABDAY_4 11 /* wed */
63 65 #define ABDAY_5 12 /* thu */
64 66 #define ABDAY_6 13 /* fri */
65 67 #define ABDAY_7 14 /* sat */
66 68
67 69 /*
68 70 * The full names of the twelve months...
69 71 */
70 72
71 73 #define MON_1 15 /* january */
72 74 #define MON_2 16 /* february */
73 75 #define MON_3 17 /* march */
74 76 #define MON_4 18 /* april */
75 77 #define MON_5 19 /* may */
76 78 #define MON_6 20 /* june */
77 79 #define MON_7 21 /* july */
78 80 #define MON_8 22 /* august */
79 81 #define MON_9 23 /* september */
80 82 #define MON_10 24 /* october */
81 83 #define MON_11 25 /* november */
82 84 #define MON_12 26 /* december */
83 85
84 86 /*
85 87 * ... and their abbreviated form
86 88 */
87 89
88 90 #define ABMON_1 27 /* jan */
89 91 #define ABMON_2 28 /* feb */
90 92 #define ABMON_3 29 /* mar */
91 93 #define ABMON_4 30 /* apr */
92 94 #define ABMON_5 31 /* may */
93 95 #define ABMON_6 32 /* jun */
94 96 #define ABMON_7 33 /* jul */
95 97 #define ABMON_8 34 /* aug */
96 98 #define ABMON_9 35 /* sep */
97 99 #define ABMON_10 36 /* oct */
98 100 #define ABMON_11 37 /* nov */
99 101 #define ABMON_12 38 /* dec */
100 102
101 103 /*
102 104 * plus some special strings you might need to know
103 105 */
104 106
105 107 #define RADIXCHAR 39 /* radix character */
106 108 #define THOUSEP 40 /* separator for thousand */
107 109 /* YESSTR and NOSTR marked as legacy in XPG5 and removed in SUSv3 */
108 110 #if !defined(_XPG6) || defined(__EXTENSIONS__)
109 111 #define YESSTR 41 /* affirmative response for yes/no queries */
110 112 #define NOSTR 42 /* negative response for yes/no queries */
111 113 #endif /* !defined(_XPG6) || defined(__EXTENSIONS__ */
112 114 #define CRNCYSTR 43 /* currency symbol */
113 115
114 116 /*
115 117 * Default string used to format date and time
116 118 * e.g. Sunday, August 24 21:08:38 MET 1986
117 119 */
118 120
119 121 #define D_T_FMT 44 /* string for formatting date and time */
120 122 #define D_FMT 45 /* date format */
121 123 #define T_FMT 46 /* time format */
122 124 #define AM_STR 47 /* am string */
123 125 #define PM_STR 48 /* pm string */
124 126
125 127 /*
126 128 * Additions for XPG4 (XSH4) Compliance
127 129 */
128 130
129 131 #define CODESET 49 /* codeset name */
130 132 #define T_FMT_AMPM 50 /* am or pm time format string */
131 133 #define ERA 51 /* era description segments */
132 134 #define ERA_D_FMT 52 /* era date format string */
133 135 #define ERA_D_T_FMT 53 /* era date and time format string */
134 136 #define ERA_T_FMT 54 /* era time format string */
135 137 #define ALT_DIGITS 55 /* alternative symbols for digits */
136 138 #define YESEXPR 56 /* affirmative response expression */
137 139 #define NOEXPR 57 /* negative response expression */
138 140 #define _DATE_FMT 58 /* strftime format for date(1) */
139 141
140 142 #if defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE)
141 143 #define MAXSTRMSG 58 /* Maximum number of strings in langinfo */
142 144 #endif /* defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE) */
↓ open down ↓ |
97 lines elided |
↑ open up ↑ |
143 145
144 146 /*
145 147 * and the definitions of functions langinfo(3C)
146 148 */
147 149 #if defined(__STDC__)
148 150 char *nl_langinfo(nl_item); /* get a string from the database */
149 151 #else
150 152 char *nl_langinfo(); /* get a string from the database */
151 153 #endif
152 154
155 +#if defined(_XPG7) || !defined(_STRICT_SYMBOLS)
156 +#ifndef _LOCALE_T
157 +#define _LOCALE_T
158 +typedef struct locale *locale_t;
159 +#endif
160 +
161 +#if defined(__STDC__)
162 +char *nl_langinfo_l(nl_item, locale_t);
163 +#else
164 +char *nl_langinfo_l();
165 +#endif
166 +#endif
167 +
153 168 #ifdef __cplusplus
154 169 }
155 170 #endif
156 171
157 172 #endif /* _LANGINFO_H */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX