summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibDl/dlfcn.h
blob: 99f2c68e6734ec2162cb628cf0e24c86c1ae783e (plain)
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
28
29
30
31
32
/*
 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#pragma once

#include <sys/cdefs.h>

__BEGIN_DECLS

#define RTLD_DEFAULT 0
#define RTLD_LAZY 2
#define RTLD_NOW 4
#define RTLD_GLOBAL 8
#define RTLD_LOCAL 16

typedef struct __Dl_info {
    char const* dli_fname;
    void* dli_fbase;
    char const* dli_sname;
    void* dli_saddr;
} Dl_info;

int dlclose(void*);
char* dlerror(void);
void* dlopen(char const*, int);
void* dlsym(void*, char const*);
int dladdr(void*, Dl_info*);

__END_DECLS