123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- #ifndef _DLFCN_H
- #define _DLFCN_H 1
- #include <features.h>
- #define __need_size_t
- #include <stddef.h>
- #include <bits/dlfcn.h>
- #ifdef __USE_GNU
- # define RTLD_NEXT ((void *) -1l)
- # define RTLD_DEFAULT ((void *) 0)
- typedef long int Lmid_t;
- # define LM_ID_BASE 0
- # define LM_ID_NEWLM -1
- #endif
- __BEGIN_DECLS
- extern void *dlopen (const char *__file, int __mode) __THROWNL;
- extern int dlclose (void *__handle) __THROWNL __nonnull ((1));
- extern void *dlsym (void *__restrict __handle,
- const char *__restrict __name) __THROW __nonnull ((2));
- #ifdef __USE_GNU
- extern void *dlmopen (Lmid_t __nsid, const char *__file, int __mode) __THROWNL;
- extern void *dlvsym (void *__restrict __handle,
- const char *__restrict __name,
- const char *__restrict __version)
- __THROW __nonnull ((2, 3));
- #endif
- extern char *dlerror (void) __THROW;
- #ifdef __USE_GNU
- typedef struct
- {
- const char *dli_fname;
- void *dli_fbase;
- const char *dli_sname;
- void *dli_saddr;
- } Dl_info;
- extern int dladdr (const void *__address, Dl_info *__info)
- __THROW __nonnull ((2));
- extern int dladdr1 (const void *__address, Dl_info *__info,
- void **__extra_info, int __flags) __THROW __nonnull ((2));
- enum
- {
-
- RTLD_DL_SYMENT = 1,
-
- RTLD_DL_LINKMAP = 2
- };
- extern int dlinfo (void *__restrict __handle,
- int __request, void *__restrict __arg)
- __THROW __nonnull ((1, 3));
- enum
- {
-
- RTLD_DI_LMID = 1,
-
- RTLD_DI_LINKMAP = 2,
- RTLD_DI_CONFIGADDR = 3,
-
- RTLD_DI_SERINFO = 4,
- RTLD_DI_SERINFOSIZE = 5,
-
- RTLD_DI_ORIGIN = 6,
- RTLD_DI_PROFILENAME = 7,
- RTLD_DI_PROFILEOUT = 8,
-
- RTLD_DI_TLS_MODID = 9,
-
- RTLD_DI_TLS_DATA = 10,
- RTLD_DI_MAX = 10
- };
- typedef struct
- {
- char *dls_name;
- unsigned int dls_flags;
- } Dl_serpath;
- typedef struct
- {
- size_t dls_size;
- unsigned int dls_cnt;
- Dl_serpath dls_serpath[1];
- } Dl_serinfo;
- #endif
- __END_DECLS
- #endif
|