1/* $NetBSD: langinfo.h,v 1.11 2024/10/30 15:56:10 riastradh Exp $ */
2
3/*
4 * Written by J.T. Conklin <jtc@NetBSD.org>
5 * Public domain.
6 */
7
8#ifndef _LANGINFO_H_
9#define _LANGINFO_H_
10
11#include <sys/cdefs.h>
12#include <sys/featuretest.h>
13#include <nl_types.h>
14
15#define D_T_FMT ((nl_item)0) /* String for formatting date and
16 time */
17#define D_FMT ((nl_item)1) /* Date format string */
18#define T_FMT ((nl_item)2) /* Time format string */
19#define T_FMT_AMPM ((nl_item)3) /* Time format string with 12 hour
20 clock */
21#define AM_STR ((nl_item)4) /* Ante Meridiem afix */
22#define PM_STR ((nl_item)5) /* Post Meridiem afix */
23
24#define DAY_1 ((nl_item)6) /* Name of the first day of the week */
25#define DAY_2 ((nl_item)7)
26#define DAY_3 ((nl_item)8)
27#define DAY_4 ((nl_item)9)
28#define DAY_5 ((nl_item)10)
29#define DAY_6 ((nl_item)11)
30#define DAY_7 ((nl_item)12)
31
32#define ABDAY_1 ((nl_item)13) /* Abbrev. name of the first day of
33 the week */
34#define ABDAY_2 ((nl_item)14)
35#define ABDAY_3 ((nl_item)15)
36#define ABDAY_4 ((nl_item)16)
37#define ABDAY_5 ((nl_item)17)
38#define ABDAY_6 ((nl_item)18)
39#define ABDAY_7 ((nl_item)19)
40
41#define MON_1 ((nl_item)20) /* Name of the first month */
42#define MON_2 ((nl_item)21)
43#define MON_3 ((nl_item)22)
44#define MON_4 ((nl_item)23)
45#define MON_5 ((nl_item)24)
46#define MON_6 ((nl_item)25)
47#define MON_7 ((nl_item)26)
48#define MON_8 ((nl_item)27)
49#define MON_9 ((nl_item)28)
50#define MON_10 ((nl_item)29)
51#define MON_11 ((nl_item)30)
52#define MON_12 ((nl_item)31)
53
54#define ABMON_1 ((nl_item)32) /* Abbrev. name of the first month */
55#define ABMON_2 ((nl_item)33)
56#define ABMON_3 ((nl_item)34)
57#define ABMON_4 ((nl_item)35)
58#define ABMON_5 ((nl_item)36)
59#define ABMON_6 ((nl_item)37)
60#define ABMON_7 ((nl_item)38)
61#define ABMON_8 ((nl_item)39)
62#define ABMON_9 ((nl_item)40)
63#define ABMON_10 ((nl_item)41)
64#define ABMON_11 ((nl_item)42)
65#define ABMON_12 ((nl_item)43)
66
67#define RADIXCHAR ((nl_item)44) /* Radix character */
68#define THOUSEP ((nl_item)45) /* Separator for thousands */
69#define YESSTR ((nl_item)46) /* Affirmitive response for yes/no
70 queries */
71#define YESEXPR ((nl_item)47) /* Affirmitive response for yes/no
72 queries */
73#define NOSTR ((nl_item)48) /* Negative response for yes/no
74 queries */
75#define NOEXPR ((nl_item)49) /* Negative response for yes/no
76 queries */
77#define CRNCYSTR ((nl_item)50) /* Currency symbol */
78
79#define CODESET ((nl_item)51) /* codeset name */
80
81#define ERA ((nl_item)52) /* Era description segments */
82#define ERA_D_FMT ((nl_item)53) /* Era date format string */
83#define ERA_D_T_FMT ((nl_item)54) /* Era date and time format string */
84#define ERA_T_FMT ((nl_item)55) /* Era time format string */
85
86#define ALT_DIGITS ((nl_item)56) /* Alternative symbols for digits */
87
88__BEGIN_DECLS
89char *nl_langinfo(nl_item);
90__END_DECLS
91
92#if defined(_NETBSD_SOURCE)
93# ifndef __LOCALE_T_DECLARED
94typedef struct _locale *locale_t;
95# define __LOCALE_T_DECLARED
96# endif
97__BEGIN_DECLS
98char *nl_langinfo_l(nl_item, locale_t);
99__END_DECLS
100#endif
101
102#endif /* _LANGINFO_H_ */