aboutsummaryrefslogtreecommitdiff
path: root/lib/darwin/find-syms.h
blob: c017d2a4833ee71ad8fd4a435c0157fbac89eef8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
#include "substitute.h"
#include "substitute-internal.h"

struct symtab_data {
    uint64_t linkedit_vmaddr;
    uint32_t linkedit_symoff, nsyms;
    uint32_t linkedit_stroff, strsize;
};

bool find_symtab_data(const mach_header_x *mh, struct symtab_data *data);
void find_syms_raw(const struct symtab_data *restrict data, void *linkedit,
                   const char **restrict names, substitute_sym **restrict syms,
                   size_t count);