X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=includes%2Flocale.h;h=f9dd659ed18d132bdd23d37028cbcdc69154060d;hp=566fa5d40ac8218c9b7fce0b67bb5f2abfc4cf03;hb=1d9d92ba957a0b8307c9a65c35867fde68e6533b;hpb=8c8750c2826684c2420571a8007b9606f72c9040 diff --git a/includes/locale.h b/includes/locale.h index 566fa5d..f9dd659 100644 --- a/includes/locale.h +++ b/includes/locale.h @@ -1,84 +1,93 @@ -// ---------------------------------------------------------------------------- -// $Id$ -// ---------------------------------------------------------------------------- -// Public Domain C Library - http://pdclib.sourceforge.net -// This code is Public Domain. Use, modify, and redistribute at will. -// ---------------------------------------------------------------------------- -// Localization -// ---------------------------------------------------------------------------- +/* ---------------------------------------------------------------------------- + * $Id$ + * ---------------------------------------------------------------------------- + * Public Domain C Library - http://pdclib.sourceforge.net + * This code is Public Domain. Use, modify, and redistribute at will. + * ---------------------------------------------------------------------------- + * Localization + * --------------------------------------------------------------------------*/ -#ifndef __LOCALE_H -#define __LOCALE_H __LOCALE_H +#ifndef _LOCALE_H +#define _LOCALE_H _LOCALE_H -// ---------------------------------------------------------------------------- -// DEFINES +#ifndef _NULL +#include "__intern.h" +#endif /* _NULL */ -#include "__NULL.h" +/* ---------------------------------------------------------------------------- + * DEFINES + * --------------------------------------------------------------------------*/ -// Locale categories -#define LC_COLLATE 1 // affects strcoll() and strxfrm() -#define LC_CTYPE 2 // affects ctype.h -#define LC_MONETARY 4 // affects monetary aspect of localeconv() -#define LC_NUMERIC 8 // affects numeric aspect of localeconv() -#define LC_TIME 16 // affects strftime() -#define LC_ALL 31 // affects all of the above +#define NULL _NULL -// ---------------------------------------------------------------------------- -// TYPEDEFS +/* Locale categories */ +#define LC_COLLATE 1 /* affects strcoll() and strxfrm() */ +#define LC_CTYPE 2 /* affects ctype.h */ +#define LC_MONETARY 4 /* affects monetary aspect of localeconv() */ +#define LC_NUMERIC 8 /* affects numeric aspect of localeconv() */ +#define LC_TIME 16 /* affects strftime() */ +#define LC_ALL 31 /* affects all of the above */ -// TODO: Detailed documentation of grouping formats and field values +/* ---------------------------------------------------------------------------- + * TYPEDEFS + * --------------------------------------------------------------------------*/ + +/* TODO: Detailed documentation of grouping formats and field values */ struct lconv { - // LC_NUMERIC - char * decimal_point; // decimal point - char * grouping; // grouping - char * thousands_sep; // grouping string + /* LC_NUMERIC */ + char * decimal_point; /* decimal point */ + char * grouping; /* grouping */ + char * thousands_sep; /* grouping string */ - // LC_MONETARY - char * mon_decimal_point; // decimal point - char * mon_grouping; // grouping - char * mon_thousands_sep; // grouping string - char * negative_sign; // negative sign - char * positive_sign; // positive sign - char * currency_symbol; // currency symbol - char frac_digits; // after-point digits - // negative values - char n_cs_precedes; // currency symbol preceding value? - char n_sep_by_space; // currency symbol seperated by space? - char n_sign_posn; // sign position - // positive values - char p_cs_precedes; // currency symbol preceding value? - char p_sep_by_space; // currency symbol seperated by space? - char p_sign_posn; // sign position? + /* LC_MONETARY */ + char * mon_decimal_point; /* decimal point */ + char * mon_grouping; /* grouping */ + char * mon_thousands_sep; /* grouping string */ + char * negative_sign; /* negative sign */ + char * positive_sign; /* positive sign */ + char * currency_symbol; /* currency symbol */ + char frac_digits; /* after-point digits */ + /* negative values */ + char n_cs_precedes; /* currency symbol preceding value? */ + char n_sep_by_space; /* currency symbol seperated by space? */ + char n_sign_posn; /* sign position */ + /* positive values */ + char p_cs_precedes; /* currency symbol preceding value? */ + char p_sep_by_space; /* currency symbol seperated by space? */ + char p_sign_posn; /* sign position? */ - // for international monetary values - char * int_curr_symbol; // international currency symbol (ISO 4217) - char int_frac_digits; // after-point digits - // negative values - char int_n_cs_precedes; // currency symbol preceding value? - char int_n_sep_by_space; // currency symbol seperated by space? - char int_n_sign_posn; // sign position? - // positive values - char int_p_cs_precedes; // currency symbol preceding value? - char int_p_sep_by_space; // currency symbol seperated by space? - char int_p_sign_posn; // sign position? + /* for international monetary values */ + char * int_curr_symbol; /* international currency symbol (ISO 4217) */ + char int_frac_digits; /* after-point digits */ + /* negative values */ + char int_n_cs_precedes; /* currency symbol preceding value? */ + char int_n_sep_by_space; /* currency symbol seperated by space? */ + char int_n_sign_posn; /* sign position? */ + /* positive values */ + char int_p_cs_precedes; /* currency symbol preceding value? */ + char int_p_sep_by_space; /* currency symbol seperated by space? */ + char int_p_sign_posn; /* sign position? */ }; -// ---------------------------------------------------------------------------- -// FUNCTIONS +/* ---------------------------------------------------------------------------- + * FUNCTIONS + * --------------------------------------------------------------------------*/ -// Returns a (pointer to a) lconv structure holding the values for the current -// locale. The structure must not be changed; values might become outdated with -// later calls to setlocale() changing LC_NUMERIC, LC_MONETARY or LC_ALL. +/** Returns a (pointer to a) lconv structure holding the values for the current + * locale. The structure must not be changed; values might become outdated with + * later calls to setlocale() changing LC_NUMERIC, LC_MONETARY or LC_ALL. + */ struct lconv * localeconv( void ); -// Categories are selected by OR'ing the LC_* defines from this header. The -// function sets the current locale to that defined by locale_name, and returns -// the name of the new locale (if it was set successfully) or a null pointer -// (if unsuccessful). At startup, the current locale is "C" by default. A null -// pointer as locale_name leaves the locale unchanged, an empty string sets it -// to the "native" locale. +/** Categories are selected by OR'ing the LC_* defines from this header. The + * function sets the current locale to that defined by locale_name, and returns + * the name of the new locale (if it was set successfully) or a null pointer + * (if unsuccessful). At startup, the current locale is "C" by default. A null + * pointer as locale_name leaves the locale unchanged, an empty string sets it + * to the "native" locale. + */ char * setlocale( int categories, const char * locale_name ); -#endif // __LOCALE_H +#endif /* _LOCALE_H */