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 */