diff options
-rw-r--r--[-rwxr-xr-x] | make/stub_includes/unix/dynamic-linker.h | 78 | ||||
-rwxr-xr-x | src/java/com/jogamp/common/os/UnixDynamicLinkerImpl.java | 14 |
2 files changed, 47 insertions, 45 deletions
diff --git a/make/stub_includes/unix/dynamic-linker.h b/make/stub_includes/unix/dynamic-linker.h index 7071438..378f1a5 100755..100644 --- a/make/stub_includes/unix/dynamic-linker.h +++ b/make/stub_includes/unix/dynamic-linker.h @@ -1,47 +1,55 @@ -/* Portions extracted from Solaris dlfcn.h */ - /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. + * Copyright (c) 1994 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. * - * Copyright (c) 1989 AT&T - * All Rights Reserved + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. * + * $FreeBSD: src/include/dlfcn.h,v 1.2.2.3 2000/01/21 02:31:40 jdp Exp $ + * + * See: ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change */ + /* - * Valid values for handle argument to dlsym(3x). + * Special handle arguments for dlsym()/dlinfo(). */ -#define RTLD_NEXT -1LL /* look in `next' dependency */ -#define RTLD_DEFAULT -2LL /* look up symbol from scope */ - /* of current object */ -#define RTLD_SELF -3LL /* look in `ourself' */ -#define RTLD_PROBE -4LL /* look up symbol from scope */ - /* of current object, */ - /* using currently */ - /* loaded objects only. */ +#define RTLD_DEFAULT 0L /* Use default search algorithm. */ +#define RTLD_NEXT -1LL /* Search subsequent objects. */ +#define RTLD_SELF -3LL /* Search the caller itself. */ /* - * Valid values for mode argument to dlopen. + * Modes and flags for dlopen(). */ -#define RTLD_LAZY 0x00001 /* deferred function binding */ -#define RTLD_NOW 0x00002 /* immediate function binding */ -#define RTLD_NOLOAD 0x00004 /* don't load object */ +#define RTLD_LAZY 0x1 /* Bind function calls lazily. */ +#define RTLD_NOW 0x2 /* Bind function calls immediately. */ +#define RTLD_MODEMASK 0x3 +#define RTLD_GLOBAL 0x100 /* Make symbols globally available. */ +#define RTLD_LOCAL 0x0 /* Opposite of RTLD_GLOBAL, and the default. */ -#define RTLD_GLOBAL 0x00100 /* export symbols to others */ -#define RTLD_LOCAL 0x00000 /* symbols are only available */ - /* to group members */ -#define RTLD_PARENT 0x00200 /* add parent (caller) to */ - /* a group dependencies */ -#define RTLD_GROUP 0x00400 /* resolve symbols within */ - /* members of the group */ -#define RTLD_WORLD 0x00800 /* resolve symbols within */ - /* global objects */ -#define RTLD_NODELETE 0x01000 /* do not remove members */ -#define RTLD_FIRST 0x02000 /* only first object is */ - /* available for dlsym */ +extern void *dlopen(const char *, int); +extern void *dlsym(void *, const char *); +extern int dlclose(void *); +extern char *dlerror(void); -extern void *dlopen(const char *, int); -extern void *dlsym(void *, const char *); -extern int dlclose(void *); -extern char *dlerror(void); diff --git a/src/java/com/jogamp/common/os/UnixDynamicLinkerImpl.java b/src/java/com/jogamp/common/os/UnixDynamicLinkerImpl.java index d2970d6..fcfe418 100755 --- a/src/java/com/jogamp/common/os/UnixDynamicLinkerImpl.java +++ b/src/java/com/jogamp/common/os/UnixDynamicLinkerImpl.java @@ -6,16 +6,10 @@ package com.jogamp.common.os; public class UnixDynamicLinkerImpl implements DynamicLinker { public static final long RTLD_DEFAULT = 0; - public static final int RTLD_LAZY = 0x00001; - public static final int RTLD_NOW = 0x00002; - public static final int RTLD_NOLOAD = 0x00004; - public static final int RTLD_GLOBAL = 0x00100; - public static final int RTLD_LOCAL = 0x00000; - public static final int RTLD_PARENT = 0x00200; - public static final int RTLD_GROUP = 0x00400; - public static final int RTLD_WORLD = 0x00800; - public static final int RTLD_NODELETE = 0x01000; - public static final int RTLD_FIRST = 0x02000; + public static final int RTLD_LAZY = 0x00001; + public static final int RTLD_NOW = 0x00002; + public static final int RTLD_GLOBAL = 0x00100; + public static final int RTLD_LOCAL = 0x00000; /** Interface to C language function: <br> <code> int dlclose(void * ); </code> */ private static native int dlclose(long arg0); |