dlfcn.h 679 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef _DLFCN_H
  2. #define _DLFCN_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <features.h>
  7. #define RTLD_LAZY 1
  8. #define RTLD_NOW 2
  9. #define RTLD_NOLOAD 4
  10. #define RTLD_NODELETE 4096
  11. #define RTLD_GLOBAL 256
  12. #define RTLD_LOCAL 0
  13. #define RTLD_NEXT ((void *)-1)
  14. #define RTLD_DEFAULT ((void *)0)
  15. int dlclose(void *);
  16. char *dlerror(void);
  17. void *dlopen(const char *, int);
  18. void *dlsym(void *__restrict, const char *__restrict);
  19. #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  20. typedef struct {
  21. const char *dli_fname;
  22. void *dli_fbase;
  23. const char *dli_sname;
  24. void *dli_saddr;
  25. } Dl_info;
  26. int dladdr(void *, Dl_info *);
  27. #endif
  28. #ifdef __cplusplus
  29. }
  30. #endif
  31. #endif