1/* 2 * HPUX 10.x stubs to implement dl* in terms of shl* 3 * 4 * Not needed for later versions; HPUX 11.x has dlopen() and friends. 5 * 6 * configure also needs to be faked out. You can create a dummy libdl.a 7 * with stub entries for dlopen, dlclose, dlsym, and dlerror: 8 * 9 * int dlopen() { return(0);} 10 * int dlclose() { return(0);} 11 * int dlsym() { return(0);} 12 * int dlerror() { return(0);} 13 * 14 * This has not been tested; I just read the manual page and coded this up. 15 * 16 * According to the ld manual page, you need to link bash with -dld and add 17 * the -E flag to LOCAL_LDFLAGS. 18 */ 19 20/* Copyright (C) 1998-2002 Free Software Foundation, Inc. 21 22 This file is part of GNU Bash, the Bourne Again SHell. 23 24 Bash is free software; you can redistribute it and/or modify it under 25 the terms of the GNU General Public License as published by the Free 26 Software Foundation; either version 2, or (at your option) any later 27 version. 28 29 Bash is distributed in the hope that it will be useful, but WITHOUT ANY 30 WARRANTY; without even the implied warranty of MERCHANTABILITY or 31 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 32 for more details. 33 34 You should have received a copy of the GNU General Public License along 35 with Bash; see the file COPYING. If not, write to the Free Software 36 Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ 37 38#if !defined (__HPUX10_DLFCN_H__) 39 40#define __HPUX10_DLFCN_H__ 41 42#include <dl.h> 43#include <errno.h> 44 45#ifndef errno 46extern int errno; 47#endif 48 49#define RTLD_LAZY BIND_DEFERRED 50#define RTLD_NOW BIND_IMMEDIATE 51#define RTLD_GLOBAL DYNAMIC_PATH 52 53char *bash_global_sym_addr; 54 55#define dlopen(file,mode) (void *)shl_load((file), (mode), 0L) 56 57#define dlclose(handle) shl_unload((shl_t)(handle)) 58 59#define dlsym(handle,name) (bash_global_sym_addr=0,shl_findsym((shl_t *)&(handle),name,TYPE_UNDEFINED,&bash_global_sym_addr), (void *)bash_global_sym_addr) 60 61#define dlerror() strerror(errno) 62 63#endif /* __HPUX10_DLFCN_H__ */ 64