diff options
Diffstat (limited to 'include/dlfcn.h')
| -rw-r--r-- | include/dlfcn.h | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/include/dlfcn.h b/include/dlfcn.h index 2348e436d..74825aaf0 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -1,6 +1,5 @@ /* User functions for run-time dynamic loading. - Copyright (C) 1995-1999,2000,2001,2003,2004,2006 - Free Software Foundation, Inc. + Copyright (C) 1995-2001,2003,2004,2006,2009 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -14,9 +13,8 @@ Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ #ifndef _DLFCN_H #define _DLFCN_H 1 @@ -28,6 +26,9 @@ /* Collect various system dependent definitions and declarations. */ #include <bits/dlfcn.h> +/* Internally used flag. */ +#define __RTLD_SECURE 0x04000000 /* Apply additional security checks. */ + #ifdef __USE_GNU /* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT @@ -52,30 +53,31 @@ typedef long int Lmid_t; # endif #endif + __BEGIN_DECLS /* Open the shared object FILE and map it in; return a handle that can be passed to `dlsym' to get symbol values from it. */ -extern void *dlopen (__const char *__file, int __mode) __THROW; +extern void *dlopen (const char *__file, int __mode) __THROWNL; /* Unmap and close a shared object opened by `dlopen'. The handle cannot be used again after calling `dlclose'. */ -extern int dlclose (void *__handle) __THROW __nonnull ((1)); +extern int dlclose (void *__handle) __THROWNL __nonnull ((1)); /* Find the run-time address in the shared object HANDLE refers to of the symbol called NAME. */ extern void *dlsym (void *__restrict __handle, - __const char *__restrict __name) __THROW __nonnull ((2)); + const char *__restrict __name) __THROW __nonnull ((2)); #if 0 /*def __USE_GNU*/ /* Like `dlopen', but request object to be allocated in a new namespace. */ -extern void *dlmopen (Lmid_t __nsid, __const char *__file, int __mode) __THROW; +extern void *dlmopen (Lmid_t __nsid, const char *__file, int __mode) __THROWNL; /* Find the run-time address in the shared object HANDLE refers to of the symbol called NAME with VERSION. */ extern void *dlvsym (void *__restrict __handle, - __const char *__restrict __name, - __const char *__restrict __version) + const char *__restrict __name, + const char *__restrict __version) __THROW __nonnull ((2, 3)); #endif @@ -90,20 +92,20 @@ extern char *dlerror (void) __THROW; `dladdr'. */ typedef struct { - __const char *dli_fname; /* File name of defining object. */ + const char *dli_fname; /* File name of defining object. */ void *dli_fbase; /* Load address of that object. */ - __const char *dli_sname; /* Name of nearest symbol. */ + const char *dli_sname; /* Name of nearest symbol. */ void *dli_saddr; /* Exact value of nearest symbol. */ } Dl_info; /* Fill in *INFO with the following information about ADDRESS. Returns 0 iff no shared object's segments contain that address. */ -extern int dladdr (__const void *__address, Dl_info *__info) +extern int dladdr (const void *__address, Dl_info *__info) __THROW __nonnull ((2)); #if 0 /* not supported by uClibc */ /* Same as `dladdr', but additionally sets *EXTRA_INFO according to FLAGS. */ -extern int dladdr1 (__const void *__address, Dl_info *__info, +extern int dladdr1 (const void *__address, Dl_info *__info, void **__extra_info, int __flags) __THROW __nonnull ((2)); /* These are the possible values for the FLAGS argument to `dladdr1'. @@ -166,7 +168,7 @@ enum segment, or if the calling thread has not allocated a block for it. */ RTLD_DI_TLS_DATA = 10, - RTLD_DI_MAX = 10, + RTLD_DI_MAX = 10 }; @@ -186,12 +188,6 @@ typedef struct unsigned int dls_cnt; /* Number of elements in `dls_serpath'. */ Dl_serpath dls_serpath[1]; /* Actually longer, dls_cnt elements. */ } Dl_serinfo; - -#else - -/* Get information about the shared objects currently loaded */ -extern int dlinfo (void); - #endif #endif /* __USE_GNU */ |
