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. */ 26 extern int __profile_frequency (void); 27 libc_hidden_proto (__profile_frequency) 28 29 /* Hooks for the instrumenting functions. */ 30 extern void __cyg_profile_func_enter (void *this_fn, void *call_site); 31 extern void __cyg_profile_func_exit (void *this_fn, void *call_site); 32 33 /* Free all allocated resources. */ 34 extern void __libc_freeres (void); 35 libc_hidden_proto (__libc_freeres) 36 37 /* Free resources stored in thread-local variables on thread exit. */ 38 extern void __libc_thread_freeres (void) 39 #if PTHREAD_IN_LIBC 40 attribute_hidden 41 #endif 42 ; 43 44 /* Define and initialize `__progname' et. al. */ 45 extern void __init_misc (int, char **, char **) attribute_hidden; 46 47 # if IS_IN (rtld) 48 extern __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). */ 55 extern _Bool __libc_initial attribute_hidden; 56 #endif 57 58 #endif /* _LIBC_INTERNAL */ 59