xref: /freebsd-src/include/langinfo.h (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
119e4b807SAlexey Zelkin /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
3e58eb3c4SPedro F. Giffuni  *
452d6b430SAlexey Zelkin  * Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
560e1d74fSAlexey Zelkin  * All rights reserved.
660e1d74fSAlexey Zelkin  *
760e1d74fSAlexey Zelkin  * Redistribution and use in source and binary forms, with or without
860e1d74fSAlexey Zelkin  * modification, are permitted provided that the following conditions
960e1d74fSAlexey Zelkin  * are met:
1060e1d74fSAlexey Zelkin  * 1. Redistributions of source code must retain the above copyright
1160e1d74fSAlexey Zelkin  *    notice, this list of conditions and the following disclaimer.
1260e1d74fSAlexey Zelkin  * 2. Redistributions in binary form must reproduce the above copyright
1360e1d74fSAlexey Zelkin  *    notice, this list of conditions and the following disclaimer in the
1460e1d74fSAlexey Zelkin  *    documentation and/or other materials provided with the distribution.
1560e1d74fSAlexey Zelkin  *
1660e1d74fSAlexey Zelkin  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1760e1d74fSAlexey Zelkin  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1860e1d74fSAlexey Zelkin  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1960e1d74fSAlexey Zelkin  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
2060e1d74fSAlexey Zelkin  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2160e1d74fSAlexey Zelkin  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2260e1d74fSAlexey Zelkin  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2360e1d74fSAlexey Zelkin  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2460e1d74fSAlexey Zelkin  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2560e1d74fSAlexey Zelkin  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2660e1d74fSAlexey Zelkin  * SUCH DAMAGE.
2760e1d74fSAlexey Zelkin  */
2860e1d74fSAlexey Zelkin 
2919e4b807SAlexey Zelkin #ifndef _LANGINFO_H_
3019e4b807SAlexey Zelkin #define	_LANGINFO_H_
3160e1d74fSAlexey Zelkin 
3260e1d74fSAlexey Zelkin #include <sys/cdefs.h>
3311142c6fSMike Barcroft #include <sys/_types.h>
3411142c6fSMike Barcroft 
3511142c6fSMike Barcroft #ifndef _NL_ITEM_DECLARED
3611142c6fSMike Barcroft typedef	__nl_item	nl_item;
3711142c6fSMike Barcroft #define	_NL_ITEM_DECLARED
3811142c6fSMike Barcroft #endif
3960e1d74fSAlexey Zelkin 
4060e1d74fSAlexey Zelkin #define	CODESET		0	/* codeset name */
4160e1d74fSAlexey Zelkin #define	D_T_FMT		1	/* string for formatting date and time */
4260e1d74fSAlexey Zelkin #define	D_FMT		2	/* date format string */
4360e1d74fSAlexey Zelkin #define	T_FMT		3	/* time format string */
4460e1d74fSAlexey Zelkin #define	T_FMT_AMPM	4	/* a.m. or p.m. time formatting string */
4560e1d74fSAlexey Zelkin #define	AM_STR		5	/* Ante Meridian affix */
4660e1d74fSAlexey Zelkin #define	PM_STR		6	/* Post Meridian affix */
4760e1d74fSAlexey Zelkin 
4860e1d74fSAlexey Zelkin /* week day names */
4960e1d74fSAlexey Zelkin #define	DAY_1		7
5060e1d74fSAlexey Zelkin #define	DAY_2		8
5160e1d74fSAlexey Zelkin #define	DAY_3		9
5260e1d74fSAlexey Zelkin #define	DAY_4		10
5360e1d74fSAlexey Zelkin #define	DAY_5		11
5460e1d74fSAlexey Zelkin #define	DAY_6		12
5560e1d74fSAlexey Zelkin #define	DAY_7		13
5660e1d74fSAlexey Zelkin 
5760e1d74fSAlexey Zelkin /* abbreviated week day names */
5860e1d74fSAlexey Zelkin #define	ABDAY_1		14
5960e1d74fSAlexey Zelkin #define	ABDAY_2		15
6060e1d74fSAlexey Zelkin #define	ABDAY_3		16
6160e1d74fSAlexey Zelkin #define	ABDAY_4		17
6260e1d74fSAlexey Zelkin #define	ABDAY_5		18
6360e1d74fSAlexey Zelkin #define	ABDAY_6		19
6460e1d74fSAlexey Zelkin #define	ABDAY_7		20
6560e1d74fSAlexey Zelkin 
6660e1d74fSAlexey Zelkin /* month names */
6760e1d74fSAlexey Zelkin #define	MON_1		21
6860e1d74fSAlexey Zelkin #define	MON_2		22
6960e1d74fSAlexey Zelkin #define	MON_3		23
7060e1d74fSAlexey Zelkin #define	MON_4		24
7160e1d74fSAlexey Zelkin #define	MON_5		25
7260e1d74fSAlexey Zelkin #define	MON_6		26
7360e1d74fSAlexey Zelkin #define	MON_7		27
7460e1d74fSAlexey Zelkin #define	MON_8		28
7560e1d74fSAlexey Zelkin #define	MON_9		29
7660e1d74fSAlexey Zelkin #define	MON_10		30
7760e1d74fSAlexey Zelkin #define	MON_11		31
7860e1d74fSAlexey Zelkin #define	MON_12		32
7960e1d74fSAlexey Zelkin 
8060e1d74fSAlexey Zelkin /* abbreviated month names */
8160e1d74fSAlexey Zelkin #define	ABMON_1		33
8260e1d74fSAlexey Zelkin #define	ABMON_2		34
8360e1d74fSAlexey Zelkin #define	ABMON_3		35
8460e1d74fSAlexey Zelkin #define	ABMON_4		36
8560e1d74fSAlexey Zelkin #define	ABMON_5		37
8660e1d74fSAlexey Zelkin #define	ABMON_6		38
8760e1d74fSAlexey Zelkin #define	ABMON_7		39
8860e1d74fSAlexey Zelkin #define	ABMON_8		40
8960e1d74fSAlexey Zelkin #define	ABMON_9		41
9060e1d74fSAlexey Zelkin #define	ABMON_10	42
9160e1d74fSAlexey Zelkin #define	ABMON_11	43
9260e1d74fSAlexey Zelkin #define	ABMON_12	44
9360e1d74fSAlexey Zelkin 
9460e1d74fSAlexey Zelkin #define	ERA		45	/* era description segments */
9560e1d74fSAlexey Zelkin #define	ERA_D_FMT	46	/* era date format string */
9660e1d74fSAlexey Zelkin #define	ERA_D_T_FMT	47	/* era date and time format string */
9760e1d74fSAlexey Zelkin #define	ERA_T_FMT	48	/* era time format string */
9860e1d74fSAlexey Zelkin #define	ALT_DIGITS	49	/* alternative symbols for digits */
9960e1d74fSAlexey Zelkin 
10060e1d74fSAlexey Zelkin #define	RADIXCHAR	50	/* radix char */
10160e1d74fSAlexey Zelkin #define	THOUSEP		51	/* separator for thousands */
10260e1d74fSAlexey Zelkin 
10360e1d74fSAlexey Zelkin #define	YESEXPR		52	/* affirmative response expression */
10460e1d74fSAlexey Zelkin #define	NOEXPR		53	/* negative response expression */
10511142c6fSMike Barcroft 
106160c0c65SJilles Tjoelker #if __BSD_VISIBLE || (__XSI_VISIBLE && __XSI_VISIBLE <= 500)
10760e1d74fSAlexey Zelkin #define	YESSTR		54	/* affirmative response for yes/no queries */
10860e1d74fSAlexey Zelkin #define	NOSTR		55	/* negative response for yes/no queries */
10911142c6fSMike Barcroft #endif
11060e1d74fSAlexey Zelkin 
11160e1d74fSAlexey Zelkin #define	CRNCYSTR	56	/* currency symbol */
11260e1d74fSAlexey Zelkin 
11311142c6fSMike Barcroft #if __BSD_VISIBLE
1148957c348SAndrey A. Chernov #define	D_MD_ORDER	57	/* month/day order (local extension) */
11511142c6fSMike Barcroft #endif
1168957c348SAndrey A. Chernov 
117a250649bSEdwin Groothuis /* standalone months forms for %OB */
118a250649bSEdwin Groothuis #define	ALTMON_1	58
119a250649bSEdwin Groothuis #define	ALTMON_2	59
120a250649bSEdwin Groothuis #define	ALTMON_3	60
121a250649bSEdwin Groothuis #define	ALTMON_4	61
122a250649bSEdwin Groothuis #define	ALTMON_5	62
123a250649bSEdwin Groothuis #define	ALTMON_6	63
124a250649bSEdwin Groothuis #define	ALTMON_7	64
125a250649bSEdwin Groothuis #define	ALTMON_8	65
126a250649bSEdwin Groothuis #define	ALTMON_9	66
127a250649bSEdwin Groothuis #define	ALTMON_10	67
128a250649bSEdwin Groothuis #define	ALTMON_11	68
129a250649bSEdwin Groothuis #define	ALTMON_12	69
130a250649bSEdwin Groothuis 
13160e1d74fSAlexey Zelkin __BEGIN_DECLS
132bb28f3c2SWarner Losh char	*nl_langinfo(nl_item);
133a8ed63bbSDavid Chisnall 
1343ac9d659SDavid Chisnall #if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_)
135a8ed63bbSDavid Chisnall #include <xlocale/_langinfo.h>
136a8ed63bbSDavid Chisnall #endif
13760e1d74fSAlexey Zelkin __END_DECLS
13860e1d74fSAlexey Zelkin 
13919e4b807SAlexey Zelkin #endif /* !_LANGINFO_H_ */
140