locale.h raw

   1  #ifndef	_LOCALE_H
   2  #define	_LOCALE_H
   3  
   4  #ifdef __cplusplus
   5  extern "C" {
   6  #endif
   7  
   8  #include <features.h>
   9  
  10  #if __cplusplus >= 201103L
  11  #define NULL nullptr
  12  #elif defined(__cplusplus)
  13  #define NULL 0L
  14  #else
  15  #define NULL ((void*)0)
  16  #endif
  17  
  18  #define LC_CTYPE    0
  19  #define LC_NUMERIC  1
  20  #define LC_TIME     2
  21  #define LC_COLLATE  3
  22  #define LC_MONETARY 4
  23  #define LC_MESSAGES 5
  24  #define LC_ALL      6
  25  
  26  struct lconv {
  27  	char *decimal_point;
  28  	char *thousands_sep;
  29  	char *grouping;
  30  
  31  	char *int_curr_symbol;
  32  	char *currency_symbol;
  33  	char *mon_decimal_point;
  34  	char *mon_thousands_sep;
  35  	char *mon_grouping;
  36  	char *positive_sign;
  37  	char *negative_sign;
  38  	char int_frac_digits;
  39  	char frac_digits;
  40  	char p_cs_precedes;
  41  	char p_sep_by_space;
  42  	char n_cs_precedes;
  43  	char n_sep_by_space;
  44  	char p_sign_posn;
  45  	char n_sign_posn;
  46  	char int_p_cs_precedes;
  47  	char int_p_sep_by_space;
  48  	char int_n_cs_precedes;
  49  	char int_n_sep_by_space;
  50  	char int_p_sign_posn;
  51  	char int_n_sign_posn;
  52  };
  53  
  54  
  55  char *setlocale (int, const char *);
  56  struct lconv *localeconv(void);
  57  
  58  
  59  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  60   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  61  
  62  #define __NEED_locale_t
  63  
  64  #include <bits/alltypes.h>
  65  
  66  #define LC_GLOBAL_LOCALE ((locale_t)-1)
  67  
  68  #define LC_CTYPE_MASK    (1<<LC_CTYPE)
  69  #define LC_NUMERIC_MASK  (1<<LC_NUMERIC)
  70  #define LC_TIME_MASK     (1<<LC_TIME)
  71  #define LC_COLLATE_MASK  (1<<LC_COLLATE)
  72  #define LC_MONETARY_MASK (1<<LC_MONETARY)
  73  #define LC_MESSAGES_MASK (1<<LC_MESSAGES)
  74  #define LC_ALL_MASK      0x7fffffff
  75  
  76  locale_t duplocale(locale_t);
  77  void freelocale(locale_t);
  78  locale_t newlocale(int, const char *, locale_t);
  79  locale_t uselocale(locale_t);
  80  
  81  #endif
  82  
  83  
  84  #ifdef __cplusplus
  85  }
  86  #endif
  87  
  88  #endif
  89