1*c96bced4SJerome Forissier /* SPDX-License-Identifier: BSD-2-Clause */ 2*c96bced4SJerome Forissier /* 3*c96bced4SJerome Forissier * Copyright (c) 2019 Linaro limited 4*c96bced4SJerome Forissier */ 5*c96bced4SJerome Forissier 6*c96bced4SJerome Forissier #ifndef _DLFCN_H_ 7*c96bced4SJerome Forissier #define _DLFCN_H_ 8*c96bced4SJerome Forissier 9*c96bced4SJerome Forissier /* Relocations are performed when the object is loaded. */ 10*c96bced4SJerome Forissier #define RTLD_NOW 2 11*c96bced4SJerome Forissier /* All symbols are available for relocation processing of other modules. */ 12*c96bced4SJerome Forissier #define RTLD_GLOBAL 0x100 13*c96bced4SJerome Forissier /* Do not unload the shared object during dlclose(). */ 14*c96bced4SJerome Forissier #define RTLD_NODELETE 0x1000 15*c96bced4SJerome Forissier /* Other flags are not supported */ 16*c96bced4SJerome Forissier 17*c96bced4SJerome Forissier /* Note: @flags must be (RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE) */ 18*c96bced4SJerome Forissier void *dlopen(const char *filename, int flags); 19*c96bced4SJerome Forissier int dlclose(void *handle); 20*c96bced4SJerome Forissier void *dlsym(void *handle, const char *symbol); 21*c96bced4SJerome Forissier 22*c96bced4SJerome Forissier #endif /* _DLFCN_H_ */ 23