1/*
2 * Copyright 2022, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _BSD_SYS_LINK_ELF_H_
6#define	_BSD_SYS_LINK_ELF_H_
7
8
9#include <features.h>
10
11
12#ifdef _DEFAULT_SOURCE
13
14
15#include <os/kernel/elf.h>
16
17
18struct dl_phdr_info {
19	Elf_Addr dlpi_addr;
20	const char *dlpi_name;
21	const Elf_Phdr *dlpi_phdr;
22	Elf_Half dlpi_phnum;
23};
24
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30typedef int (*__dl_iterate_hdr_callback)(struct dl_phdr_info *, size_t, void *);
31extern int dl_iterate_phdr(__dl_iterate_hdr_callback, void *);
32
33#ifdef __cplusplus
34}
35#endif
36
37
38#endif
39
40
41#endif /* _BSD_SYS_LINK_ELF_H_ */
42