File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sudo / compat / dlfcn.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 10:46:11 2013 UTC (10 years, 11 months ago) by misho
Branches: sudo, MAIN
CVS tags: v1_8_8p0, v1_8_8, v1_8_7p0, v1_8_7, v1_8_5p1, v1_8_3p2, HEAD
1.8.7

    1: /*
    2:  * Copyright (c) 2010 Todd C. Miller <Todd.Miller@courtesan.com>
    3:  *
    4:  * Permission to use, copy, modify, and distribute this software for any
    5:  * purpose with or without fee is hereby granted, provided that the above
    6:  * copyright notice and this permission notice appear in all copies.
    7:  *
    8:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    9:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   10:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   11:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   12:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   13:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   14:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   15:  */
   16: 
   17: #ifndef _DLFCN_H_
   18: #define _DLFCN_H_
   19: 
   20: /* Emulated functions. */
   21: void *sudo_dlopen(const char *path, int mode);
   22: int sudo_dlclose(void *handle);
   23: void *sudo_dlsym(void *handle, const char *symbol);
   24: char *sudo_dlerror(void);
   25: 
   26: /* Map emulated functions to standard names. */
   27: #define dlopen(p, m)	sudo_dlopen(p, m)
   28: #define dlclose(h)	sudo_dlclose(h)
   29: #define dlsym(h, s)	sudo_dlsym(h, s)
   30: #define dlerror()	sudo_dlerror()
   31: 
   32: /* Values for dlopen() mode. */
   33: #define RTLD_LAZY	0x1
   34: #define RTLD_NOW	0x2
   35: #define RTLD_GLOBAL	0x4
   36: #define RTLD_LOCAL	0x8
   37: 
   38: /* Special handle arguments for dlsym(). */
   39: #define	RTLD_NEXT	((void *) -1)	/* Search subsequent objects. */
   40: #define	RTLD_DEFAULT	((void *) -2)	/* Use default search algorithm. */
   41: #define	RTLD_SELF	((void *) -3)	/* Search the caller itself. */
   42: 
   43: #endif /* !_DLFCN_H_ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>