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 2003 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /* Copyright (c) 1988 AT&T */
28 /* All Rights Reserved */
29
30
31 #ifndef _LANGINFO_H
32 #define _LANGINFO_H
33
34 #include <sys/feature_tests.h>
35 #include <nl_types.h>
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 /*
42 * The seven days of the week in their full beauty
43 */
44
45 #define DAY_1 1 /* sunday */
46 #define DAY_2 2 /* monday */
47 #define DAY_3 3 /* tuesday */
48 #define DAY_4 4 /* wednesday */
49 #define DAY_5 5 /* thursday */
50 #define DAY_6 6 /* friday */
51 #define DAY_7 7 /* saturday */
52
53 /*
54 * The abbreviated seven days of the week
55 */
56
57 #define ABDAY_1 8 /* sun */
58 #define ABDAY_2 9 /* mon */
59 #define ABDAY_3 10 /* tue */
60 #define ABDAY_4 11 /* wed */
61 #define ABDAY_5 12 /* thu */
62 #define ABDAY_6 13 /* fri */
63 #define ABDAY_7 14 /* sat */
64
65 /*
66 * The full names of the twelve months...
67 */
68
69 #define MON_1 15 /* january */
70 #define MON_2 16 /* february */
71 #define MON_3 17 /* march */
72 #define MON_4 18 /* april */
73 #define MON_5 19 /* may */
74 #define MON_6 20 /* june */
75 #define MON_7 21 /* july */
76 #define MON_8 22 /* august */
77 #define MON_9 23 /* september */
78 #define MON_10 24 /* october */
79 #define MON_11 25 /* november */
80 #define MON_12 26 /* december */
81
82 /*
83 * ... and their abbreviated form
84 */
85
86 #define ABMON_1 27 /* jan */
87 #define ABMON_2 28 /* feb */
88 #define ABMON_3 29 /* mar */
89 #define ABMON_4 30 /* apr */
90 #define ABMON_5 31 /* may */
91 #define ABMON_6 32 /* jun */
92 #define ABMON_7 33 /* jul */
93 #define ABMON_8 34 /* aug */
94 #define ABMON_9 35 /* sep */
95 #define ABMON_10 36 /* oct */
96 #define ABMON_11 37 /* nov */
97 #define ABMON_12 38 /* dec */
98
99 /*
100 * plus some special strings you might need to know
101 */
102
103 #define RADIXCHAR 39 /* radix character */
104 #define THOUSEP 40 /* separator for thousand */
105 /* YESSTR and NOSTR marked as legacy in XPG5 and removed in SUSv3 */
106 #if !defined(_XPG6) || defined(__EXTENSIONS__)
107 #define YESSTR 41 /* affirmative response for yes/no queries */
108 #define NOSTR 42 /* negative response for yes/no queries */
109 #endif /* !defined(_XPG6) || defined(__EXTENSIONS__ */
110 #define CRNCYSTR 43 /* currency symbol */
111
112 /*
113 * Default string used to format date and time
114 * e.g. Sunday, August 24 21:08:38 MET 1986
115 */
116
117 #define D_T_FMT 44 /* string for formatting date and time */
118 #define D_FMT 45 /* date format */
119 #define T_FMT 46 /* time format */
120 #define AM_STR 47 /* am string */
121 #define PM_STR 48 /* pm string */
122
123 /*
124 * Additions for XPG4 (XSH4) Compliance
125 */
126
127 #define CODESET 49 /* codeset name */
128 #define T_FMT_AMPM 50 /* am or pm time format string */
129 #define ERA 51 /* era description segments */
130 #define ERA_D_FMT 52 /* era date format string */
131 #define ERA_D_T_FMT 53 /* era date and time format string */
132 #define ERA_T_FMT 54 /* era time format string */
133 #define ALT_DIGITS 55 /* alternative symbols for digits */
134 #define YESEXPR 56 /* affirmative response expression */
135 #define NOEXPR 57 /* negative response expression */
136 #define _DATE_FMT 58 /* strftime format for date(1) */
137
138 #if defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE)
139 #define MAXSTRMSG 58 /* Maximum number of strings in langinfo */
140 #endif /* defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE) */
141
142 #ifndef _LOCALE_T_DEFINED
143 #define _LOCALE_T_DEFINED
144 typedef struct _xlocale *locale_t;
145 #endif
146
147 /*
148 * and the definitions of functions langinfo(3C)
149 */
150 #if defined(__STDC__)
151 char *nl_langinfo(nl_item); /* get a string from the database */
152 char *nl_langinfo_l(nl_item, locale_t);
153 #else
154 char *nl_langinfo(); /* get a string from the database */
155 char *nl_langinfo_l();
156 #endif
157
158 #ifdef __cplusplus
159 }
160 #endif
161
162 #endif /* _LANGINFO_H */