nb_lc_monetary_misc.h revision 1.1
11.1Stnozaki/* $NetBSD: nb_lc_monetary_misc.h,v 1.1 2009/01/02 00:20:20 tnozaki Exp $ */ 21.1Stnozaki 31.1Stnozaki/*- 41.1Stnozaki * Copyright (c)2008 Citrus Project, 51.1Stnozaki * All rights reserved. 61.1Stnozaki * 71.1Stnozaki * Redistribution and use in source and binary forms, with or without 81.1Stnozaki * modification, are permitted provided that the following conditions 91.1Stnozaki * are met: 101.1Stnozaki * 1. Redistributions of source code must retain the above copyright 111.1Stnozaki * notice, this list of conditions and the following disclaimer. 121.1Stnozaki * 2. Redistributions in binary form must reproduce the above copyright 131.1Stnozaki * notice, this list of conditions and the following disclaimer in the 141.1Stnozaki * documentation and/or other materials provided with the distribution. 151.1Stnozaki * 161.1Stnozaki * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 171.1Stnozaki * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 181.1Stnozaki * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 191.1Stnozaki * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 201.1Stnozaki * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 211.1Stnozaki * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 221.1Stnozaki * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 231.1Stnozaki * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 241.1Stnozaki * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 251.1Stnozaki * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 261.1Stnozaki * SUCH DAMAGE. 271.1Stnozaki */ 281.1Stnozaki 291.1Stnozaki#ifndef _NB_LC_MONETARY_MISC_H_ 301.1Stnozaki#define _NB_LC_MONETARY_MISC_H_ 311.1Stnozaki 321.1Stnozaki/* 331.1Stnozaki * macro required by nb_lc_template(_decl).h 341.1Stnozaki */ 351.1Stnozaki#define _CATEGORY_TYPE _MonetaryLocale 361.1Stnozaki 371.1Stnozakistatic __inline void 381.1Stnozaki_PREFIX(build_cache)(struct _locale_cache_t * __restrict cache, 391.1Stnozaki _MonetaryLocale * __restrict data) 401.1Stnozaki{ 411.1Stnozaki _DIAGASSERT(cache != NULL); 421.1Stnozaki _DIAGASSERT(data != NULL); 431.1Stnozaki 441.1Stnozaki cache->ldata.int_curr_symbol = __UNCONST(data->int_curr_symbol); 451.1Stnozaki cache->ldata.currency_symbol = __UNCONST(data->currency_symbol); 461.1Stnozaki cache->ldata.mon_decimal_point = __UNCONST(data->mon_decimal_point); 471.1Stnozaki cache->ldata.mon_thousands_sep = __UNCONST(data->mon_thousands_sep); 481.1Stnozaki cache->ldata.mon_grouping = __UNCONST(data->mon_grouping); 491.1Stnozaki cache->ldata.positive_sign = __UNCONST(data->positive_sign); 501.1Stnozaki cache->ldata.negative_sign = __UNCONST(data->negative_sign); 511.1Stnozaki 521.1Stnozaki cache->ldata.int_frac_digits = data->int_frac_digits; 531.1Stnozaki cache->ldata.frac_digits = data->frac_digits; 541.1Stnozaki cache->ldata.p_cs_precedes = data->p_cs_precedes; 551.1Stnozaki cache->ldata.p_sep_by_space = data->p_sep_by_space; 561.1Stnozaki cache->ldata.n_cs_precedes = data->n_cs_precedes; 571.1Stnozaki cache->ldata.n_sep_by_space = data->n_sep_by_space; 581.1Stnozaki cache->ldata.p_sign_posn = data->p_sign_posn; 591.1Stnozaki cache->ldata.n_sign_posn = data->n_sign_posn; 601.1Stnozaki cache->ldata.int_p_cs_precedes = data->int_p_cs_precedes; 611.1Stnozaki cache->ldata.int_n_cs_precedes = data->int_n_cs_precedes; 621.1Stnozaki cache->ldata.int_p_sep_by_space = data-> int_p_sep_by_space; 631.1Stnozaki cache->ldata.int_n_sep_by_space = data->int_n_sep_by_space; 641.1Stnozaki cache->ldata.int_p_sign_posn = data->int_p_sign_posn; 651.1Stnozaki cache->ldata.int_n_sign_posn = data->int_n_sign_posn; 661.1Stnozaki 671.1Stnozaki cache->items[(size_t)CRNCYSTR] = NULL; /* NOT IMPLEMENTED YET */ 681.1Stnozaki} 691.1Stnozaki 701.1Stnozakistatic __inline void 711.1Stnozaki_PREFIX(fixup)(_MonetaryLocale *data) 721.1Stnozaki{ 731.1Stnozaki _DIAGASSERT(data != NULL); 741.1Stnozaki 751.1Stnozaki _CurrentMonetaryLocale = data; 761.1Stnozaki} 771.1Stnozaki 781.1Stnozaki/* 791.1Stnozaki * macro required by nb_lc_template.h 801.1Stnozaki */ 811.1Stnozaki#define _CATEGORY_ID LC_MONETARY 821.1Stnozaki#define _CATEGORY_NAME "LC_MONETARY" 831.1Stnozaki#define _CATEGORY_DEFAULT _DefaultMonetaryLocale 841.1Stnozaki 851.1Stnozaki#endif /*_RUNE_LC_MONETARY_MISC_H_*/ 86