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