xref: /illumos-gate/usr/src/cmd/sgs/include/_libelf.h (revision b6a0e2cd4ce8d91fe9dc750c44e662d7c7e5fb8e)
14899432aSab196087 /*
24899432aSab196087  * CDDL HEADER START
34899432aSab196087  *
44899432aSab196087  * The contents of this file are subject to the terms of the
54899432aSab196087  * Common Development and Distribution License (the "License").
64899432aSab196087  * You may not use this file except in compliance with the License.
74899432aSab196087  *
84899432aSab196087  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
94899432aSab196087  * or http://www.opensolaris.org/os/licensing.
104899432aSab196087  * See the License for the specific language governing permissions
114899432aSab196087  * and limitations under the License.
124899432aSab196087  *
134899432aSab196087  * When distributing Covered Code, include this CDDL HEADER in each
144899432aSab196087  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
154899432aSab196087  * If applicable, add the following below this CDDL HEADER, with the
164899432aSab196087  * fields enclosed by brackets "[]" replaced with your own identifying
174899432aSab196087  * information: Portions Copyright [yyyy] [name of copyright owner]
184899432aSab196087  *
194899432aSab196087  * CDDL HEADER END
204899432aSab196087  */
214899432aSab196087 
224899432aSab196087 /*
232a93c375SAli Bahrami  * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
244899432aSab196087  */
254899432aSab196087 
264899432aSab196087 #ifndef	__LIBELF_H
274899432aSab196087 #define	__LIBELF_H
284899432aSab196087 
294899432aSab196087 /*
304899432aSab196087  * Version of libelf.h that supplies definitions for APIs that
314899432aSab196087  * are private to the linker package. Includes the standard libelf.h
324899432aSab196087  * and then supplements it with the private additions.
334899432aSab196087  */
344899432aSab196087 
354899432aSab196087 #include <libelf.h>
364899432aSab196087 #include <gelf.h>
374899432aSab196087 
384899432aSab196087 #ifdef	__cplusplus
394899432aSab196087 extern "C" {
404899432aSab196087 #endif
414899432aSab196087 
423c573fccSAli Bahrami typedef void _elf_execfill_func_t(void *, off_t, size_t);
433c573fccSAli Bahrami 
443c573fccSAli Bahrami extern void		_elf_execfill(_elf_execfill_func_t *);
452a93c375SAli Bahrami extern size_t		_elf_getnextoff(Elf *);
462a93c375SAli Bahrami extern off_t		_elf_getarhdrbase(Elf *);
47ba7866cdSAli Bahrami extern size_t		_elf_getarsymwordsize(Elf *);
484899432aSab196087 extern Elf64_Off	_elf_getxoff(Elf_Data *);
493c573fccSAli Bahrami extern GElf_Xword	_gelf_getdyndtflags_1(Elf *);
50*b6a0e2cdSRichard Lowe extern GElf_Xword	_gelf_getdynval(Elf *, GElf_Sxword);
513c573fccSAli Bahrami extern int		_elf_swap_wrimage(Elf *);
52f3324781Sab196087 extern uint_t		_elf_sys_encoding(void);
534899432aSab196087 
544899432aSab196087 #ifdef	__cplusplus
554899432aSab196087 }
564899432aSab196087 #endif
574899432aSab196087 
584899432aSab196087 #endif	/* __LIBELF_H */
59