link.h 457 B

123456789101112131415161718192021222324
  1. /*
  2. * Copyright (c) 2021, Gunnar Beutner <gunnar@beutner.name>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <elf.h>
  8. #include <limits.h>
  9. #include <sys/cdefs.h>
  10. __BEGIN_DECLS
  11. struct dl_phdr_info {
  12. ElfW(Addr) dlpi_addr;
  13. char const* dlpi_name;
  14. const ElfW(Phdr) * dlpi_phdr;
  15. ElfW(Half) dlpi_phnum;
  16. };
  17. int dl_iterate_phdr(int (*callback)(struct dl_phdr_info* info, size_t size, void* data), void* data);
  18. __END_DECLS