1 /* System dependent definitions for run-time dynamic loading.
2    Copyright (C) 1996-2001, 2004 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, see
17    <http://www.gnu.org/licenses/>.  */
18 
19 #ifndef _DLFCN_H
20 # error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21 #endif
22 
23 /* The MODE argument to `dlopen' contains one of the following: */
24 #define RTLD_LAZY	0x00001	/* Lazy function call binding.  */
25 #define RTLD_NOW	0x00002	/* Immediate function call binding.  */
26 #define RTLD_BINDING_MASK   0x3	/* Mask of binding time value.  */
27 #define RTLD_NOLOAD	0x00004	/* Do not load the object.  */
28 #if 0 /* uClibc doesnt support these */
29 #define RTLD_DEEPBIND	0x00008	/* Use deep binding.  */
30 #endif
31 
32 /* If the following bit is set in the MODE argument to `dlopen',
33    the symbols of the loaded object and its dependencies are made
34    visible as if the object were linked directly into the program.  */
35 #define RTLD_GLOBAL	0x00100
36 
37 /* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
38    The implementation does this by default and so we can define the
39    value to zero.  */
40 #define RTLD_LOCAL	0
41 
42 /* Do not delete object when closed.  */
43 #define RTLD_NODELETE	0x01000
44