2020-11-09 05:23:58 +01:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
2020-06-04 11:25:46 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <dlfcn.h>
|
|
|
|
|
|
|
|
#include "macro.h"
|
|
|
|
|
|
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(void*, dlclose);
|
2020-06-24 14:47:39 +02:00
|
|
|
|
|
|
|
int dlsym_many_and_warn(void *dl, int level, ...);
|
2020-11-30 17:22:35 +01:00
|
|
|
|
|
|
|
/* Macro useful for putting together variable/symbol name pairs when calling dlsym_many_and_warn(). Assumes
|
|
|
|
* that each library symbol to resolve will be placed in a variable with the "sym_" prefix, i.e. a symbol
|
|
|
|
* "foobar" is loaded into a variable "sym_foobar". */
|
|
|
|
#define DLSYM_ARG(arg) \
|
|
|
|
&sym_##arg, STRINGIFY(arg)
|