chiark / gitweb /
eglibc (2.11.3-4+deb6u3) squeeze-lts; urgency=medium
[eglibc.git] / sysdeps / generic / ldconfig.h
1 /* Copyright (C) 1999, 2000, 2002, 2003, 2007 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by Andreas Jaeger <aj@suse.de>, 1999.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, write to the Free
17    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18    02111-1307 USA.  */
19
20 #ifndef _LDCONFIG_H
21 #define _LDCONFIG_H
22
23 #define FLAG_ANY                -1
24 #define FLAG_TYPE_MASK          0x00ff
25 #define FLAG_LIBC4              0x0000
26 #define FLAG_ELF                0x0001
27 #define FLAG_ELF_LIBC5          0x0002
28 #define FLAG_ELF_LIBC6          0x0003
29 #define FLAG_REQUIRED_MASK      0xff00
30 #define FLAG_SPARC_LIB64        0x0100
31 #define FLAG_IA64_LIB64         0x0200
32 #define FLAG_X8664_LIB64        0x0300
33 #define FLAG_S390_LIB64         0x0400
34 #define FLAG_POWERPC_LIB64      0x0500
35 #define FLAG_MIPS64_LIBN32      0x0600
36 #define FLAG_MIPS64_LIBN64      0x0700
37
38 /* Name of auxiliary cache.  */
39 #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache"
40
41 /* Declared in cache.c.  */
42 extern void print_cache (const char *cache_name);
43
44 extern void init_cache (void);
45
46 extern void save_cache (const char *cache_name);
47
48 extern void add_to_cache (const char *path, const char *lib, int flags,
49                           unsigned int osversion, uint64_t hwcap);
50
51 extern void init_aux_cache (void);
52
53 extern void load_aux_cache (const char *aux_cache_name);
54
55 extern int search_aux_cache (struct stat64 *stat_buf, int *flags,
56                              unsigned int *osversion, char **soname);
57
58 extern void add_to_aux_cache (struct stat64 *stat_buf, int flags,
59                               unsigned int osversion, const char *soname);
60
61 extern void save_aux_cache (const char *aux_cache_name);
62
63 /* Declared in readlib.c.  */
64 extern int process_file (const char *real_file_name, const char *file_name,
65                          const char *lib, int *flag, unsigned int *osversion,
66                          char **soname, int is_link, struct stat64 *stat_buf);
67
68 extern char *implicit_soname (const char *lib, int flag);
69
70 /* Declared in readelflib.c.  */
71 extern int process_elf_file (const char *file_name, const char *lib, int *flag,
72                              unsigned int *osversion, char **soname,
73                              void *file_contents, size_t file_length);
74
75 /* Declared in chroot_canon.c.  */
76 extern char *chroot_canon (const char *chroot, const char *name);
77
78 /* Declared in ldconfig.c.  */
79 extern int opt_verbose;
80
81 extern int opt_format;
82
83 /* Prototypes for a few program-wide used functions.  */
84 extern void *xmalloc (size_t __n);
85 extern void *xcalloc (size_t __n, size_t __size);
86 extern void *xrealloc (void *__p, size_t __n);
87 extern char *xstrdup (const char *__str);
88
89 #endif /* ! _LDCONFIG_H  */