OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [sys/] [linux/] [include/] [dlfcn.h] - Diff between revs 148 and 158

Only display areas with differences | Details | Blame | View Log

Rev 148 Rev 158
/* User functions for run-time dynamic loading.
/* User functions for run-time dynamic loading.
   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
   This file is part of the GNU C Library.
   This file is part of the GNU C Library.
 
 
   The GNU C Library is free software; you can redistribute it and/or
   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.
   version 2.1 of the License, or (at your option) any later version.
 
 
   The GNU C Library is distributed in the hope that it will be useful,
   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.
   Lesser General Public License for more details.
 
 
   You should have received a copy of the GNU Lesser General Public
   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
   License along with the GNU C Library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307 USA.  */
   02111-1307 USA.  */
 
 
#ifndef _DLFCN_H
#ifndef _DLFCN_H
#define _DLFCN_H 1
#define _DLFCN_H 1
 
 
#include <features.h>
#include <features.h>
 
 
/* Collect various system dependent definitions and declarations.  */
/* Collect various system dependent definitions and declarations.  */
#include <sys/dlfcn.h>
#include <sys/dlfcn.h>
 
 
 
 
/* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT
/* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT
   the run-time address of the symbol called NAME in the next shared
   the run-time address of the symbol called NAME in the next shared
   object is returned.  The "next" relation is defined by the order
   object is returned.  The "next" relation is defined by the order
   the shared objects were loaded.  */
   the shared objects were loaded.  */
# define RTLD_NEXT      ((void *) -1l)
# define RTLD_NEXT      ((void *) -1l)
 
 
/* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT
/* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT
   the run-time address of the symbol called NAME in the global scope
   the run-time address of the symbol called NAME in the global scope
   is returned.  */
   is returned.  */
# define RTLD_DEFAULT   ((void *) 0)
# define RTLD_DEFAULT   ((void *) 0)
 
 
 
 
__BEGIN_DECLS
__BEGIN_DECLS
 
 
/* Open the shared object FILE and map it in; return a handle that can be
/* Open the shared object FILE and map it in; return a handle that can be
   passed to `dlsym' to get symbol values from it.  */
   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) __THROW;
 
 
/* Unmap and close a shared object opened by `dlopen'.
/* Unmap and close a shared object opened by `dlopen'.
   The handle cannot be used again after calling `dlclose'.  */
   The handle cannot be used again after calling `dlclose'.  */
extern int dlclose (void *__handle) __THROW;
extern int dlclose (void *__handle) __THROW;
 
 
/* Find the run-time address in the shared object HANDLE refers to
/* Find the run-time address in the shared object HANDLE refers to
   of the symbol called NAME.  */
   of the symbol called NAME.  */
extern void *dlsym (void *__restrict __handle,
extern void *dlsym (void *__restrict __handle,
                    __const char *__restrict __name) __THROW;
                    __const char *__restrict __name) __THROW;
 
 
/* Find the run-time address in the shared object HANDLE refers to
/* Find the run-time address in the shared object HANDLE refers to
   of the symbol called NAME with VERSION.  */
   of the symbol called NAME with VERSION.  */
extern void *dlvsym (void *__restrict __handle,
extern void *dlvsym (void *__restrict __handle,
                     __const char *__restrict __name,
                     __const char *__restrict __name,
                     __const char *__restrict __version) __THROW;
                     __const char *__restrict __version) __THROW;
 
 
/* When any of the above functions fails, call this function
/* When any of the above functions fails, call this function
   to return a string describing the error.  Each call resets
   to return a string describing the error.  Each call resets
   the error string so that a following call returns null.  */
   the error string so that a following call returns null.  */
extern char *dlerror (void) __THROW;
extern char *dlerror (void) __THROW;
 
 
 
 
/* Structure containing information about object searched using
/* Structure containing information about object searched using
   `dladdr'.  */
   `dladdr'.  */
typedef struct
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.  */
  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.  */
  void *dli_saddr;              /* Exact value of nearest symbol.  */
} Dl_info;
} Dl_info;
 
 
/* Fill in *INFO with the following information about ADDRESS.
/* Fill in *INFO with the following information about ADDRESS.
   Returns 0 iff no shared object's segments contain that address.  */
   Returns 0 iff no shared object's segments contain that address.  */
extern int dladdr (__const void *__address, Dl_info *__info) __THROW;
extern int dladdr (__const void *__address, Dl_info *__info) __THROW;
 
 
__END_DECLS
__END_DECLS
 
 
#endif  /* dlfcn.h */
#endif  /* dlfcn.h */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.