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