1*be7ded7eSmarc /* $OpenBSD: dlfcn.h,v 1.7 2003/04/25 19:16:12 marc Exp $ */ 2df930be7Sderaadt /* $NetBSD: dlfcn.h,v 1.2 1995/06/05 19:38:00 pk Exp $ */ 3df930be7Sderaadt 4df930be7Sderaadt /* 5df930be7Sderaadt * Copyright (c) 1995 Paul Kranenburg 6df930be7Sderaadt * All rights reserved. 7df930be7Sderaadt * 8df930be7Sderaadt * Redistribution and use in source and binary forms, with or without 9df930be7Sderaadt * modification, are permitted provided that the following conditions 10df930be7Sderaadt * are met: 11df930be7Sderaadt * 1. Redistributions of source code must retain the above copyright 12df930be7Sderaadt * notice, this list of conditions and the following disclaimer. 13df930be7Sderaadt * 2. Redistributions in binary form must reproduce the above copyright 14df930be7Sderaadt * notice, this list of conditions and the following disclaimer in the 15df930be7Sderaadt * documentation and/or other materials provided with the distribution. 16df930be7Sderaadt * 3. All advertising materials mentioning features or use of this software 17df930be7Sderaadt * must display the following acknowledgement: 18df930be7Sderaadt * This product includes software developed by Paul Kranenburg. 19df930be7Sderaadt * 4. The name of the author may not be used to endorse or promote products 2047369814Sderaadt * derived from this software without specific prior written permission 21df930be7Sderaadt * 22df930be7Sderaadt * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 23df930be7Sderaadt * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24df930be7Sderaadt * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 25df930be7Sderaadt * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 26df930be7Sderaadt * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 27df930be7Sderaadt * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28df930be7Sderaadt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29df930be7Sderaadt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30df930be7Sderaadt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31df930be7Sderaadt * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32df930be7Sderaadt */ 33df930be7Sderaadt 34df930be7Sderaadt #ifndef _DLFCN_H_ 35df930be7Sderaadt #define _DLFCN_H_ 36df930be7Sderaadt 37df930be7Sderaadt #include <sys/cdefs.h> 38df930be7Sderaadt 39df930be7Sderaadt /* 40df930be7Sderaadt * User interface to the run-time linker. 41df930be7Sderaadt */ 42df930be7Sderaadt __BEGIN_DECLS 43c72b5b24Smillert extern void *dlopen(const char *, int); 44c72b5b24Smillert extern int dlclose(void *); 45c72b5b24Smillert extern void *dlsym(void *, const char *); 46c72b5b24Smillert extern int dlctl(void *, int, void *); 47c72b5b24Smillert extern const char *dlerror(void); 48df930be7Sderaadt __END_DECLS 49df930be7Sderaadt 50df930be7Sderaadt /* Values for dlopen `mode'. */ 51df930be7Sderaadt #define DL_LAZY 1 52df930be7Sderaadt #define RTLD_LAZY DL_LAZY /* SunOS Compat */ 53df930be7Sderaadt 54df930be7Sderaadt /* 55df930be7Sderaadt * dlctl() commands 56df930be7Sderaadt */ 57df930be7Sderaadt #define DL_GETERRNO 1 58df930be7Sderaadt #define DL_SETSRCHPATH x 59df930be7Sderaadt #define DL_GETLIST x 60df930be7Sderaadt #define DL_GETREFCNT x 61df930be7Sderaadt #define DL_GETLOADADDR x 62*be7ded7eSmarc #define DL_SETTHREADLCK 2 63df930be7Sderaadt 64df930be7Sderaadt #endif /* _DLFCN_H_ */ 65