Subversion Repositories Kolibri OS

Rev

Rev 4872 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*-
  2.  * Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  *
  14.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  15.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  16.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  17.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  18.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  19.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  20.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  21.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  22.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  23.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  24.  * SUCH DAMAGE.
  25.  *
  26.  * $FreeBSD: src/include/langinfo.h,v 1.5 2002/03/23 17:24:53 imp Exp $
  27.  */
  28.  
  29. #ifndef _LANGINFO_H_
  30. #define _LANGINFO_H_
  31.  
  32. #include <newlib.h>
  33. #include <sys/config.h>
  34. #include <sys/cdefs.h>
  35.  
  36. typedef int nl_item;
  37.  
  38. enum __nl_item
  39. {
  40.   /* POSIX and BSD defined items have to stick to the original values
  41.      to maintain backward compatibility. */
  42.   _NL_CTYPE_CODESET_NAME = 0,   /* codeset name */
  43. #define CODESET _NL_CTYPE_CODESET_NAME
  44.   D_T_FMT,                      /* string for formatting date and time */
  45. #define D_T_FMT D_T_FMT
  46.   D_FMT,                        /* date format string */
  47. #define D_FMT D_FMT
  48.   T_FMT,                        /* time format string */
  49. #define T_FMT T_FMT
  50.   T_FMT_AMPM,                   /* a.m. or p.m. time formatting string */
  51. #define T_FMT_AMPM T_FMT_AMPM
  52.   AM_STR,                       /* Ante Meridian affix */
  53. #define AM_STR AM_STR
  54.   PM_STR,                       /* Post Meridian affix */
  55. #define PM_STR PM_STR
  56.  
  57. /* week day names */
  58.   DAY_1,
  59. #define DAY_1 DAY_1
  60.   DAY_2,
  61. #define DAY_2 DAY_2
  62.   DAY_3,
  63. #define DAY_3 DAY_3
  64.   DAY_4,
  65. #define DAY_4 DAY_4
  66.   DAY_5,
  67. #define DAY_5 DAY_5
  68.   DAY_6,
  69. #define DAY_6 DAY_6
  70.   DAY_7,
  71. #define DAY_7 DAY_7
  72.  
  73. /* abbreviated week day names */
  74.   ABDAY_1,
  75. #define ABDAY_1 ABDAY_1
  76.   ABDAY_2,
  77. #define ABDAY_2 ABDAY_2
  78.   ABDAY_3,
  79. #define ABDAY_3 ABDAY_3
  80.   ABDAY_4,
  81. #define ABDAY_4 ABDAY_4
  82.   ABDAY_5,
  83. #define ABDAY_5 ABDAY_5
  84.   ABDAY_6,
  85. #define ABDAY_6 ABDAY_6
  86.   ABDAY_7,
  87. #define ABDAY_7 ABDAY_7
  88.  
  89. /* month names */
  90.   MON_1,
  91. #define MON_1 MON_1
  92.   MON_2,
  93. #define MON_2 MON_2
  94.   MON_3,
  95. #define MON_3 MON_3
  96.   MON_4,
  97. #define MON_4 MON_4
  98.   MON_5,
  99. #define MON_5 MON_5
  100.   MON_6,
  101. #define MON_6 MON_6
  102.   MON_7,
  103. #define MON_7 MON_7
  104.   MON_8,
  105. #define MON_8 MON_8
  106.   MON_9,
  107. #define MON_9 MON_9
  108.   MON_10,
  109. #define MON_10 MON_10
  110.   MON_11,
  111. #define MON_11 MON_11
  112.   MON_12,
  113. #define MON_12 MON_12
  114.  
  115. /* abbreviated month names */
  116.   ABMON_1,
  117. #define ABMON_1 ABMON_1
  118.   ABMON_2,
  119. #define ABMON_2 ABMON_2
  120.   ABMON_3,
  121. #define ABMON_3 ABMON_3
  122.   ABMON_4,
  123. #define ABMON_4 ABMON_4
  124.   ABMON_5,
  125. #define ABMON_5 ABMON_5
  126.   ABMON_6,
  127. #define ABMON_6 ABMON_6
  128.   ABMON_7,
  129. #define ABMON_7 ABMON_7
  130.   ABMON_8,
  131. #define ABMON_8 ABMON_8
  132.   ABMON_9,
  133. #define ABMON_9 ABMON_9
  134.   ABMON_10,
  135. #define ABMON_10 ABMON_10
  136.   ABMON_11,
  137. #define ABMON_11 ABMON_11
  138.   ABMON_12,
  139. #define ABMON_12 ABMON_12
  140.  
  141.   ERA,                          /* era description segments */
  142. #define ERA ERA
  143.   ERA_D_FMT,                    /* era date format string */
  144. #define ERA_D_FMT ERA_D_FMT
  145.   ERA_D_T_FMT,                  /* era date and time format string */
  146. #define ERA_D_T_FMT ERA_D_T_FMT
  147.   ERA_T_FMT,                    /* era time format string */
  148. #define ERA_T_FMT ERA_T_FMT
  149.   ALT_DIGITS,                   /* alternative symbols for digits */
  150. #define ALT_DIGITS ALT_DIGITS
  151.  
  152.   RADIXCHAR,                    /* radix char */
  153. #define RADIXCHAR RADIXCHAR
  154.   THOUSEP,                      /* separator for thousands */
  155. #define THOUSEP THOUSEP
  156.  
  157.   YESEXPR,                      /* affirmative response expression */
  158. #define YESEXPR YESEXPR
  159.   NOEXPR,                       /* negative response expression */
  160. #define NOEXPR NOEXPR
  161.   YESSTR,                       /* affirmative response for yes/no queries */
  162. #define YESSTR YESSTR
  163.   NOSTR,                        /* negative response for yes/no queries */
  164. #define NOSTR NOSTR
  165.  
  166.   CRNCYSTR,                     /* currency symbol */
  167. #define CRNCYSTR CRNCYSTR
  168.  
  169.   D_MD_ORDER,                   /* month/day order (BSD extension) */
  170. #define D_MD_ORDER D_MD_ORDER
  171.  
  172.   _NL_TIME_DATE_FMT = 84,       /* date fmt used by date(1) (GNU extension) */
  173. #define _DATE_FMT _NL_TIME_DATE_FMT
  174.  
  175. #ifdef __HAVE_LOCALE_INFO__
  176.   _NL_CTYPE_MB_CUR_MAX,
  177.   _NL_MESSAGES_CODESET,
  178.  
  179. #ifdef __HAVE_LOCALE_INFO_EXTENDED__
  180.  
  181.   /* NOTE:
  182.  
  183.      Always maintain the order and position of existing entries!
  184.      Always append new entry to the list, prior to the definition
  185.      of _NL_LOCALE_EXTENDED_LAST_ENTRY. */
  186.  
  187.   _NL_LOCALE_EXTENDED_FIRST_ENTRY,
  188.  
  189.   _NL_CTYPE_OUTDIGITS0_MB,
  190.   _NL_CTYPE_OUTDIGITS1_MB,
  191.   _NL_CTYPE_OUTDIGITS2_MB,
  192.   _NL_CTYPE_OUTDIGITS3_MB,
  193.   _NL_CTYPE_OUTDIGITS4_MB,
  194.   _NL_CTYPE_OUTDIGITS5_MB,
  195.   _NL_CTYPE_OUTDIGITS6_MB,
  196.   _NL_CTYPE_OUTDIGITS7_MB,
  197.   _NL_CTYPE_OUTDIGITS8_MB,
  198.   _NL_CTYPE_OUTDIGITS9_MB,
  199.   _NL_CTYPE_OUTDIGITS0_WC,
  200.   _NL_CTYPE_OUTDIGITS1_WC,
  201.   _NL_CTYPE_OUTDIGITS2_WC,
  202.   _NL_CTYPE_OUTDIGITS3_WC,
  203.   _NL_CTYPE_OUTDIGITS4_WC,
  204.   _NL_CTYPE_OUTDIGITS5_WC,
  205.   _NL_CTYPE_OUTDIGITS6_WC,
  206.   _NL_CTYPE_OUTDIGITS7_WC,
  207.   _NL_CTYPE_OUTDIGITS8_WC,
  208.   _NL_CTYPE_OUTDIGITS9_WC,
  209.  
  210.   _NL_TIME_CODESET,
  211.   _NL_TIME_WMON_1,
  212.   _NL_TIME_WMON_2,
  213.   _NL_TIME_WMON_3,
  214.   _NL_TIME_WMON_4,
  215.   _NL_TIME_WMON_5,
  216.   _NL_TIME_WMON_6,
  217.   _NL_TIME_WMON_7,
  218.   _NL_TIME_WMON_8,
  219.   _NL_TIME_WMON_9,
  220.   _NL_TIME_WMON_10,
  221.   _NL_TIME_WMON_11,
  222.   _NL_TIME_WMON_12,
  223.   _NL_TIME_WMONTH_1,
  224.   _NL_TIME_WMONTH_2,
  225.   _NL_TIME_WMONTH_3,
  226.   _NL_TIME_WMONTH_4,
  227.   _NL_TIME_WMONTH_5,
  228.   _NL_TIME_WMONTH_6,
  229.   _NL_TIME_WMONTH_7,
  230.   _NL_TIME_WMONTH_8,
  231.   _NL_TIME_WMONTH_9,
  232.   _NL_TIME_WMONTH_10,
  233.   _NL_TIME_WMONTH_11,
  234.   _NL_TIME_WMONTH_12,
  235.   _NL_TIME_WWDAY_1,
  236.   _NL_TIME_WWDAY_2,
  237.   _NL_TIME_WWDAY_3,
  238.   _NL_TIME_WWDAY_4,
  239.   _NL_TIME_WWDAY_5,
  240.   _NL_TIME_WWDAY_6,
  241.   _NL_TIME_WWDAY_7,
  242.   _NL_TIME_WWEEKDAY_1,
  243.   _NL_TIME_WWEEKDAY_2,
  244.   _NL_TIME_WWEEKDAY_3,
  245.   _NL_TIME_WWEEKDAY_4,
  246.   _NL_TIME_WWEEKDAY_5,
  247.   _NL_TIME_WWEEKDAY_6,
  248.   _NL_TIME_WWEEKDAY_7,
  249.   _NL_TIME_WT_FMT,
  250.   _NL_TIME_WD_FMT,
  251.   _NL_TIME_WD_T_FMT,
  252.   _NL_TIME_WAM_STR,
  253.   _NL_TIME_WPM_STR,
  254.   _NL_TIME_WDATE_FMT,
  255.   _NL_TIME_WT_FMT_AMPM,
  256.   _NL_TIME_WERA,
  257.   _NL_TIME_WERA_D_FMT,
  258.   _NL_TIME_WERA_D_T_FMT,
  259.   _NL_TIME_WERA_T_FMT,
  260.   _NL_TIME_WALT_DIGITS,
  261.  
  262.   _NL_NUMERIC_CODESET,
  263.   _NL_NUMERIC_GROUPING,
  264.   _NL_NUMERIC_DECIMAL_POINT_WC,
  265.   _NL_NUMERIC_THOUSANDS_SEP_WC,
  266.  
  267.   _NL_MONETARY_INT_CURR_SYMBOL,
  268.   _NL_MONETARY_CURRENCY_SYMBOL,
  269.   _NL_MONETARY_MON_DECIMAL_POINT,
  270.   _NL_MONETARY_MON_THOUSANDS_SEP,
  271.   _NL_MONETARY_MON_GROUPING,
  272.   _NL_MONETARY_POSITIVE_SIGN,
  273.   _NL_MONETARY_NEGATIVE_SIGN,
  274.   _NL_MONETARY_INT_FRAC_DIGITS,
  275.   _NL_MONETARY_FRAC_DIGITS,
  276.   _NL_MONETARY_P_CS_PRECEDES,
  277.   _NL_MONETARY_P_SEP_BY_SPACE,
  278.   _NL_MONETARY_N_CS_PRECEDES,
  279.   _NL_MONETARY_N_SEP_BY_SPACE,
  280.   _NL_MONETARY_P_SIGN_POSN,
  281.   _NL_MONETARY_N_SIGN_POSN,
  282.   _NL_MONETARY_INT_P_CS_PRECEDES,
  283.   _NL_MONETARY_INT_P_SEP_BY_SPACE,
  284.   _NL_MONETARY_INT_N_CS_PRECEDES,
  285.   _NL_MONETARY_INT_N_SEP_BY_SPACE,
  286.   _NL_MONETARY_INT_P_SIGN_POSN,
  287.   _NL_MONETARY_INT_N_SIGN_POSN,
  288.   _NL_MONETARY_CODESET,
  289.   _NL_MONETARY_WINT_CURR_SYMBOL,
  290.   _NL_MONETARY_WCURRENCY_SYMBOL,
  291.   _NL_MONETARY_WMON_DECIMAL_POINT,
  292.   _NL_MONETARY_WMON_THOUSANDS_SEP,
  293.   _NL_MONETARY_WPOSITIVE_SIGN,
  294.   _NL_MONETARY_WNEGATIVE_SIGN,
  295.  
  296.   _NL_MESSAGES_WYESEXPR,
  297.   _NL_MESSAGES_WNOEXPR,
  298.   _NL_MESSAGES_WYESSTR,
  299.   _NL_MESSAGES_WNOSTR,
  300.  
  301.   _NL_COLLATE_CODESET,
  302.  
  303.   /* This MUST be the last entry since it's used to check for an array
  304.      index in nl_langinfo(). */
  305.   _NL_LOCALE_EXTENDED_LAST_ENTRY
  306.  
  307. #endif /* __HAVE_LOCALE_INFO_EXTENDED__ */
  308. #endif /* __HAVE_LOCALE_INFO__ */
  309.  
  310. };
  311.  
  312. __BEGIN_DECLS
  313. char    *nl_langinfo(nl_item);
  314. __END_DECLS
  315.  
  316. #endif /* !_LANGINFO_H_ */
  317.