0e2cbe9a79
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
126 lines
5.0 KiB
C
126 lines
5.0 KiB
C
/****************************************************************************
|
||
* include/langinfo.h
|
||
*
|
||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||
* contributor license agreements. See the NOTICE file distributed with
|
||
* this work for additional information regarding copyright ownership. The
|
||
* ASF licenses this file to you 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 __INCLUDE_LANGINFO_H
|
||
#define __INCLUDE_LANGINFO_H
|
||
|
||
/****************************************************************************
|
||
* Included Files
|
||
****************************************************************************/
|
||
|
||
#include <nl_types.h>
|
||
#include <locale.h>
|
||
|
||
/****************************************************************************
|
||
* Pre-processor Definitions
|
||
****************************************************************************/
|
||
|
||
#define NL_ITEM(cat, index) (((cat) << 16) | (index))
|
||
#define NL_LOCALE_NAME(cat) NL_ITEM((cat), (0xffff))
|
||
|
||
#define CODESET NL_ITEM(LC_CTYPE, 0x0e)
|
||
|
||
#define RADIXCHAR NL_ITEM(LC_NUMERIC, 0x00)
|
||
#define THOUSEP NL_ITEM(LC_NUMERIC, 0x01)
|
||
|
||
#define ABDAY_1 NL_ITEM(LC_TIME, 0x00)
|
||
#define ABDAY_2 NL_ITEM(LC_TIME, 0x01)
|
||
#define ABDAY_3 NL_ITEM(LC_TIME, 0x02)
|
||
#define ABDAY_4 NL_ITEM(LC_TIME, 0x03)
|
||
#define ABDAY_5 NL_ITEM(LC_TIME, 0x04)
|
||
#define ABDAY_6 NL_ITEM(LC_TIME, 0x05)
|
||
#define ABDAY_7 NL_ITEM(LC_TIME, 0x06)
|
||
|
||
#define DAY_1 NL_ITEM(LC_TIME, 0x07)
|
||
#define DAY_2 NL_ITEM(LC_TIME, 0x08)
|
||
#define DAY_3 NL_ITEM(LC_TIME, 0x09)
|
||
#define DAY_4 NL_ITEM(LC_TIME, 0x0a)
|
||
#define DAY_5 NL_ITEM(LC_TIME, 0x0b)
|
||
#define DAY_6 NL_ITEM(LC_TIME, 0x0c)
|
||
#define DAY_7 NL_ITEM(LC_TIME, 0x0d)
|
||
|
||
#define ABMON_1 NL_ITEM(LC_TIME, 0x0e)
|
||
#define ABMON_2 NL_ITEM(LC_TIME, 0x0f)
|
||
#define ABMON_3 NL_ITEM(LC_TIME, 0x10)
|
||
#define ABMON_4 NL_ITEM(LC_TIME, 0x11)
|
||
#define ABMON_5 NL_ITEM(LC_TIME, 0x12)
|
||
#define ABMON_6 NL_ITEM(LC_TIME, 0x13)
|
||
#define ABMON_7 NL_ITEM(LC_TIME, 0x14)
|
||
#define ABMON_8 NL_ITEM(LC_TIME, 0x15)
|
||
#define ABMON_9 NL_ITEM(LC_TIME, 0x16)
|
||
#define ABMON_10 NL_ITEM(LC_TIME, 0x17)
|
||
#define ABMON_11 NL_ITEM(LC_TIME, 0x18)
|
||
#define ABMON_12 NL_ITEM(LC_TIME, 0x19)
|
||
|
||
#define MON_1 NL_ITEM(LC_TIME, 0x1a)
|
||
#define MON_2 NL_ITEM(LC_TIME, 0x1b)
|
||
#define MON_3 NL_ITEM(LC_TIME, 0x1c)
|
||
#define MON_4 NL_ITEM(LC_TIME, 0x1d)
|
||
#define MON_5 NL_ITEM(LC_TIME, 0x1e)
|
||
#define MON_6 NL_ITEM(LC_TIME, 0x1f)
|
||
#define MON_7 NL_ITEM(LC_TIME, 0x20)
|
||
#define MON_8 NL_ITEM(LC_TIME, 0x21)
|
||
#define MON_9 NL_ITEM(LC_TIME, 0x22)
|
||
#define MON_10 NL_ITEM(LC_TIME, 0x23)
|
||
#define MON_11 NL_ITEM(LC_TIME, 0x24)
|
||
#define MON_12 NL_ITEM(LC_TIME, 0x25)
|
||
|
||
#define AM_STR NL_ITEM(LC_TIME, 0x26)
|
||
#define PM_STR NL_ITEM(LC_TIME, 0x27)
|
||
#define D_T_FMT NL_ITEM(LC_TIME, 0x28)
|
||
#define D_FMT NL_ITEM(LC_TIME, 0x29)
|
||
#define T_FMT NL_ITEM(LC_TIME, 0x2a)
|
||
#define T_FMT_AMPM NL_ITEM(LC_TIME, 0x2b)
|
||
#define ERA NL_ITEM(LC_TIME, 0x2c)
|
||
#define ERA_D_FMT NL_ITEM(LC_TIME, 0x2e)
|
||
#define ALT_DIGITS NL_ITEM(LC_TIME, 0x2f)
|
||
#define ERA_D_T_FMT NL_ITEM(LC_TIME, 0x30)
|
||
#define ERA_T_FMT NL_ITEM(LC_TIME, 0x31)
|
||
|
||
#define CRNCYSTR NL_ITEM(LC_MONETARY, 0x0f)
|
||
|
||
#define YESEXPR NL_ITEM(LC_MESSAGES, 0x00)
|
||
#define NOEXPR NL_ITEM(LC_MESSAGES, 0x01)
|
||
#define YESSTR NL_ITEM(LC_MESSAGES, 0x02)
|
||
#define NOSTR NL_ITEM(LC_MESSAGES, 0x03)
|
||
|
||
#define nl_langinfo_l(i, l) nl_langinfo(i)
|
||
|
||
/****************************************************************************
|
||
* Public Function Prototypes
|
||
****************************************************************************/
|
||
|
||
#ifdef __cplusplus
|
||
#define EXTERN extern "C"
|
||
extern "C"
|
||
{
|
||
#else
|
||
#define EXTERN extern
|
||
#endif
|
||
|
||
FAR char *nl_langinfo(nl_item item);
|
||
|
||
#undef EXTERN
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif /* __INCLUDE_LANGINFO_H */
|