109 lines
2.7 KiB
C
Executable File
109 lines
2.7 KiB
C
Executable File
/**
|
|
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#ifndef _LOCALE_H
|
|
#define _LOCALE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <features.h>
|
|
|
|
#ifdef __cplusplus
|
|
#define NULL 0L
|
|
#else
|
|
#define NULL ((void*)0)
|
|
#endif
|
|
|
|
#define LC_CTYPE 0
|
|
#define LC_NUMERIC 1
|
|
#define LC_TIME 2
|
|
#define LC_COLLATE 3
|
|
#define LC_MONETARY 4
|
|
#define LC_MESSAGES 5
|
|
#define LC_PAPER 6
|
|
#define LC_NAME 7
|
|
#define LC_ADDRESS 8
|
|
#define LC_TELEPHONE 9
|
|
#define LC_MEASUREMENT 10
|
|
#define LC_IDENTIFICATION 11
|
|
#define LC_ALL 12
|
|
|
|
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;
|
|
char int_p_cs_precedes;
|
|
char int_p_sep_by_space;
|
|
char int_n_cs_precedes;
|
|
char int_n_sep_by_space;
|
|
char int_p_sign_posn;
|
|
char int_n_sign_posn;
|
|
};
|
|
|
|
char *setlocale (int, const char *);
|
|
struct lconv *localeconv(void);
|
|
|
|
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|
|
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
|
|
|
#define __NEED_locale_t
|
|
|
|
#include <bits/alltypes.h>
|
|
|
|
#define LC_GLOBAL_LOCALE ((locale_t)-1)
|
|
|
|
#define LC_CTYPE_MASK (1<<LC_CTYPE)
|
|
#define LC_NUMERIC_MASK (1<<LC_NUMERIC)
|
|
#define LC_TIME_MASK (1<<LC_TIME)
|
|
#define LC_COLLATE_MASK (1<<LC_COLLATE)
|
|
#define LC_MONETARY_MASK (1<<LC_MONETARY)
|
|
#define LC_MESSAGES_MASK (1<<LC_MESSAGES)
|
|
#define LC_PAPER_MASK (1<<LC_PAPER)
|
|
#define LC_NAME_MASK (1<<LC_NAME)
|
|
#define LC_ADDRESS_MASK (1<<LC_ADDRESS)
|
|
#define LC_TELEPHONE_MASK (1<<LC_TELEPHONE)
|
|
#define LC_MEASUREMENT_MASK (1<<LC_MEASUREMENT)
|
|
#define LC_IDENTIFICATION_MASK (1<<LC_IDENTIFICATION)
|
|
#define LC_ALL_MASK 0x7fffffff
|
|
|
|
locale_t duplocale(locale_t);
|
|
void freelocale(locale_t);
|
|
locale_t newlocale(int, const char *, locale_t);
|
|
locale_t uselocale(locale_t);
|
|
|
|
#endif
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|