Back to index

glibc  2.9
ldconfig.h
Go to the documentation of this file.
00001 /* Copyright (C) 1999, 2000, 2002, 2003, 2007 Free Software Foundation, Inc.
00002    This file is part of the GNU C Library.
00003    Contributed by Andreas Jaeger <aj@suse.de>, 1999.
00004 
00005    The GNU C Library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public
00007    License as published by the Free Software Foundation; either
00008    version 2.1 of the License, or (at your option) any later version.
00009 
00010    The GNU C Library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Lesser General Public License for more details.
00014 
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with the GNU C Library; if not, write to the Free
00017    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00018    02111-1307 USA.  */
00019 
00020 #ifndef _LDCONFIG_H
00021 #define _LDCONFIG_H
00022 
00023 #define FLAG_ANY            -1
00024 #define FLAG_TYPE_MASK             0x00ff
00025 #define FLAG_LIBC4          0x0000
00026 #define FLAG_ELF            0x0001
00027 #define FLAG_ELF_LIBC5             0x0002
00028 #define FLAG_ELF_LIBC6             0x0003
00029 #define FLAG_REQUIRED_MASK  0xff00
00030 #define FLAG_SPARC_LIB64    0x0100
00031 #define FLAG_IA64_LIB64            0x0200
00032 #define FLAG_X8664_LIB64    0x0300
00033 #define FLAG_S390_LIB64            0x0400
00034 #define FLAG_POWERPC_LIB64  0x0500
00035 #define FLAG_MIPS64_LIBN32  0x0600
00036 #define FLAG_MIPS64_LIBN64  0x0700
00037 
00038 /* Name of auxiliary cache.  */
00039 #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache"
00040 
00041 /* Declared in cache.c.  */
00042 extern void print_cache (const char *cache_name);
00043 
00044 extern void init_cache (void);
00045 
00046 extern void save_cache (const char *cache_name);
00047 
00048 extern void add_to_cache (const char *path, const char *lib, int flags,
00049                        unsigned int osversion, uint64_t hwcap);
00050 
00051 extern void init_aux_cache (void);
00052 
00053 extern void load_aux_cache (const char *aux_cache_name);
00054 
00055 extern int search_aux_cache (struct stat64 *stat_buf, int *flags,
00056                           unsigned int *osversion, char **soname);
00057 
00058 extern void add_to_aux_cache (struct stat64 *stat_buf, int flags,
00059                            unsigned int osversion, const char *soname);
00060 
00061 extern void save_aux_cache (const char *aux_cache_name);
00062 
00063 /* Declared in readlib.c.  */
00064 extern int process_file (const char *real_file_name, const char *file_name,
00065                       const char *lib, int *flag, unsigned int *osversion,
00066                       char **soname, int is_link, struct stat64 *stat_buf);
00067 
00068 extern char *implicit_soname (const char *lib, int flag);
00069 
00070 /* Declared in readelflib.c.  */
00071 extern int process_elf_file (const char *file_name, const char *lib, int *flag,
00072                           unsigned int *osversion, char **soname,
00073                           void *file_contents, size_t file_length);
00074 
00075 /* Declared in chroot_canon.c.  */
00076 extern char *chroot_canon (const char *chroot, const char *name);
00077 
00078 /* Declared in ldconfig.c.  */
00079 extern int opt_verbose;
00080 
00081 extern int opt_format;
00082 
00083 /* Prototypes for a few program-wide used functions.  */
00084 extern void *xmalloc (size_t __n);
00085 extern void *xcalloc (size_t __n, size_t __size);
00086 extern void *xrealloc (void *__p, size_t __n);
00087 extern char *xstrdup (const char *__str);
00088 
00089 #endif /* ! _LDCONFIG_H  */