-// ----------------------------------------------------------------------------
-// $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 */