mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-05 09:01:07 +00:00
b2bffca2e3
2002-05-11 Jakub Jelinek <jakub@redhat.com> * include/netinet/in.h (bindresvport_internal): Add prototype. * include/rpc/auth.h (authunix_create_internal, authunix_create_default_internal, authnone_create_internal, authdes_pk_create_internal): Add prototypes. * include/rpc/clnt.h (clnt_create_internal, clnttcp_create_internal, clntudp_create_internal, clntudp_bufcreate_internal, clntunix_create_internal): Add prototypes. * include/rpc/svc.h (svc_sendreply_internal, svcerr_decode_internal, svc_getreq_internal, svc_getreq_common_internal, svc_getreqset_internal, svc_getreq_poll_internal, svc_register_internal, svc_unregister_internal, svcudp_create_internal, svcudp_bufcreate_internal): Add prototypes. * include/rpc/svc_auth.h (_authenticate_internal): Add prototype. * include/sys/socket.h (__sendto, __recvfrom, __sendmsg, __recvmsg, __setsockopt, __getsockname, __bind, __listen): Add prototypes. * inet/rexec.c (rexec_af): Use __listen and __getsockname. * inet/rcmd.c (rcmd_af): Use __listen. (rresvport_af): Use __bind. * sunrpc/clnt_udp.c: Use INTUSE calls to bindresvport, authunix_create, authunix_create_default, authnone_create, authdes_pk_create, clnt_create, clnttcp_create, clntudp_create, clntudp_bufcreate, clntunix_create svc_sendreply, svcerr_decode, svc_getreq, svc_getreq_common, svc_getreqset, svc_getreq_poll, svc_register, svc_unregister, svcudp_create, svcudp_bufcreate, _authenticate, add INTDEF after such function definitions. Use __listen, __bind, __sendto, __recvfrom, __sendmsg, __recvmsg, __setsockopt, __getsockname instead of non-__ variants. * sunrpc/pmap_rmt.c: Likewise. * sunrpc/rtime.c: Likewise. * sunrpc/svc_udp.c: Likewise. * sunrpc/clnt_unix.c: Likewise. * sunrpc/svc_unix.c: Likewise. * sunrpc/bindrsvprt.c: Likewise. * sunrpc/svc_tcp.c: Likewise. * sunrpc/auth_none.c: Likewise. * sunrpc/clnt_raw.c: Likewise. * sunrpc/clnt_tcp.c: Likewise. * sunrpc/auth_unix.c: Likewise. * sunrpc/key_call.c: Likewise. * sunrpc/clnt_gen.c: Likewise. * sunrpc/pm_getmaps.c: Likewise. * sunrpc/clnt_simp.c: Likewise. * sunrpc/pmap_clnt.c: Likewise. * sunrpc/svc_run.c: Likewise. * sunrpc/svc.c: Likewise. * sunrpc/svc_simple.c: Likewise. * sunrpc/pm_getport.c: Likewise. * sunrpc/auth_des.c: Likewise. * sunrpc/svc_auth.c: Likewise. * sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases, __register_frame_info_table_bases, __deregister_frame_info_bases): Add INTDEF. (__register_frame_info_bases_internal, __register_frame_info_table_bases_internal, __deregister_frame_info_bases_internal): Add prototypes. (__register_frame_info, __register_frame): Use INTUSE in call to __register_frame_info_bases. (__register_frame_info_table): Similarly. (__deregister_frame_info, __deregister_frame): Similarly. * sysdeps/generic/sendto.c (__sendto): Renamed from sendto, add sendto as weak alias. * sysdeps/mach/hurd/sendto.c: Likewise. * sysdeps/generic/recvfrom.c (__recvfrom): Renamed from recvfrom, add recvfrom as weak alias. * sysdeps/mach/hurd/recvfrom.c: Likewise. * sysdeps/unix/sysv/aix/recvfrom.c: Likewise. * sysdeps/generic/recvmsg.c (__recvmsg): Renamed from recvmsg, add recvmsg as weak alias. * sysdeps/unix/sysv/aix/recvmsg.c: Likewise. * sysdeps/generic/sendmsg.c (__sendmsg): Renamed from sendmsg, add sendmsg as weak alias. * sysdeps/unix/sysv/aix/sendmsg.c: Likewise. * sysdeps/generic/setsockopt.c (__setsockopt): Renamed from setsockopt, add setsockopt as weak alias. * sysdeps/mach/hurd/setsockopt.c: Likewise. * sysdeps/generic/bind.c (__bind): Renamed from bind, add bind as weak alias. * sysdeps/mach/hurd/bind.c: Likewise. * sysdeps/generic/listen.c (__listen): Renamed from listen, add listen as weak alias. * sysdeps/mach/hurd/listen.c: Likewise. * sysdeps/generic/getsockname.c (__getsockname): Renamed from getsockname, add getsockname as weak alias. * sysdeps/mach/hurd/getsockname.c: Likewise. * sysdeps/unix/sysv/aix/getsockname.c: Likewise. * sysdeps/mach/hurd/recvmsg.c (__recvmsg): Add weak alias. * sysdeps/mach/hurd/sendmsg.c (__sendmsg): Add weak alias. * sysdeps/unix/inet/syscalls.list (__bind, __listen, __recvmsg, __recvfrom, __sendmsg, __sendto, __setsockopt): Add aliases. * sysdeps/unix/sysv/linux/alpha/syscalls.list (__recvmsg, __sendmsg): Add aliases. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/recvfrom.S (__recvfrom): Add weak alias. * sysdeps/unix/sysv/linux/recvmsg.S (__recvmsg): Likewise. * sysdeps/unix/sysv/linux/sendmsg.S (__sendmsg): Likewise. * sysdeps/unix/sysv/linux/sendto.S (__sendto): Likewise. * sysdeps/unix/sysv/linux/setsockopt.S (__setsockopt): Likewise. * sysdeps/unix/sysv/linux/bind.S (__bind): Likewise. * sysdeps/unix/sysv/linux/listen.S (__listen): Likewise. * sysdeps/unix/sysv/linux/getsockname.S (__getsockname): Likewise. 2002-05-10 Jakub Jelinek <jakub@redhat.com> * locale/programs/localedef.h (show_archive_content): Add verbose argument. * locale/programs/localedef.c (main): Adjust caller. * locale/programs/locarchive.c (struct nameent, struct dataent): New. (nameentcmp, dataentcmp): New functions. (xstrcmp): Remove. (show_archive_content): Print verbose listing with --list-archive -v. * locale/programs/locarchive.c (open_archive): Take extra argument readonly. If true open file with O_RDONLY and don't create the archive if it doesn't exist. Adapt all callers. (close_archive): Don't do anything if fd element is -1. * locale/programs/localedef.h (open_archive): Adjust prototype. * locale/programs/locfile.c (write_all_categories): Adjust open_archive call. * malloc/malloc.c (__posix_memalign): Correct check for size of alignment value [PR libc/3444].
181 lines
5.2 KiB
C
181 lines
5.2 KiB
C
/* General definitions for localedef(1).
|
|
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
|
|
|
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, write to the Free
|
|
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
02111-1307 USA. */
|
|
|
|
#ifndef _LOCALEDEF_H
|
|
#define _LOCALEDEF_H 1
|
|
|
|
/* Get the basic locale definitions. */
|
|
#include <errno.h>
|
|
#include <locale.h>
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
|
|
#include "repertoire.h"
|
|
#include "../locarchive.h"
|
|
|
|
|
|
/* We need a bitmask for the locales. */
|
|
enum
|
|
{
|
|
CTYPE_LOCALE = 1 << LC_CTYPE,
|
|
NUMERIC_LOCALE = 1 << LC_NUMERIC,
|
|
TIME_LOCALE = 1 << LC_TIME,
|
|
COLLATE_LOCALE = 1 << LC_COLLATE,
|
|
MONETARY_LOCALE = 1 << LC_MONETARY,
|
|
MESSAGES_LOCALE = 1 << LC_MESSAGES,
|
|
PAPER_LOCALE = 1 << LC_PAPER,
|
|
NAME_LOCALE = 1 << LC_NAME,
|
|
ADDRESS_LOCALE = 1 << LC_ADDRESS,
|
|
TELEPHONE_LOCALE = 1 << LC_TELEPHONE,
|
|
MEASUREMENT_LOCALE = 1 << LC_MEASUREMENT,
|
|
IDENTIFICATION_LOCALE = 1 << LC_IDENTIFICATION,
|
|
ALL_LOCALES = (1 << LC_CTYPE
|
|
| 1 << LC_NUMERIC
|
|
| 1 << LC_TIME
|
|
| 1 << LC_COLLATE
|
|
| 1 << LC_MONETARY
|
|
| 1 << LC_MESSAGES
|
|
| 1 << LC_PAPER
|
|
| 1 << LC_NAME
|
|
| 1 << LC_ADDRESS
|
|
| 1 << LC_TELEPHONE
|
|
| 1 << LC_MEASUREMENT
|
|
| 1 << LC_IDENTIFICATION)
|
|
};
|
|
|
|
|
|
/* Opaque types for the different locales. */
|
|
struct locale_ctype_t;
|
|
struct locale_collate_t;
|
|
struct locale_monetary_t;
|
|
struct locale_numeric_t;
|
|
struct locale_time_t;
|
|
struct locale_messages_t;
|
|
struct locale_paper_t;
|
|
struct locale_name_t;
|
|
struct locale_address_t;
|
|
struct locale_telephone_t;
|
|
struct locale_measurement_t;
|
|
struct locale_identification_t;
|
|
|
|
|
|
/* Definitions for the locale. */
|
|
struct localedef_t
|
|
{
|
|
struct localedef_t *next;
|
|
|
|
const char *name;
|
|
|
|
int needed;
|
|
int avail;
|
|
|
|
union
|
|
{
|
|
void *generic;
|
|
struct locale_ctype_t *ctype;
|
|
struct locale_collate_t *collate;
|
|
struct locale_monetary_t *monetary;
|
|
struct locale_numeric_t *numeric;
|
|
struct locale_time_t *time;
|
|
struct locale_messages_t *messages;
|
|
struct locale_paper_t *paper;
|
|
struct locale_name_t *name;
|
|
struct locale_address_t *address;
|
|
struct locale_telephone_t *telephone;
|
|
struct locale_measurement_t *measurement;
|
|
struct locale_identification_t *identification;
|
|
} categories[__LC_LAST];
|
|
|
|
size_t len[__LC_LAST];
|
|
|
|
const char *copy_name[__LC_LAST];
|
|
|
|
const char *repertoire_name;
|
|
};
|
|
|
|
|
|
/* Global variables of the localedef program. */
|
|
extern int verbose;
|
|
extern int be_quiet;
|
|
extern int oldstyle_tables;
|
|
extern const char *repertoire_global;
|
|
extern int max_locarchive_open_retry;
|
|
extern bool no_archive;
|
|
|
|
|
|
/* Prototypes for a few program-wide used functions. */
|
|
extern void *xmalloc (size_t __n);
|
|
extern void *xcalloc (size_t __n, size_t __size);
|
|
extern void *xrealloc (void *__p, size_t __n);
|
|
extern char *xstrdup (const char *__str);
|
|
|
|
|
|
/* Wrapper to switch LC_CTYPE back to the locale specified in the
|
|
environment for output. */
|
|
#define WITH_CUR_LOCALE(stmt) \
|
|
do { \
|
|
int saved_errno = errno; \
|
|
const char *cur_locale_ = setlocale (LC_CTYPE, NULL); \
|
|
setlocale (LC_CTYPE, ""); \
|
|
errno = saved_errno; \
|
|
stmt; \
|
|
setlocale (LC_CTYPE, cur_locale_); \
|
|
} while (0)
|
|
|
|
|
|
/* Mark given locale as to be read. */
|
|
extern struct localedef_t *add_to_readlist (int locale, const char *name,
|
|
const char *repertoire_name,
|
|
int generate,
|
|
struct localedef_t *copy_locale);
|
|
|
|
/* Find the information for the locale NAME. */
|
|
extern struct localedef_t *find_locale (int locale, const char *name,
|
|
const char *repertoire_name,
|
|
const struct charmap_t *charmap);
|
|
|
|
/* Load (if necessary) the information for the locale NAME. */
|
|
extern struct localedef_t *load_locale (int locale, const char *name,
|
|
const char *repertoire_name,
|
|
const struct charmap_t *charmap,
|
|
struct localedef_t *copy_locale);
|
|
|
|
|
|
/* Open the locale archive. */
|
|
extern void open_archive (struct locarhandle *ah, bool readonly);
|
|
|
|
/* Close the locale archive. */
|
|
extern void close_archive (struct locarhandle *ah);
|
|
|
|
/* Add given locale data to the archive. */
|
|
extern int add_locale_to_archive (struct locarhandle *ah, const char *name,
|
|
locale_data_t data, bool replace);
|
|
|
|
/* Add content of named directories to locale archive. */
|
|
extern int add_locales_to_archive (size_t nlist, char *list[], bool replace);
|
|
|
|
/* Removed named locales from archive. */
|
|
extern int delete_locales_from_archive (size_t nlist, char *list[]);
|
|
|
|
/* List content of locale archive. */
|
|
extern void show_archive_content (int verbose);
|
|
|
|
#endif /* localedef.h */
|