1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#ifndef DSO_H 18#define DSO_H 19 20#include "apr_private.h" 21#include "apr_general.h" 22#include "apr_pools.h" 23#include "apr_dso.h" 24#include "apr.h" 25 26#if APR_HAS_DSO 27 28#ifdef HAVE_MACH_O_DYLD_H 29#include <mach-o/dyld.h> 30#endif 31 32#ifdef HAVE_DLFCN_H 33#include <dlfcn.h> 34#endif 35 36#ifdef HAVE_DL_H 37#include <dl.h> 38#endif 39 40#ifndef RTLD_NOW 41#define RTLD_NOW 1 42#endif 43 44#ifndef RTLD_GLOBAL 45#define RTLD_GLOBAL 0 46#endif 47 48#if (defined(__DragonFly__) ||\ 49 defined(__FreeBSD__) ||\ 50 defined(__OpenBSD__) ||\ 51 defined(__NetBSD__) ) && !defined(__ELF__) 52#define DLSYM_NEEDS_UNDERSCORE 53#endif 54 55struct apr_dso_handle_t { 56 apr_pool_t *pool; 57 void *handle; 58 const char *errormsg; 59}; 60 61#endif 62 63#endif 64