mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
122 lines
2.7 KiB
C
122 lines
2.7 KiB
C
#ifndef _LOCALE_H
|
|
#define _LOCALE_H
|
|
|
|
#include "MSL_C/wchar_io.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef int (*__decode_mbyte)(wchar_t*, const char*, size_t);
|
|
typedef int (*__encode_mbyte)(char*, wchar_t);
|
|
|
|
struct lconv {
|
|
char* decimal_point;
|
|
char* thousands_sep;
|
|
char* grouping;
|
|
char* mon_decimal_point;
|
|
char* mon_thousands_sep;
|
|
char* mon_grouping;
|
|
char* positive_sign;
|
|
char* negative_sign;
|
|
char* currency_symbol;
|
|
char frac_digits;
|
|
char p_cs_precedes;
|
|
char n_cs_precedes;
|
|
char p_sep_by_space;
|
|
char n_sep_by_space;
|
|
char p_sign_posn;
|
|
char n_sign_posn;
|
|
char* int_curr_symbol;
|
|
char int_frac_digits;
|
|
char int_p_cs_precedes;
|
|
char int_n_cs_precedes;
|
|
char int_p_sep_by_space;
|
|
char int_n_sep_by_space;
|
|
char int_p_sign_posn;
|
|
char int_n_sign_posn;
|
|
};
|
|
|
|
struct _loc_mon_cmpt {
|
|
char CmptName[8];
|
|
char* mon_decimal_point;
|
|
char* mon_thousands_sep;
|
|
char* mon_grouping;
|
|
char* positive_sign;
|
|
char* negative_sign;
|
|
char* currency_symbol;
|
|
char frac_digits;
|
|
char p_cs_precedes;
|
|
char n_cs_precedes;
|
|
char p_sep_by_space;
|
|
char n_sep_by_space;
|
|
char p_sign_posn;
|
|
char n_sign_posn;
|
|
char* int_curr_symbol;
|
|
char int_frac_digits;
|
|
char int_p_cs_precedes;
|
|
char int_n_cs_precedes;
|
|
char int_p_sep_by_space;
|
|
char int_n_sep_by_space;
|
|
char int_p_sign_posn;
|
|
char int_n_sign_posn;
|
|
};
|
|
|
|
struct _loc_num_cmpt {
|
|
char CmptName[8];
|
|
char* decimal_point;
|
|
char* thousands_sep;
|
|
char* grouping;
|
|
};
|
|
|
|
struct _loc_time_cmpt {
|
|
char CmptName[8];
|
|
char* am_pm;
|
|
char* DateTime_Format;
|
|
char* Twelve_hr_format;
|
|
char* Date_Format;
|
|
char* Time_Format;
|
|
char* Day_Names;
|
|
char* MonthNames;
|
|
char* TimeZone;
|
|
};
|
|
|
|
struct _loc_coll_cmpt {
|
|
char CmptName[8];
|
|
int char_start_value;
|
|
int char_coll_tab_size;
|
|
short char_spec_accents;
|
|
unsigned short* char_coll_table_ptr;
|
|
unsigned short* wchar_coll_seq_ptr;
|
|
};
|
|
|
|
struct _loc_ctype_cmpt {
|
|
char CmptName[8];
|
|
const unsigned short* ctype_map_ptr;
|
|
const unsigned char* upper_map_ptr;
|
|
const unsigned char* lower_map_ptr;
|
|
const unsigned short* wctype_map_ptr;
|
|
const wchar_t* wupper_map_ptr;
|
|
const wchar_t* wlower_map_ptr;
|
|
__decode_mbyte decode_mb;
|
|
__encode_mbyte encode_wc;
|
|
};
|
|
|
|
struct __locale {
|
|
struct __locale* next_locale;
|
|
char locale_name[48];
|
|
struct _loc_coll_cmpt* coll_cmpt_ptr;
|
|
struct _loc_ctype_cmpt* ctype_cmpt_ptr;
|
|
struct _loc_mon_cmpt* mon_cmpt_ptr;
|
|
struct _loc_num_cmpt* num_cmpt_ptr;
|
|
struct _loc_time_cmpt* time_cmpt_ptr;
|
|
};
|
|
|
|
extern struct __locale _current_locale;
|
|
extern struct lconv __lconv;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|