/* locale.h: Locale category macros. */

#ifndef _LOCALE_H
#define _LOCALE_H

#include <bits/locale-cat.h>

struct lconv
{
    char* decimal_point;
    char* thousands_sep;
    char* grouping;
    char* int_curr_symbol;
    char* currency_symbol;
    char* mon_decimal_point;
    char* mon_thousands_sep;
    char* mon_grouping;
    char* positive_sign;
    char* negative_sign;
    char int_frac_digits;
    char frac_digits;
    char p_cs_precedes;
    char p_sep_by_space;
    char n_cs_precedes;
    char n_sep_by_space;
    char p_sign_posn;
    char n_sign_posn;
};

#ifdef __cplusplus
extern "C"
{
#endif

    // Query or set the current locale.
    char* setlocale(int category, const char* locale);

    // Query formatting information for the current locale.
    struct lconv* localeconv(void);

#ifdef __cplusplus
}
#endif

#endif