1 /* System dependent definitions for run-time dynamic loading.
2    Copyright (C) 1996, 1997, 1999, 2000, 2001, 2004
3 	Free Software Foundation, Inc.
4    This file is part of the GNU C Library.
5 
6    The GNU C Library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10 
11    The GNU C Library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15 
16    You should have received a copy of the GNU Lesser General Public
17    License along with the GNU C Library; if not, see
18    <http://www.gnu.org/licenses/>.  */
19 
20 #ifndef _DLFCN_H
21 # error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
22 #endif
23 
24 /* The MODE argument to `dlopen' contains one of the following: */
25 #define RTLD_LAZY	0x0001	/* Lazy function call binding.  */
26 #define RTLD_NOW	0x0002	/* Immediate function call binding.  */
27 #define RTLD_BINDING_MASK  0x3	/* Mask of binding time value.  */
28 #define RTLD_NOLOAD	0x00008	/* Do not load the object.  */
29 #if 0 /* uClibc doesnt support these */
30 #define RTLD_DEEPBIND	0x00010	/* Use deep binding.  */
31 #endif
32 
33 /* If the following bit is set in the MODE argument to `dlopen',
34    the symbols of the loaded object and its dependencies are made
35    visible as if the object were linked directly into the program.  */
36 #define RTLD_GLOBAL	0x0004
37 
38 /* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
39    The implementation does this by default and so we can define the
40    value to zero.  */
41 #define RTLD_LOCAL      0
42 
43 /* Do not delete object when closed.  */
44 #define RTLD_NODELETE	0x01000
45