123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- #if !defined LT__PRIVATE_H
- #define LT__PRIVATE_H 1
- #if defined LT_CONFIG_H
- # include LT_CONFIG_H
- #else
- # include <config.h>
- #endif
- #include <stdio.h>
- #include <ctype.h>
- #include <assert.h>
- #include <errno.h>
- #include <string.h>
- #if defined HAVE_UNISTD_H
- # include <unistd.h>
- #endif
- #include "lt__alloc.h"
- #include "lt__dirent.h"
- #include "lt__strl.h"
- #include "lt__glibc.h"
- #include "ltdl.h"
- #if defined WITH_DMALLOC
- # include <dmalloc.h>
- #endif
- #ifndef LT_GLOBAL_DATA
- # if defined __WINDOWS__ || defined __CYGWIN__
- # if defined DLL_EXPORT
- # define LT_GLOBAL_DATA __declspec(dllexport)
- # endif
- # endif
- # ifndef LT_GLOBAL_DATA
- # define LT_GLOBAL_DATA
- # endif
- #endif
- #ifndef __attribute__
- # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
- # define __attribute__(x)
- # endif
- #endif
- #ifndef LT__UNUSED
- # define LT__UNUSED __attribute__ ((__unused__))
- #endif
- LT_BEGIN_C_DECLS
- #if !defined errno
- extern int errno;
- #endif
- LT_SCOPE void lt__alloc_die_callback (void);
- #define STRNEQ(s1, s2) (strcmp((s1), (s2)) != 0)
- #define STREQ(s1, s2) (strcmp((s1), (s2)) == 0)
- typedef struct {
- lt_dlinterface_id key;
- void * data;
- } lt_interface_data;
- struct lt__handle {
- lt_dlhandle next;
- const lt_dlvtable * vtable;
- lt_dlinfo info;
- int depcount;
- lt_dlhandle * deplibs;
- lt_module module;
- void * system;
- lt_interface_data * interface_data;
- int flags;
- };
- struct lt__advise {
- unsigned int try_ext:1;
- unsigned int is_resident:1;
- unsigned int is_symglobal:1;
- unsigned int is_symlocal:1;
- unsigned int try_preload_only:1;
- };
- #define LT__STRERROR(name) lt__error_string(LT_CONC(LT_ERROR_,name))
- #define LT__GETERROR(lvalue) (lvalue) = lt__get_last_error()
- #define LT__SETERRORSTR(errormsg) lt__set_last_error(errormsg)
- #define LT__SETERROR(errorcode) LT__SETERRORSTR(LT__STRERROR(errorcode))
- LT_SCOPE const char *lt__error_string (int errorcode);
- LT_SCOPE const char *lt__get_last_error (void);
- LT_SCOPE const char *lt__set_last_error (const char *errormsg);
- LT_END_C_DECLS
- #endif
|