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