X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=includes%2Flocale.h;h=da9138245082ee2995d9471690725893d2b59c9b;hp=fd014db44469b13fe8ae4f77f98c44534617bcfe;hb=761281caf431d264d568aec797095ef2c28f3910;hpb=0fa6394bc70eab55e0e38703a31a3072232c0729 diff --git a/includes/locale.h b/includes/locale.h index fd014db..da91382 100644 --- a/includes/locale.h +++ b/includes/locale.h @@ -1,6 +1,4 @@ -/* $Id$ */ - -/* 7.11 Localization +/* Localization This file is part of the Public Domain C Library (PDCLib). Permission is granted to use, modify, and / or redistribute at will. @@ -9,6 +7,13 @@ #ifndef _PDCLIB_LOCALE_H #define _PDCLIB_LOCALE_H _PDCLIB_LOCALE_H +#include "_PDCLIB_int.h" + +#ifndef _PDCLIB_NULL_DEFINED +#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED +#define NULL _PDCLIB_NULL +#endif + /* The structure returned by localeconv(). The values for *_sep_by_space: @@ -27,6 +32,12 @@ */ struct lconv { + struct _PDCLIB_ctype_t * ctype; /* internal information */ + char * _PDCLIB_errno_texts[_PDCLIB_ERRNO_MAX]; /* strerror() / perror() */ + char * _PDCLIB_month_name_abbr[12]; /* month names, abbreviated */ + char * _PDCLIB_month_name_full[12]; /* month names, full */ + char * _PDCLIB_day_name_abbr[7]; /* weekday names, abbreviated */ + char * _PDCLIB_day_name_full[7]; /* weekday names, full */ char * decimal_point; /* decimal point character */ char * thousands_sep; /* character for seperating groups of digits */ char * grouping; /* string indicating the size of digit groups */ @@ -51,29 +62,27 @@ struct lconv char int_n_sep_by_space; /* Same as above, for international format */ char int_p_sign_posn; /* Same as above, for international format */ char int_n_sign_posn; /* Same as above, for international format */ -} +}; -#ifndef _PDCLIB_NULL_DEFINED -#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED -#define NULL _PDCLIB_NULL -#endif - -/* LC_ALL - - entire locale - LC_COLLATE - - strcoll(), strxfrm() - LC_CTYPE - - - LC_MONETARY - - monetary formatting as returned by localeconv - LC_NUMERIC - - decimal-point character for printf() / scanf() functions, string - conversions, and nonmonetary formattign as returned by localeconv - LC_TIME - - strftime(), wcsftime() +/* This is strictly internal, and visible here for technical reasons only. */ +extern struct lconv _PDCLIB_lconv; - First arguments to setlocale(). +/* First arguments to setlocale(). + TODO: Beware, values might change before v0.6 is released. */ +/* Entire locale */ +#define LC_ALL 0 +/* Collation (strcoll(), strxfrm()) */ +#define LC_COLLATE 1 +/* Character types () */ +#define LC_CTYPE 2 +/* Monetary formatting (as returned by localeconv) */ +#define LC_MONETARY 3 +/* Decimal-point character (for printf() / scanf() functions), string + conversions, nonmonetary formatting as returned by localeconv */ +#define LC_NUMERIC 4 +/* Time formats (strftime(), wcsftime()) */ +#define LC_TIME 5 /* The category parameter can be any of the LC_* macros to specify if the call to setlocale() shall affect the entire locale or only a portion thereof. @@ -91,4 +100,3 @@ char * setlocale( int category, const char * locale ); struct lconv * localeconv( void ); #endif -