Files
ac-decomp/include/MSL_C/locale.h
T
Cuyler36 80ef14e480 Add & Link JKernel (#142)
* match and link JKRAram.cpp

* match and link JKRExpHeap

* match and link JKRAramStream.cpp

* match and link JKRFileLoader.cpp

* match and link JKRFileFinder.cpp

* JKernel Dump

* match and link JKRAramArchive.cpp

* match and link JKRDvdArchive.cpp

* match and link JKRCompArchive.cpp

* match but not link JKRDvdAramRipper

* small refactors

* match and link JKRThread.cpp

* fix and link JKRDvdAramStream.cpp

* Formatting fixes

---------

Co-authored-by: SwareJonge <olaf23okken@gmail.com>
2023-11-07 23:34:10 -05:00

131 lines
3.1 KiB
C

#ifndef _LOCALE_H
#define _LOCALE_H
#include "types.h"
//#include "stdlib.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