1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (C) 2012 The Android Open Source Project
*/
#ifndef _LINK_H_
#define _LINK_H_
#include <elf.h>
#include <stddef.h>
struct dl_phdr_info {
Elf_Addr dlpi_addr; /* module relocation base */
const char *dlpi_name; /* module name */
const Elf_Phdr *dlpi_phdr; /* pointer to module's phdr */
Elf_Half dlpi_phnum; /* number of entries in phdr */
unsigned long long dlpi_adds; /* total # of loads */
unsigned long long dlpi_subs; /* total # of unloads */
size_t dlpi_tls_modid;
void *dlpi_tls_data;
};
int dl_iterate_phdr(int (*callback)(struct dl_phdr_info *info, size_t size,
void *data),
void *data);
#endif /* _LINK_H_ */
|