Current Dir: /usr/include/

[DIR]  acl [ delete | rename ]
[DIR]  arpa [ delete | rename ]
[DIR]  asm-generic [ delete | rename ]
[DIR]  attr [ delete | rename ]
[DIR]  c++ [ delete | rename ]
[DIR]  drm [ delete | rename ]
[DIR]  e2p [ delete | rename ]
[DIR]  et [ delete | rename ]
[DIR]  ext2fs [ delete | rename ]
[DIR]  finclude [ delete | rename ]
[DIR]  google [ delete | rename ]
[DIR]  iproute2 [ delete | rename ]
[DIR]  jemalloc [ delete | rename ]
[DIR]  libexslt [ delete | rename ]
[DIR]  libxml2 [ delete | rename ]
[DIR]  libxslt [ delete | rename ]
[DIR]  linux [ delete | rename ]
[DIR]  lzma [ delete | rename ]
[DIR]  misc [ delete | rename ]
[DIR]  mtd [ delete | rename ]
[DIR]  mysql [ delete | rename ]
[DIR]  ncursesw [ delete | rename ]
[DIR]  net [ delete | rename ]
[DIR]  netash [ delete | rename ]
[DIR]  netatalk [ delete | rename ]
[DIR]  netax25 [ delete | rename ]
[DIR]  neteconet [ delete | rename ]
[DIR]  netinet [ delete | rename ]
[DIR]  netipx [ delete | rename ]
[DIR]  netiucv [ delete | rename ]
[DIR]  netpacket [ delete | rename ]
[DIR]  netrom [ delete | rename ]
[DIR]  netrose [ delete | rename ]
[DIR]  nettle [ delete | rename ]
[DIR]  nfs [ delete | rename ]
[DIR]  node [ delete | rename ]
[DIR]  openssl [ delete | rename ]
[DIR]  postgresql [ delete | rename ]
[DIR]  protocols [ delete | rename ]
[DIR]  python3.12 [ delete | rename ]
[DIR]  rdma [ delete | rename ]
[DIR]  readline [ delete | rename ]
[DIR]  regulator [ delete | rename ]
[DIR]  rpc [ delete | rename ]
[DIR]  rpcsvc [ delete | rename ]
[DIR]  scsi [ delete | rename ]
[DIR]  sound [ delete | rename ]
[DIR]  sys [ delete | rename ]
[DIR]  unicode [ delete | rename ]
[DIR]  video [ delete | rename ]
[DIR]  X11 [ delete | rename ]
[DIR]  x86_64-linux-gnu [ delete | rename ]
[DIR]  xen [ delete | rename ]
[DIR]  xfs [ delete | rename ]
[FILE] aio.h [ edit | delete | rename ]
[FILE] aliases.h [ edit | delete | rename ]
[FILE] alloca.h [ edit | delete | rename ]
[FILE] ar.h [ edit | delete | rename ]
[FILE] archive.h [ edit | delete | rename ]
[FILE] archive_entry.h [ edit | delete | rename ]
[FILE] argp.h [ edit | delete | rename ]
[FILE] argz.h [ edit | delete | rename ]
[FILE] assert.h [ edit | delete | rename ]
[FILE] byteswap.h [ edit | delete | rename ]
[FILE] bzlib.h [ edit | delete | rename ]
[FILE] complex.h [ edit | delete | rename ]
[FILE] com_err.h [ edit | delete | rename ]
[FILE] cpio.h [ edit | delete | rename ]
[FILE] crypt.h [ edit | delete | rename ]
[FILE] ctype.h [ edit | delete | rename ]
[FILE] curses.h [ edit | delete | rename ]
[FILE] cursesapp.h [ edit | delete | rename ]
[FILE] cursesf.h [ edit | delete | rename ]
[FILE] cursesm.h [ edit | delete | rename ]
[FILE] cursesp.h [ edit | delete | rename ]
[FILE] cursesw.h [ edit | delete | rename ]
[FILE] cursslk.h [ edit | delete | rename ]
[FILE] dirent.h [ edit | delete | rename ]
[FILE] dlfcn.h [ edit | delete | rename ]
[FILE] elf.h [ edit | delete | rename ]
[FILE] endian.h [ edit | delete | rename ]
[FILE] envz.h [ edit | delete | rename ]
[FILE] err.h [ edit | delete | rename ]
[FILE] errno.h [ edit | delete | rename ]
[FILE] error.h [ edit | delete | rename ]
[FILE] eti.h [ edit | delete | rename ]
[FILE] etip.h [ edit | delete | rename ]
[FILE] execinfo.h [ edit | delete | rename ]
[FILE] expat.h [ edit | delete | rename ]
[FILE] expat_external.h [ edit | delete | rename ]
[FILE] fcntl.h [ edit | delete | rename ]
[FILE] features-time64.h [ edit | delete | rename ]
[FILE] features.h [ edit | delete | rename ]
[FILE] fenv.h [ edit | delete | rename ]
[FILE] fmtmsg.h [ edit | delete | rename ]
[FILE] fnmatch.h [ edit | delete | rename ]
[FILE] form.h [ edit | delete | rename ]
[FILE] fstab.h [ edit | delete | rename ]
[FILE] fts.h [ edit | delete | rename ]
[FILE] ftw.h [ edit | delete | rename ]
[FILE] gawkapi.h [ edit | delete | rename ]
[FILE] gconv.h [ edit | delete | rename ]
[FILE] gdbm.h [ edit | delete | rename ]
[FILE] getopt.h [ edit | delete | rename ]
[FILE] glob.h [ edit | delete | rename ]
[FILE] gmpxx.h [ edit | delete | rename ]
[FILE] gnu-versions.h [ edit | delete | rename ]
[FILE] gnumake.h [ edit | delete | rename ]
[FILE] grp.h [ edit | delete | rename ]
[FILE] gshadow.h [ edit | delete | rename ]
[FILE] iconv.h [ edit | delete | rename ]
[FILE] idn-free.h [ edit | delete | rename ]
[FILE] idn-int.h [ edit | delete | rename ]
[FILE] idna.h [ edit | delete | rename ]
[FILE] ifaddrs.h [ edit | delete | rename ]
[FILE] inttypes.h [ edit | delete | rename ]
[FILE] langinfo.h [ edit | delete | rename ]
[FILE] lastlog.h [ edit | delete | rename ]
[FILE] libgen.h [ edit | delete | rename ]
[FILE] libintl.h [ edit | delete | rename ]
[FILE] limits.h [ edit | delete | rename ]
[FILE] link.h [ edit | delete | rename ]
[FILE] locale.h [ edit | delete | rename ]
[FILE] lz4.h [ edit | delete | rename ]
[FILE] lz4frame.h [ edit | delete | rename ]
[FILE] lz4frame_static.h [ edit | delete | rename ]
[FILE] lz4hc.h [ edit | delete | rename ]
[FILE] lzma.h [ edit | delete | rename ]
[FILE] malloc.h [ edit | delete | rename ]
[FILE] math.h [ edit | delete | rename ]
[FILE] mcheck.h [ edit | delete | rename ]
[FILE] memory.h [ edit | delete | rename ]
[FILE] menu.h [ edit | delete | rename ]
[FILE] mntent.h [ edit | delete | rename ]
[FILE] monetary.h [ edit | delete | rename ]
[FILE] mqueue.h [ edit | delete | rename ]
[FILE] ncurses.h [ edit | delete | rename ]
[FILE] ncurses_dll.h [ edit | delete | rename ]
[FILE] netdb.h [ edit | delete | rename ]
[FILE] nl_types.h [ edit | delete | rename ]
[FILE] nss.h [ edit | delete | rename ]
[FILE] obstack.h [ edit | delete | rename ]
[FILE] panel.h [ edit | delete | rename ]
[FILE] paths.h [ edit | delete | rename ]
[FILE] poll.h [ edit | delete | rename ]
[FILE] pr29.h [ edit | delete | rename ]
[FILE] printf.h [ edit | delete | rename ]
[FILE] proc_service.h [ edit | delete | rename ]
[FILE] pthread.h [ edit | delete | rename ]
[FILE] pty.h [ edit | delete | rename ]
[FILE] punycode.h [ edit | delete | rename ]
[FILE] pwd.h [ edit | delete | rename ]
[FILE] regex.h [ edit | delete | rename ]
[FILE] regexp.h [ edit | delete | rename ]
[FILE] resolv.h [ edit | delete | rename ]
[FILE] re_comp.h [ edit | delete | rename ]
[FILE] sched.h [ edit | delete | rename ]
[FILE] search.h [ edit | delete | rename ]
[FILE] semaphore.h [ edit | delete | rename ]
[FILE] setjmp.h [ edit | delete | rename ]
[FILE] sgtty.h [ edit | delete | rename ]
[FILE] shadow.h [ edit | delete | rename ]
[FILE] signal.h [ edit | delete | rename ]
[FILE] spawn.h [ edit | delete | rename ]
[FILE] stab.h [ edit | delete | rename ]
[FILE] stdbit.h [ edit | delete | rename ]
[FILE] stdc-predef.h [ edit | delete | rename ]
[FILE] stdint.h [ edit | delete | rename ]
[FILE] stdio.h [ edit | delete | rename ]
[FILE] stdio_ext.h [ edit | delete | rename ]
[FILE] stdlib.h [ edit | delete | rename ]
[FILE] string.h [ edit | delete | rename ]
[FILE] stringprep.h [ edit | delete | rename ]
[FILE] strings.h [ edit | delete | rename ]
[FILE] sudo_plugin.h [ edit | delete | rename ]
[FILE] syscall.h [ edit | delete | rename ]
[FILE] sysexits.h [ edit | delete | rename ]
[FILE] syslog.h [ edit | delete | rename ]
[FILE] tar.h [ edit | delete | rename ]
[FILE] term.h [ edit | delete | rename ]
[FILE] termcap.h [ edit | delete | rename ]
[FILE] termio.h [ edit | delete | rename ]
[FILE] termios.h [ edit | delete | rename ]
[FILE] term_entry.h [ edit | delete | rename ]
[FILE] tgmath.h [ edit | delete | rename ]
[FILE] threads.h [ edit | delete | rename ]
[FILE] thread_db.h [ edit | delete | rename ]
[FILE] time.h [ edit | delete | rename ]
[FILE] tld.h [ edit | delete | rename ]
[FILE] ttyent.h [ edit | delete | rename ]
[FILE] uchar.h [ edit | delete | rename ]
[FILE] ucontext.h [ edit | delete | rename ]
[FILE] ulimit.h [ edit | delete | rename ]
[FILE] unctrl.h [ edit | delete | rename ]
[FILE] unistd.h [ edit | delete | rename ]
[FILE] utime.h [ edit | delete | rename ]
[FILE] utmp.h [ edit | delete | rename ]
[FILE] utmpx.h [ edit | delete | rename ]
[FILE] values.h [ edit | delete | rename ]
[FILE] wait.h [ edit | delete | rename ]
[FILE] wchar.h [ edit | delete | rename ]
[FILE] wctype.h [ edit | delete | rename ]
[FILE] wordexp.h [ edit | delete | rename ]
[FILE] yaml.h [ edit | delete | rename ]
[FILE] zconf.h [ edit | delete | rename ]
[FILE] zdict.h [ edit | delete | rename ]
[FILE] zlib.h [ edit | delete | rename ]
[FILE] zstd.h [ edit | delete | rename ]
[FILE] zstd_errors.h [ edit | delete | rename ]

Viewing: /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  */

Upload File: