PHP 8.5.2
Preview: locale.h Size: 7.50 KB
//usr/include/locale.h

/* Copyright (C) 1991-2024 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, see
   <https://www.gnu.org/licenses/>.  */

/*
 *	ISO C99 Standard: 7.11 Localization	<locale.h>
 */

#ifndef	_LOCALE_H
#define	_LOCALE_H	1

#include <features.h>

#define __need_NULL
#include <stddef.h>
#include <bits/locale.h>

__BEGIN_DECLS

/* These are the possibilities for the first argument to setlocale.
   The code assumes that the lowest LC_* symbol has the value zero.  */
#define LC_CTYPE          __LC_CTYPE
#define LC_NUMERIC        __LC_NUMERIC
#define LC_TIME           __LC_TIME
#define LC_COLLATE        __LC_COLLATE
#define LC_MONETARY       __LC_MONETARY
#define LC_MESSAGES       __LC_MESSAGES
#define	LC_ALL		  __LC_ALL
#define LC_PAPER	  __LC_PAPER
#define LC_NAME		  __LC_NAME
#define LC_ADDRESS	  __LC_ADDRESS
#define LC_TELEPHONE	  __LC_TELEPHONE
#define LC_MEASUREMENT	  __LC_MEASUREMENT
#define LC_IDENTIFICATION __LC_IDENTIFICATION


/* Structure giving information about numeric and monetary notation.  */
struct lconv
{
  /* Numeric (non-monetary) information.  */

  char *decimal_point;		/* Decimal point character.  */
  char *thousands_sep;		/* Thousands separator.  */
  /* Each element is the number of digits in each group;
     elements with higher indices are farther left.
     An element with value CHAR_MAX means that no further grouping is done.
     An element with value 0 means that the previous element is used
     for all groups farther left.  */
  char *grouping;

  /* Monetary information.  */

  /* First three chars are a currency symbol from ISO 4217.
     Fourth char is the separator.  Fifth char is '\0'.  */
  char *int_curr_symbol;
  char *currency_symbol;	/* Local currency symbol.  */
  char *mon_decimal_point;	/* Decimal point character.  */
  char *mon_thousands_sep;	/* Thousands separator.  */
  char *mon_grouping;		/* Like `grouping' element (above).  */
  char *positive_sign;		/* Sign for positive values.  */
  char *negative_sign;		/* Sign for negative values.  */
  char int_frac_digits;		/* Int'l fractional digits.  */
  char frac_digits;		/* Local fractional digits.  */
  /* 1 if currency_symbol precedes a positive value, 0 if succeeds.  */
  char p_cs_precedes;
  /* 1 iff a space separates currency_symbol from a positive value.  */
  char p_sep_by_space;
  /* 1 if currency_symbol precedes a negative value, 0 if succeeds.  */
  char n_cs_precedes;
  /* 1 iff a space separates currency_symbol from a negative value.  */
  char n_sep_by_space;
  /* Positive and negative sign positions:
     0 Parentheses surround the quantity and currency_symbol.
     1 The sign string precedes the quantity and currency_symbol.
     2 The sign string follows the quantity and currency_symbol.
     3 The sign string immediately precedes the currency_symbol.
     4 The sign string immediately follows the currency_symbol.  */
  char p_sign_posn;
  char n_sign_posn;
#ifdef __USE_ISOC99
  /* 1 if int_curr_symbol precedes a positive value, 0 if succeeds.  */
  char int_p_cs_precedes;
  /* 1 iff a space separates int_curr_symbol from a positive value.  */
  char int_p_sep_by_space;
  /* 1 if int_curr_symbol precedes a negative value, 0 if succeeds.  */
  char int_n_cs_precedes;
  /* 1 iff a space separates int_curr_symbol from a negative value.  */
  char int_n_sep_by_space;
  /* Positive and negative sign positions:
     0 Parentheses surround the quantity and int_curr_symbol.
     1 The sign string precedes the quantity and int_curr_symbol.
     2 The sign string follows the quantity and int_curr_symbol.
     3 The sign string immediately precedes the int_curr_symbol.
     4 The sign string immediately follows the int_curr_symbol.  */
  char int_p_sign_posn;
  char int_n_sign_posn;
#else
  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;
#endif
};


/* Set and/or return the current locale.  */
extern char *setlocale (int __category, const char *__locale) __THROW;

/* Return the numeric/monetary information for the current locale.  */
extern struct lconv *localeconv (void) __THROW;


#ifdef	__USE_XOPEN2K8
/* POSIX.1-2008 extends the locale interface with functions for
   explicit creation and manipulation of 'locale_t' objects
   representing locale contexts, and a set of parallel
   locale-sensitive text processing functions that take a locale_t
   argument.  This enables applications to work with data from
   multiple locales simultaneously and thread-safely.  */
# include <bits/types/locale_t.h>

/* Return a reference to a data structure representing a set of locale
   datasets.  Unlike for the CATEGORY parameter for `setlocale' the
   CATEGORY_MASK parameter here uses a single bit for each category,
   made by OR'ing together LC_*_MASK bits above.  */
extern locale_t newlocale (int __category_mask, const char *__locale,
			   locale_t __base) __THROW;

/* These are the bits that can be set in the CATEGORY_MASK argument to
   `newlocale'.  In the GNU implementation, LC_FOO_MASK has the value
   of (1 << LC_FOO), but this is not a part of the interface that
   callers can assume will be true.  */
# 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		(LC_CTYPE_MASK \
				 | LC_NUMERIC_MASK \
				 | LC_TIME_MASK \
				 | LC_COLLATE_MASK \
				 | LC_MONETARY_MASK \
				 | LC_MESSAGES_MASK \
				 | LC_PAPER_MASK \
				 | LC_NAME_MASK \
				 | LC_ADDRESS_MASK \
				 | LC_TELEPHONE_MASK \
				 | LC_MEASUREMENT_MASK \
				 | LC_IDENTIFICATION_MASK \
				 )

/* Return a duplicate of the set of locale in DATASET.  All usage
   counters are increased if necessary.  */
extern locale_t duplocale (locale_t __dataset) __THROW;

/* Free the data associated with a locale dataset previously returned
   by a call to `setlocale_r'.  */
extern void freelocale (locale_t __dataset) __THROW;

/* Switch the current thread's locale to DATASET.
   If DATASET is null, instead just return the current setting.
   The special value LC_GLOBAL_LOCALE is the initial setting
   for all threads and can also be installed any time, meaning
   the thread uses the global settings controlled by `setlocale'.  */
extern locale_t uselocale (locale_t __dataset) __THROW;

/* This value can be passed to `uselocale' and may be returned by it.
   Passing this value to any other function has undefined behavior.  */
# define LC_GLOBAL_LOCALE	((locale_t) -1L)

#endif

__END_DECLS

#endif /* locale.h  */

Directory Contents

Dirs: 36 × Files: 111

Name Size Perms Modified Actions
arpa DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
c++ DIR
- drwxr-xr-x 2026-01-23 09:03:09
Edit Download
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
drm DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
finclude DIR
- drwxr-xr-x 2026-01-08 12:55:43
Edit Download
iproute2 DIR
- drwxr-xr-x 2026-01-08 12:55:09
Edit Download
linux DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
memcached DIR
- drwxr-xr-x 2026-01-23 09:03:05
Edit Download
misc DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
mtd DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
net DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netash DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netatalk DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netax25 DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
neteconet DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netinet DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netipx DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netiucv DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netpacket DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netrom DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
netrose DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
nfs DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
openssl DIR
- drwxr-xr-x 2026-02-07 06:05:11
Edit Download
protocols DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
rdma DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
regulator DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
rpc DIR
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
rpcsvc DIR
- drwxr-xr-x 2026-01-08 12:55:43
Edit Download
scsi DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
sound DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
video DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
X11 DIR
- drwxr-xr-x 2024-04-08 16:23:20
Edit Download
- drwxr-xr-x 2026-02-07 06:05:07
Edit Download
xen DIR
- drwxr-xr-x 2026-02-07 06:05:08
Edit Download
xfs DIR
- drwxr-xr-x 2024-10-17 07:36:15
Edit Download
7.56 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.98 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.17 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.69 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
24.95 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.91 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
4.97 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.42 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
7.95 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.21 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
10.87 KB lrw-r--r-- 2024-04-08 16:09:21
Edit Download
10.71 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
12.32 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
8.38 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
190.33 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.25 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.80 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.33 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.64 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.37 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.49 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
11.17 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.38 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
18.09 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.65 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.16 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.24 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.04 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
9.35 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
6.19 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
40.72 KB lrw-r--r-- 2024-03-31 05:33:52
Edit Download
4.11 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.43 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
7.13 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.29 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.84 KB lrw-r--r-- 2024-04-08 16:12:01
Edit Download
6.69 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
4.58 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.87 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.77 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
11.04 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
17.43 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
126 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.35 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
4.47 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.57 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
7.62 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
7.50 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.84 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
49.75 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.38 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
956 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.28 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.92 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
4.50 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
27.79 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.71 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
14.07 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
20.81 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.91 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
22 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
6.71 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.40 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
47.25 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.53 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
6.17 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
25.30 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.35 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
12.02 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
963 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
4.92 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.32 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.38 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.12 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.31 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.50 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
12.73 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
8.19 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
264 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
26.27 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.40 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
7.96 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
33.84 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.73 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
40.07 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
19.50 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
4.64 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
11.68 KB lrw-r--r-- 2025-06-25 12:42:53
Edit Download
25 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.11 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
24 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.66 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
214 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.51 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
46.51 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
7.62 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
15.65 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
14.77 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.44 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.04 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.99 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.55 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
44.00 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.86 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
3.15 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
4.00 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
1.91 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
22 B lrw-r--r-- 2026-01-30 08:27:54
Edit Download
38.19 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
5.42 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download
2.44 KB lrw-r--r-- 2026-01-30 08:27:54
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).