dlfcn.h 652 B

1234567891011121314151617181920212223242526272829303132333435363738
  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_GLOBAL 256
  11. #define RTLD_LOCAL 0
  12. #define RTLD_NEXT ((void *)-1)
  13. #define RTLD_DEFAULT ((void *)0)
  14. int dlclose(void *);
  15. char *dlerror(void);
  16. void *dlopen(const char *, int);
  17. void *dlsym(void *__restrict, const char *__restrict);
  18. #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  19. typedef struct {
  20. const char *dli_fname;
  21. void *dli_fbase;
  22. const char *dli_sname;
  23. void *dli_saddr;
  24. } Dl_info;
  25. int dladdr(void *, Dl_info *);
  26. #endif
  27. #ifdef __cplusplus
  28. }
  29. #endif
  30. #endif