1/* 2 locale.h 3 Values appropriate for the formatting of monetary and other 4 numberic quantities. 5*/ 6 7#ifndef _LOCALE_H_ 8#define _LOCALE_H_ 9 10#include "_ansi.h" 11 12 /* Indicate that we honor AEABI portability if requested. */ 13#if defined _AEABI_PORTABILITY_LEVEL && _AEABI_PORTABILITY_LEVEL != 0 && !defined _AEABI_PORTABLE 14# define _AEABI_PORTABLE 15#endif 16 17#define __need_NULL 18#include <stddef.h> 19 20_BEGIN_STD_C 21 22#ifdef _AEABI_PORTABLE 23 24extern _CONST int __aeabi_LC_COLLATE; 25extern _CONST int __aeabi_LC_CTYPE; 26extern _CONST int __aeabi_LC_MONETARY; 27extern _CONST int __aeabi_LC_NUMERIC; 28extern _CONST int __aeabi_LC_TIME; 29extern _CONST int __aeabi_LC_ALL; 30 31#define LC_COLLATE (__aeabi_LC_COLLATE) 32#define LC_CTYPE (__aeabi_LC_CTYPE) 33#define LC_MONETARY (__aeabi_LC_MONETARY) 34#define LC_NUMERIC (__aeabi_LC_NUMERIC) 35#define LC_TIME (__aeabi_LC_TIME) 36#define LC_ALL (__aeabi_LC_ALL) 37 38struct __aeabi_lconv { 39 char *decimal_point; 40 char *thousands_sep; 41 char *grouping; 42 char *int_curr_symbol; 43 char *currency_symbol; 44 char *mon_decimal_point; 45 char *mon_thousands_sep; 46 char *mon_grouping; 47 char *positive_sign; 48 char *negative_sign; 49 char int_frac_digits; 50 char frac_digits; 51 char p_cs_precedes; 52 char p_sep_by_space; 53 char n_cs_precedes; 54 char n_sep_by_space; 55 char p_sign_posn; 56 char n_sign_posn; 57 58 /* The following fields are added by C99. */ 59 char int_p_cs_precedes; 60 char int_n_cs_precedes; 61 char int_p_sep_by_space; 62 char int_n_sep_by_space; 63 char int_p_sign_posn; 64 char int_n_sign_posn; 65}; 66#else 67 68#define LC_ALL 0 69#define LC_COLLATE 1 70#define LC_CTYPE 2 71#define LC_MONETARY 3 72#define LC_NUMERIC 4 73#define LC_TIME 5 74#define LC_MESSAGES 6 75 76struct lconv 77{ 78 char *decimal_point; 79 char *thousands_sep; 80 char *grouping; 81 char *int_curr_symbol; 82 char *currency_symbol; 83 char *mon_decimal_point; 84 char *mon_thousands_sep; 85 char *mon_grouping; 86 char *positive_sign; 87 char *negative_sign; 88 char int_frac_digits; 89 char frac_digits; 90 char p_cs_precedes; 91 char p_sep_by_space; 92 char n_cs_precedes; 93 char n_sep_by_space; 94 char p_sign_posn; 95 char n_sign_posn; 96 char int_n_cs_precedes; 97 char int_n_sep_by_space; 98 char int_n_sign_posn; 99 char int_p_cs_precedes; 100 char int_p_sep_by_space; 101 char int_p_sign_posn; 102}; 103#endif /* _AEABI_PORTABLE */ 104 105#ifndef _REENT_ONLY 106char *_EXFUN(setlocale,(int category, const char *locale)); 107# ifdef _AEABI_PORTABLE 108struct __aeabi_lconv *_EXFUN(__aeabi_localeconv,(void)); 109# else 110struct lconv *_EXFUN(localeconv,(void)); 111# endif 112#endif 113 114struct _reent; 115char *_EXFUN(_setlocale_r,(struct _reent *, int category, const char *locale)); 116struct lconv *_EXFUN(_localeconv_r,(struct _reent *)); 117 118_END_STD_C 119 120#endif /* _LOCALE_H_ */ 121