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