1/* Internal prototype declarations that don't fit anywhere else.
2 Copyright (C) 2000-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
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, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _LIBC_INTERNAL
20# define _LIBC_INTERNAL 1
21
22#include <hp-timing.h>
23
24/* Discover the tick frequency of the machine if something goes wrong,
25 we return 0, an impossible hertz. */
26extern int __profile_frequency (void);
27libc_hidden_proto (__profile_frequency)
28
29/* Hooks for the instrumenting functions. */
30extern void __cyg_profile_func_enter (void *this_fn, void *call_site);
31extern void __cyg_profile_func_exit (void *this_fn, void *call_site);
32
33/* Free all allocated resources. */
34extern void __libc_freeres (void);
35libc_hidden_proto (__libc_freeres)
36
37/* Free resources stored in thread-local variables on thread exit. */
38extern void __libc_thread_freeres (void)
39#if PTHREAD_IN_LIBC
40 attribute_hidden
41#endif
42 ;
43
44/* Define and initialize `__progname' et. al. */
45extern void __init_misc (int, char **, char **) attribute_hidden;
46
47# if IS_IN (rtld)
48extern __typeof (__profile_frequency) __profile_frequency attribute_hidden;
49# endif
50
51#ifdef SHARED
52/* True if this libc belongs to the initially loaded program (i.e., it
53 is not for an audit module, not loaded via dlmopen, and not loaded
54 via static dlopen either). */
55extern _Bool __libc_initial attribute_hidden;
56#endif
57
58#endif /* _LIBC_INTERNAL */
59

source code of glibc/include/libc-internal.h