1 /*********************************************************************** 2 * * 3 * This software is part of the ast package * 4 * Copyright (c) 1985-2010 AT&T Intellectual Property * 5 * and is licensed under the * 6 * Common Public License, Version 1.0 * 7 * by AT&T Intellectual Property * 8 * * 9 * A copy of the License is available at * 10 * http://www.opensource.org/licenses/cpl1.0.txt * 11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 12 * * 13 * Information and Software Systems Research * 14 * AT&T Research * 15 * Florham Park NJ * 16 * * 17 * Glenn Fowler <gsf@research.att.com> * 18 * David Korn <dgk@research.att.com> * 19 * Phong Vo <kpv@research.att.com> * 20 * * 21 ***********************************************************************/ 22 #pragma prototyped 23 24 /* 25 * locale state private definitions 26 */ 27 28 #ifndef _LCLIB_H 29 #define _LCLIB_H 1 30 31 #define locales _ast_locales 32 #define translate _ast_translate 33 34 #define lc_categories _ast_lc_categories 35 #define lc_charsets _ast_lc_charsets 36 #define lc_languages _ast_lc_languages 37 #define lc_maps _ast_lc_maps 38 #define lc_territories _ast_lc_territories 39 40 struct Lc_info_s; 41 42 #define _LC_PRIVATE_ \ 43 struct Lc_info_s info[AST_LC_COUNT]; \ 44 struct Lc_s* next; 45 46 #define _LC_TERRITORY_PRIVATE_ \ 47 unsigned char indices[LC_territory_language_max]; 48 49 #include <ast.h> 50 #include <error.h> 51 #include <lc.h> 52 53 typedef struct Lc_numeric_s 54 { 55 int decimal; 56 int thousand; 57 } Lc_numeric_t; 58 59 #define LCINFO(c) (&locales[c]->info[c]) 60 61 extern const Lc_charset_t lc_charsets[]; 62 extern const Lc_language_t lc_languages[]; 63 extern const Lc_map_t lc_maps[]; 64 extern const Lc_territory_t lc_territories[]; 65 66 extern Lc_category_t lc_categories[]; 67 extern Lc_t* locales[]; 68 69 extern char* translate(const char*, const char*, const char*, const char*); 70 71 #endif 72