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