source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/dlfcn.h

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 3.0 KB
Line 
1/* User functions for run-time dynamic loading.
2   Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
3   This file is part of the GNU C Library.
4
5   The GNU C Library is free software; you can redistribute it and/or
6   modify it under the terms of the GNU Lesser General Public
7   License as published by the Free Software Foundation; either
8   version 2.1 of the License, or (at your option) any later version.
9
10   The GNU C Library is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   Lesser General Public License for more details.
14
15   You should have received a copy of the GNU Lesser General Public
16   License along with the GNU C Library; if not, write to the Free
17   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18   02111-1307 USA.  */
19
20#ifndef _DLFCN_H
21#define _DLFCN_H 1
22
23#include <features.h>
24#define __need_size_t
25#include <stddef.h>
26
27/* Collect various system dependent definitions and declarations.  */
28#include <bits/dlfcn.h>
29
30
31#ifdef __USE_GNU
32/* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT
33   the run-time address of the symbol called NAME in the next shared
34   object is returned.  The "next" relation is defined by the order
35   the shared objects were loaded.  */
36# define RTLD_NEXT      ((void *) -1l)
37
38/* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT
39   the run-time address of the symbol called NAME in the global scope
40   is returned.  */
41# define RTLD_DEFAULT   ((void *) 0)
42#endif
43
44__BEGIN_DECLS
45
46/* Open the shared object FILE and map it in; return a handle that can be
47   passed to `dlsym' to get symbol values from it.  */
48extern void *dlopen (__const char *__file, int __mode) __THROW;
49
50/* Unmap and close a shared object opened by `dlopen'.
51   The handle cannot be used again after calling `dlclose'.  */
52extern int dlclose (void *__handle) __THROW;
53
54/* Find the run-time address in the shared object HANDLE refers to
55   of the symbol called NAME.  */
56extern void *dlsym (void *__restrict __handle,
57                    __const char *__restrict __name) __THROW;
58
59/* When any of the above functions fails, call this function
60   to return a string describing the error.  Each call resets
61   the error string so that a following call returns null.  */
62extern char *dlerror (void) __THROW;
63
64#ifdef __USE_GNU
65/* Structure containing information about object searched using
66   `dladdr'.  */
67typedef struct
68{
69  __const char *dli_fname;      /* File name of defining object.  */
70  void *dli_fbase;              /* Load address of that object.  */
71  __const char *dli_sname;      /* Name of nearest symbol.  */
72  void *dli_saddr;              /* Exact value of nearest symbol.  */
73} Dl_info;
74
75/* Fill in *INFO with the following information about ADDRESS.
76   Returns 0 iff no shared object's segments contain that address.  */
77extern int dladdr (const void *__address, Dl_info *__info) __THROW;
78
79/* Get information about the shared objects currently loaded */
80extern int dlinfo (void);
81
82#endif
83
84__END_DECLS
85
86#endif  /* dlfcn.h */
Note: See TracBrowser for help on using the repository browser.