[BACK]Return to locale.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / include

Annotation of src/include/locale.h, Revision 1.26

1.26    ! christos    1: /*     $NetBSD: locale.h,v 1.25 2016/01/29 15:18:33 christos Exp $     */
1.6       cgd         2:
1.1       cgd         3: /*
1.7       perry       4:  * Copyright (c) 1991, 1993
                      5:  *     The Regents of the University of California.  All rights reserved.
1.1       cgd         6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
1.13      agc        15:  * 3. Neither the name of the University nor the names of its contributors
1.1       cgd        16:  *    may be used to endorse or promote products derived from this software
                     17:  *    without specific prior written permission.
                     18:  *
                     19:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     20:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     21:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     22:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     23:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     24:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     25:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     26:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     27:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     28:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     29:  * SUCH DAMAGE.
                     30:  *
1.7       perry      31:  *     @(#)locale.h    8.1 (Berkeley) 6/2/93
1.1       cgd        32:  */
                     33:
                     34: #ifndef _LOCALE_H_
                     35: #define _LOCALE_H_
                     36:
1.20      joerg      37: #include <sys/featuretest.h>
                     38:
1.1       cgd        39: struct lconv {
                     40:        char    *decimal_point;
                     41:        char    *thousands_sep;
                     42:        char    *grouping;
                     43:        char    *int_curr_symbol;
                     44:        char    *currency_symbol;
                     45:        char    *mon_decimal_point;
                     46:        char    *mon_thousands_sep;
                     47:        char    *mon_grouping;
                     48:        char    *positive_sign;
                     49:        char    *negative_sign;
                     50:        char    int_frac_digits;
                     51:        char    frac_digits;
                     52:        char    p_cs_precedes;
                     53:        char    p_sep_by_space;
                     54:        char    n_cs_precedes;
                     55:        char    n_sep_by_space;
                     56:        char    p_sign_posn;
                     57:        char    n_sign_posn;
1.12      kleink     58:        char    int_p_cs_precedes;
                     59:        char    int_n_cs_precedes;
                     60:        char    int_p_sep_by_space;
                     61:        char    int_n_sep_by_space;
                     62:        char    int_p_sign_posn;
                     63:        char    int_n_sign_posn;
1.1       cgd        64: };
                     65:
1.9       kleink     66: #include <sys/null.h>
1.1       cgd        67:
                     68: #define        LC_ALL          0
                     69: #define        LC_COLLATE      1
                     70: #define        LC_CTYPE        2
                     71: #define        LC_MONETARY     3
                     72: #define        LC_NUMERIC      4
                     73: #define        LC_TIME         5
1.3       jtc        74: #define LC_MESSAGES    6
1.1       cgd        75:
1.3       jtc        76: #define        _LC_LAST        7               /* marks end */
1.1       cgd        77:
                     78: #include <sys/cdefs.h>
                     79:
1.19      joerg      80: #if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) || \
                     81:     defined(__SETLOCALE_SOURCE__)
                     82: #  ifndef __LOCALE_T_DECLARED
                     83: typedef struct _locale         *locale_t;
                     84: #  define __LOCALE_T_DECLARED
                     85: #  endif
                     86: #endif
                     87:
1.1       cgd        88: __BEGIN_DECLS
1.17      tnozaki    89: struct lconv *localeconv(void);
                     90: char *setlocale(int, const char *) __RENAME(__setlocale50);
1.19      joerg      91:
                     92: #if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
                     93: #  ifndef __LOCALE_T_DECLARED
                     94: typedef struct _locale         *locale_t;
                     95: #  define __LOCALE_T_DECLARED
                     96: #  endif
1.21      joerg      97: #define        LC_ALL_MASK             ((int)~0)
                     98: #define        LC_COLLATE_MASK         ((int)(1 << LC_COLLATE))
                     99: #define        LC_CTYPE_MASK           ((int)(1 << LC_CTYPE))
                    100: #define        LC_MONETARY_MASK        ((int)(1 << LC_MONETARY))
                    101: #define        LC_NUMERIC_MASK         ((int)(1 << LC_NUMERIC))
                    102: #define        LC_TIME_MASK            ((int)(1 << LC_TIME))
                    103: #define        LC_MESSAGES_MASK        ((int)(1 << LC_MESSAGES))
                    104: locale_t       duplocale(locale_t);
                    105: void           freelocale(locale_t);
1.19      joerg     106: struct lconv   *localeconv_l(locale_t);
1.21      joerg     107: locale_t       newlocale(int, const char *, locale_t);
1.22      joerg     108:
                    109: extern __dso_protected struct _locale  _lc_global_locale;
                    110: #define LC_GLOBAL_LOCALE       (&_lc_global_locale)
1.23      joerg     111: #endif /* _POSIX_SOURCE >= 200809 || _NETBSD_SOURCE */
                    112:
                    113: #if defined(_NETBSD_SOURCE)
                    114: extern __dso_protected const struct _locale _lc_C_locale;
1.22      joerg     115: #define LC_C_LOCALE            ((locale_t)__UNCONST(&_lc_C_locale))
1.19      joerg     116: #endif
1.1       cgd       117: __END_DECLS
                    118:
                    119: #endif /* _LOCALE_H_ */

CVSweb <webmaster@jp.NetBSD.org>