diff options
author | hongbotian <hongbo.tianhongbo@huawei.com> | 2015-11-30 03:10:21 -0500 |
---|---|---|
committer | hongbotian <hongbo.tianhongbo@huawei.com> | 2015-11-30 03:10:21 -0500 |
commit | c0b7206652b2852bc574694e7ba07ba1c2acdc00 (patch) | |
tree | 5cb95cb0e19e03610525903df46279df2c3b7eb1 /rubbos/app/httpd-2.0.64/srclib/apr/dso | |
parent | b6d3d6e668b793220f2d3af1bc3e828553dc3fe6 (diff) |
delete app
Change-Id: Id4c572809969ebe89e946e88063eaed262cff3f2
Signed-off-by: hongbotian <hongbo.tianhongbo@huawei.com>
Diffstat (limited to 'rubbos/app/httpd-2.0.64/srclib/apr/dso')
16 files changed, 0 insertions, 1699 deletions
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/aix/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/dso/aix/Makefile.in deleted file mode 100644 index 7d42bded..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/aix/Makefile.in +++ /dev/null @@ -1,14 +0,0 @@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -TARGETS = dso.lo - -# bring in rules.mk for standard functionality -@INCLUDE_RULES@ - -INCDIR=../../include -OSDIR=$(INCDIR)/arch/@OSDIR@ -DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@ -INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/aix/dso.c b/rubbos/app/httpd-2.0.64/srclib/apr/dso/aix/dso.c deleted file mode 100644 index 25f6262a..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/aix/dso.c +++ /dev/null @@ -1,714 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * dso.c -- DSO system function emulation for AIX - * - * This is *only* intended for AIX < 4.3. - */ - -/* - * Based on libdl (dlfcn.c/dlfcn.h) which is - * Copyright (c) 1992,1993,1995,1996,1997,1988 - * Jens-Uwe Mager, Helios Software GmbH, Hannover, Germany. - * - * Not derived from licensed software. - * - * Permission is granted to freely use, copy, modify, and redistribute - * this software, provided that the author is not construed to be liable - * for any results of using the software, alterations are clearly marked - * as such, and this notice is not modified. - * - * Changes marked with `--jwe' were made on April 7 1996 by - * John W. Eaton <jwe@bevo.che.wisc.edu> to support g++ - * - * Bundled, stripped and adjusted on April 1998 as one single source file - * for inclusion into the Apache HTTP server by - * Ralf S. Engelschall <rse@apache.org> - * - * Added to APR by David Reid April 2000 - */ - -#include <stdio.h> -#include <errno.h> -#include <string.h> -#include <stdlib.h> -#include <sys/types.h> -#include <sys/ldr.h> -#include <a.out.h> -#include "apr_arch_dso.h" -#include "apr_portable.h" - -#if APR_HAS_DSO - -#undef FREAD -#undef FWRITE -#include <ldfcn.h> - -/* - * AIX 4.3 does remove some useful definitions from ldfcn.h. Define - * these here to compensate for that lossage. - */ -#ifndef BEGINNING -#define BEGINNING SEEK_SET -#endif -#ifndef FSEEK -#define FSEEK(ldptr,o,p) fseek(IOPTR(ldptr),(p==BEGINNING)?(OFFSET(ldptr) +o):o,p) -#endif -#ifndef FREAD -#define FREAD(p,s,n,ldptr) fread(p,s,n,IOPTR(ldptr)) -#endif - -/* - * Mode flags for the dlopen routine. - */ -#undef RTLD_LAZY -#define RTLD_LAZY 1 /* lazy function call binding */ -#undef RTLD_NOW -#define RTLD_NOW 2 /* immediate function call binding */ -#undef RTLD_GLOBAL -#define RTLD_GLOBAL 0x100 /* allow symbols to be global */ - -/* - * To be able to initialize, a library may provide a dl_info structure - * that contains functions to be called to initialize and terminate. - */ -struct dl_info { - void (*init) (void); - void (*fini) (void); -}; - -/* APR functions... - * - * As the AIX functions have been declared in the header file we just - * add the basic "wrappers" here. - */ - -APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -{ - *aprdso = apr_pcalloc(pool, sizeof **aprdso); - (*aprdso)->handle = osdso; - (*aprdso)->pool = pool; - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, - apr_dso_handle_t *aprdso) -{ - *osdso = aprdso->handle; - return APR_SUCCESS; -} - -static apr_status_t dso_cleanup(void *thedso) -{ - apr_dso_handle_t *dso = thedso; - - if (dso->handle != NULL && dlclose(dso->handle) != 0) - return APR_EINIT; - dso->handle = NULL; - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle, - const char *path, apr_pool_t *ctx) -{ - void *os_handle = dlopen((char *)path, RTLD_NOW | RTLD_GLOBAL); - - *res_handle = apr_pcalloc(ctx, sizeof(*res_handle)); - - if(os_handle == NULL) { - (*res_handle)->errormsg = dlerror(); - return APR_EDSOOPEN; - } - - (*res_handle)->handle = (void*)os_handle; - (*res_handle)->pool = ctx; - (*res_handle)->errormsg = NULL; - - apr_pool_cleanup_register(ctx, *res_handle, dso_cleanup, apr_pool_cleanup_null); - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle) -{ - return apr_pool_cleanup_run(handle->pool, handle, dso_cleanup); -} - -APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, - apr_dso_handle_t *handle, - const char *symname) -{ - void *retval = dlsym(handle->handle, symname); - - if (retval == NULL) { - handle->errormsg = dlerror(); - return APR_ESYMNOTFOUND; - } - - *ressym = retval; - return APR_SUCCESS; -} - -APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *dso, char *buffer, apr_size_t buflen) -{ - if (dso->errormsg) { - apr_cpystrn(buffer, dso->errormsg, buflen); - return dso->errormsg; - } - return "No Error"; -} - - - -/* - * We simulate dlopen() et al. through a call to load. Because AIX has - * no call to find an exported symbol we read the loader section of the - * loaded module and build a list of exported symbols and their virtual - * address. - */ - -typedef struct { - char *name; /* the symbols's name */ - void *addr; /* its relocated virtual address */ -} Export, *ExportPtr; - -/* - * xlC uses the following structure to list its constructors and - * destructors. This is gleaned from the output of munch. - */ -typedef struct { - void (*init) (void); /* call static constructors */ - void (*term) (void); /* call static destructors */ -} Cdtor, *CdtorPtr; - -typedef void (*GccCDtorPtr) (void); - -/* - * The void * handle returned from dlopen is actually a ModulePtr. - */ -typedef struct Module { - struct Module *next; - char *name; /* module name for refcounting */ - int refCnt; /* the number of references */ - void *entry; /* entry point from load */ - struct dl_info *info; /* optional init/terminate functions */ - CdtorPtr cdtors; /* optional C++ constructors */ - GccCDtorPtr gcc_ctor; /* g++ constructors --jwe */ - GccCDtorPtr gcc_dtor; /* g++ destructors --jwe */ - int nExports; /* the number of exports found */ - ExportPtr exports; /* the array of exports */ -} Module, *ModulePtr; - -/* - * We keep a list of all loaded modules to be able to call the fini - * handlers and destructors at atexit() time. - */ -static ModulePtr modList; - -/* - * The last error from one of the dl* routines is kept in static - * variables here. Each error is returned only once to the caller. - */ -static char errbuf[BUFSIZ]; -static int errvalid; - -/* - * The `fixed' gcc header files on AIX 3.2.5 provide a prototype for - * strdup(). --jwe - */ -extern char *strdup(const char *); -static void caterr(char *); -static int readExports(ModulePtr); -static void terminate(void); -static void *findMain(void); - -void *dlopen(const char *path, int mode) -{ - register ModulePtr mp; - static void *mainModule; - - /* - * Upon the first call register a terminate handler that will - * close all libraries. Also get a reference to the main module - * for use with loadbind. - */ - if (!mainModule) { - if ((mainModule = findMain()) == NULL) - return NULL; - atexit(terminate); - } - /* - * Scan the list of modules if we have the module already loaded. - */ - for (mp = modList; mp; mp = mp->next) - if (strcmp(mp->name, path) == 0) { - mp->refCnt++; - return mp; - } - if ((mp = (ModulePtr) calloc(1, sizeof(*mp))) == NULL) { - errvalid++; - strcpy(errbuf, "calloc: "); - strcat(errbuf, strerror(errno)); - return NULL; - } - if ((mp->name = strdup(path)) == NULL) { - errvalid++; - strcpy(errbuf, "strdup: "); - strcat(errbuf, strerror(errno)); - free(mp); - return NULL; - } - /* - * load should be declared load(const char *...). Thus we - * cast the path to a normal char *. Ugly. - */ - if ((mp->entry = (void *) loadAndInit((char *) path, L_NOAUTODEFER, NULL)) == NULL) { - free(mp->name); - free(mp); - errvalid++; - strcpy(errbuf, "dlopen: "); - strcat(errbuf, path); - strcat(errbuf, ": "); - /* - * If AIX says the file is not executable, the error - * can be further described by querying the loader about - * the last error. - */ - if (errno == ENOEXEC) { - char *tmp[BUFSIZ / sizeof(char *)]; - if (loadquery(L_GETMESSAGES, tmp, sizeof(tmp)) == -1) - strcpy(errbuf, strerror(errno)); - else { - char **p; - for (p = tmp; *p; p++) - caterr(*p); - } - } - else - strcat(errbuf, strerror(errno)); - return NULL; - } - mp->refCnt = 1; - mp->next = modList; - modList = mp; - if (loadbind(0, mainModule, mp->entry) == -1) { - dlclose(mp); - errvalid++; - strcpy(errbuf, "loadbind: "); - strcat(errbuf, strerror(errno)); - return NULL; - } - /* - * If the user wants global binding, loadbind against all other - * loaded modules. - */ - if (mode & RTLD_GLOBAL) { - register ModulePtr mp1; - for (mp1 = mp->next; mp1; mp1 = mp1->next) - if (loadbind(0, mp1->entry, mp->entry) == -1) { - dlclose(mp); - errvalid++; - strcpy(errbuf, "loadbind: "); - strcat(errbuf, strerror(errno)); - return NULL; - } - } - if (readExports(mp) == -1) { - dlclose(mp); - return NULL; - } - /* - * If there is a dl_info structure, call the init function. - */ - if (mp->info = (struct dl_info *) dlsym(mp, "dl_info")) { - if (mp->info->init) - (*mp->info->init) (); - } - else - errvalid = 0; - /* - * If the shared object was compiled using xlC we will need - * to call static constructors (and later on dlclose destructors). - */ - if (mp->cdtors = (CdtorPtr) dlsym(mp, "__cdtors")) { - CdtorPtr cp = mp->cdtors; - while (cp->init || cp->term) { - if (cp->init && cp->init != (void (*)(void)) 0xffffffff) - (*cp->init) (); - cp++; - } - /* - * If the shared object was compiled using g++, we will need - * to call global constructors using the _GLOBAL__DI function, - * and later, global destructors using the _GLOBAL_DD - * funciton. --jwe - */ - } - else if (mp->gcc_ctor = (GccCDtorPtr) dlsym(mp, "_GLOBAL__DI")) { - (*mp->gcc_ctor) (); - mp->gcc_dtor = (GccCDtorPtr) dlsym(mp, "_GLOBAL__DD"); - } - else - errvalid = 0; - return mp; -} - -/* - * Attempt to decipher an AIX loader error message and append it - * to our static error message buffer. - */ -static void caterr(char *s) -{ - register char *p = s; - - while (*p >= '0' && *p <= '9') - p++; - switch (atoi(s)) { - case L_ERROR_TOOMANY: - strcat(errbuf, "to many errors"); - break; - case L_ERROR_NOLIB: - strcat(errbuf, "can't load library"); - strcat(errbuf, p); - break; - case L_ERROR_UNDEF: - strcat(errbuf, "can't find symbol"); - strcat(errbuf, p); - break; - case L_ERROR_RLDBAD: - strcat(errbuf, "bad RLD"); - strcat(errbuf, p); - break; - case L_ERROR_FORMAT: - strcat(errbuf, "bad exec format in"); - strcat(errbuf, p); - break; - case L_ERROR_ERRNO: - strcat(errbuf, strerror(atoi(++p))); - break; - default: - strcat(errbuf, s); - break; - } -} - -void *dlsym(void *handle, const char *symbol) -{ - register ModulePtr mp = (ModulePtr) handle; - register ExportPtr ep; - register int i; - - /* - * Could speed up the search, but I assume that one assigns - * the result to function pointers anyways. - */ - for (ep = mp->exports, i = mp->nExports; i; i--, ep++) - if (strcmp(ep->name, symbol) == 0) - return ep->addr; - errvalid++; - strcpy(errbuf, "dlsym: undefined symbol "); - strcat(errbuf, symbol); - return NULL; -} - -const char *dlerror(void) -{ - if (errvalid) { - errvalid = 0; - return errbuf; - } - return NULL; -} - -int dlclose(void *handle) -{ - register ModulePtr mp = (ModulePtr) handle; - int result; - register ModulePtr mp1; - - if (--mp->refCnt > 0) - return 0; - if (mp->info && mp->info->fini) - (*mp->info->fini) (); - if (mp->cdtors) { - CdtorPtr cp = mp->cdtors; - while (cp->init || cp->term) { - if (cp->term && cp->init != (void (*)(void)) 0xffffffff) - (*cp->term) (); - cp++; - } - /* - * If the function to handle global destructors for g++ - * exists, call it. --jwe - */ - } - else if (mp->gcc_dtor) { - (*mp->gcc_dtor) (); - } - result = unload(mp->entry); - if (result == -1) { - errvalid++; - strcpy(errbuf, strerror(errno)); - } - if (mp->exports) { - register ExportPtr ep; - register int i; - for (ep = mp->exports, i = mp->nExports; i; i--, ep++) - if (ep->name) - free(ep->name); - free(mp->exports); - } - if (mp == modList) - modList = mp->next; - else { - for (mp1 = modList; mp1; mp1 = mp1->next) - if (mp1->next == mp) { - mp1->next = mp->next; - break; - } - } - free(mp->name); - free(mp); - return result; -} - -static void terminate(void) -{ - while (modList) - dlclose(modList); -} - -/* - * Build the export table from the XCOFF .loader section. - */ -static int readExports(ModulePtr mp) -{ - LDFILE *ldp = NULL; - SCNHDR sh, shdata; - LDHDR *lhp; - char *ldbuf; - LDSYM *ls; - int i; - ExportPtr ep; - struct ld_info *lp; - char *buf; - int size = 4 * 1024; - void *dataorg; - - /* - * The module might be loaded due to the LIBPATH - * environment variable. Search for the loaded - * module using L_GETINFO. - */ - if ((buf = malloc(size)) == NULL) { - errvalid++; - strcpy(errbuf, "readExports: "); - strcat(errbuf, strerror(errno)); - return -1; - } - while ((i = loadquery(L_GETINFO, buf, size)) == -1 && errno == ENOMEM) { - free(buf); - size += 4 * 1024; - if ((buf = malloc(size)) == NULL) { - errvalid++; - strcpy(errbuf, "readExports: "); - strcat(errbuf, strerror(errno)); - return -1; - } - } - if (i == -1) { - errvalid++; - strcpy(errbuf, "readExports: "); - strcat(errbuf, strerror(errno)); - free(buf); - return -1; - } - /* - * Traverse the list of loaded modules. The entry point - * returned by load() does actually point to the TOC - * entry contained in the data segment. - */ - lp = (struct ld_info *) buf; - while (lp) { - if ((unsigned long) mp->entry >= (unsigned long) lp->ldinfo_dataorg && - (unsigned long) mp->entry < (unsigned long) lp->ldinfo_dataorg + - lp->ldinfo_datasize) { - dataorg = lp->ldinfo_dataorg; - ldp = ldopen(lp->ldinfo_filename, ldp); - break; - } - if (lp->ldinfo_next == 0) - lp = NULL; - else - lp = (struct ld_info *) ((char *) lp + lp->ldinfo_next); - } - free(buf); - if (!ldp) { - errvalid++; - strcpy(errbuf, "readExports: "); - strcat(errbuf, strerror(errno)); - return -1; - } - if (TYPE(ldp) != U802TOCMAGIC) { - errvalid++; - strcpy(errbuf, "readExports: bad magic"); - while (ldclose(ldp) == FAILURE); - return -1; - } - /* - * Get the padding for the data section. This is needed for - * AIX 4.1 compilers. This is used when building the final - * function pointer to the exported symbol. - */ - if (ldnshread(ldp, _DATA, &shdata) != SUCCESS) { - errvalid++; - strcpy(errbuf, "readExports: cannot read data section header"); - while (ldclose(ldp) == FAILURE); - return -1; - } - if (ldnshread(ldp, _LOADER, &sh) != SUCCESS) { - errvalid++; - strcpy(errbuf, "readExports: cannot read loader section header"); - while (ldclose(ldp) == FAILURE); - return -1; - } - /* - * We read the complete loader section in one chunk, this makes - * finding long symbol names residing in the string table easier. - */ - if ((ldbuf = (char *) malloc(sh.s_size)) == NULL) { - errvalid++; - strcpy(errbuf, "readExports: "); - strcat(errbuf, strerror(errno)); - while (ldclose(ldp) == FAILURE); - return -1; - } - if (FSEEK(ldp, sh.s_scnptr, BEGINNING) != OKFSEEK) { - errvalid++; - strcpy(errbuf, "readExports: cannot seek to loader section"); - free(ldbuf); - while (ldclose(ldp) == FAILURE); - return -1; - } - if (FREAD(ldbuf, sh.s_size, 1, ldp) != 1) { - errvalid++; - strcpy(errbuf, "readExports: cannot read loader section"); - free(ldbuf); - while (ldclose(ldp) == FAILURE); - return -1; - } - lhp = (LDHDR *) ldbuf; - ls = (LDSYM *) (ldbuf + LDHDRSZ); - /* - * Count the number of exports to include in our export table. - */ - for (i = lhp->l_nsyms; i; i--, ls++) { - if (!LDR_EXPORT(*ls)) - continue; - mp->nExports++; - } - if ((mp->exports = (ExportPtr) calloc(mp->nExports, sizeof(*mp->exports))) == NULL) { - errvalid++; - strcpy(errbuf, "readExports: "); - strcat(errbuf, strerror(errno)); - free(ldbuf); - while (ldclose(ldp) == FAILURE); - return -1; - } - /* - * Fill in the export table. All entries are relative to - * the beginning of the data origin. - */ - ep = mp->exports; - ls = (LDSYM *) (ldbuf + LDHDRSZ); - for (i = lhp->l_nsyms; i; i--, ls++) { - char *symname; - char tmpsym[SYMNMLEN + 1]; - if (!LDR_EXPORT(*ls)) - continue; - if (ls->l_zeroes == 0) - symname = ls->l_offset + lhp->l_stoff + ldbuf; - else { - /* - * The l_name member is not zero terminated, we - * must copy the first SYMNMLEN chars and make - * sure we have a zero byte at the end. - */ - strncpy(tmpsym, ls->l_name, SYMNMLEN); - tmpsym[SYMNMLEN] = '\0'; - symname = tmpsym; - } - ep->name = strdup(symname); - ep->addr = (void *) ((unsigned long) dataorg + - ls->l_value - shdata.s_vaddr); - ep++; - } - free(ldbuf); - while (ldclose(ldp) == FAILURE); - return 0; -} - -/* - * Find the main modules data origin. This is used as export pointer - * for loadbind() to be able to resolve references to the main part. - */ -static void *findMain(void) -{ - struct ld_info *lp; - char *buf; - int size = 4 * 1024; - int i; - void *ret; - - if ((buf = malloc(size)) == NULL) { - errvalid++; - strcpy(errbuf, "findMain: "); - strcat(errbuf, strerror(errno)); - return NULL; - } - while ((i = loadquery(L_GETINFO, buf, size)) == -1 && errno == ENOMEM) { - free(buf); - size += 4 * 1024; - if ((buf = malloc(size)) == NULL) { - errvalid++; - strcpy(errbuf, "findMain: "); - strcat(errbuf, strerror(errno)); - return NULL; - } - } - if (i == -1) { - errvalid++; - strcpy(errbuf, "findMain: "); - strcat(errbuf, strerror(errno)); - free(buf); - return NULL; - } - /* - * The first entry is the main module. The data segment - * starts with the TOC entries for all exports, so the - * data segment origin works as argument for loadbind. - */ - lp = (struct ld_info *) buf; - ret = lp->ldinfo_dataorg; - free(buf); - return ret; -} - -#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/beos/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/dso/beos/Makefile.in deleted file mode 100644 index 02326f80..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/beos/Makefile.in +++ /dev/null @@ -1,13 +0,0 @@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -TARGETS = dso.lo - -# bring in rules.mk for standard functionality -@INCLUDE_RULES@ - -INCDIR=../../include -DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@ -INCLUDES=-I$(INCDIR) -I$(INCDIR)/arch -I$(DEFOSDIR) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/beos/dso.c b/rubbos/app/httpd-2.0.64/srclib/apr/dso/beos/dso.c deleted file mode 100644 index 832d860e..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/beos/dso.c +++ /dev/null @@ -1,95 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "beos/apr_arch_dso.h" -#include "apr_portable.h" - -#if APR_HAS_DSO - -static apr_status_t dso_cleanup(void *thedso) -{ - apr_dso_handle_t *dso = thedso; - - if (dso->handle > 0 && unload_add_on(dso->handle) < B_NO_ERROR) - return APR_EINIT; - dso->handle = -1; - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle, - const char *path, apr_pool_t *pool) -{ - image_id newid; - - if((newid = load_add_on(path)) < B_NO_ERROR) - return APR_EDSOOPEN; - - *res_handle = apr_pcalloc(pool, sizeof(*res_handle)); - (*res_handle)->handle = newid; - (*res_handle)->pool = pool; - - apr_pool_cleanup_register(pool, *res_handle, dso_cleanup, apr_pool_cleanup_null); - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle) -{ - return apr_pool_cleanup_run(handle->pool, handle, dso_cleanup); -} - -APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, apr_dso_handle_t *handle, - const char *symname) -{ - int err; - - if (symname == NULL) - return APR_ESYMNOTFOUND; - - err = get_image_symbol(handle->handle, symname, B_SYMBOL_TYPE_ANY, - ressym); - - if(err != B_OK) - return APR_ESYMNOTFOUND; - - return APR_SUCCESS; -} - -APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *dso, char *buffer, apr_size_t buflen) -{ - strncpy(buffer, strerror(errno), buflen); - return buffer; -} - -APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -{ - *aprdso = apr_pcalloc(pool, sizeof **aprdso); - (*aprdso)->handle = osdso; - (*aprdso)->pool = pool; - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, - apr_dso_handle_t *aprdso) -{ - *osdso = aprdso->handle; - return APR_SUCCESS; -} - -#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/netware/dso.c b/rubbos/app/httpd-2.0.64/srclib/apr/dso/netware/dso.c deleted file mode 100644 index 4cd2ad61..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/netware/dso.c +++ /dev/null @@ -1,137 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_arch_dso.h" -#include "apr_strings.h" -#include "apr_portable.h" - -#include <library.h> -#include <unistd.h> - -APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -{ - *aprdso = apr_pcalloc(pool, sizeof **aprdso); - (*aprdso)->handle = osdso; - (*aprdso)->pool = pool; - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, - apr_dso_handle_t *aprdso) -{ - *osdso = aprdso->handle; - return APR_SUCCESS; -} - -static apr_status_t dso_cleanup(void *thedso) -{ - apr_dso_handle_t *dso = thedso; - sym_list *symbol = NULL; - void *NLMHandle = getnlmhandle(); - - if (dso->handle == NULL) - return APR_SUCCESS; - - if (dso->symbols != NULL) { - symbol = dso->symbols; - while (symbol) { - UnImportPublicObject(NLMHandle, symbol->symbol); - symbol = symbol->next; - } - } - - if (dlclose(dso->handle) != 0) - return APR_EINIT; - - dso->handle = NULL; - dso->symbols = NULL; - dso->path = NULL; - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle, - const char *path, apr_pool_t *pool) -{ - - void *os_handle = NULL; - char *fullpath = NULL; - apr_status_t rv; - - if ((rv = apr_filepath_merge(&fullpath, NULL, path, - APR_FILEPATH_NATIVE, pool)) != APR_SUCCESS) { - return rv; - } - - os_handle = dlopen(fullpath, RTLD_NOW | RTLD_LOCAL); - - *res_handle = apr_pcalloc(pool, sizeof(**res_handle)); - - if(os_handle == NULL) { - (*res_handle)->errormsg = dlerror(); - return APR_EDSOOPEN; - } - - (*res_handle)->handle = (void*)os_handle; - (*res_handle)->pool = pool; - (*res_handle)->errormsg = NULL; - (*res_handle)->symbols = NULL; - (*res_handle)->path = apr_pstrdup(pool, fullpath); - - apr_pool_cleanup_register(pool, *res_handle, dso_cleanup, apr_pool_cleanup_null); - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle) -{ - return apr_pool_cleanup_run(handle->pool, handle, dso_cleanup); -} - -APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, - apr_dso_handle_t *handle, - const char *symname) -{ - sym_list *symbol = NULL; - void *retval = dlsym(handle->handle, symname); - - if (retval == NULL) { - handle->errormsg = dlerror(); - return APR_ESYMNOTFOUND; - } - - symbol = apr_pcalloc(handle->pool, sizeof(sym_list)); - symbol->next = handle->symbols; - handle->symbols = symbol; - symbol->symbol = apr_pstrdup(handle->pool, symname); - - *ressym = retval; - - return APR_SUCCESS; -} - -APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *dso, char *buffer, - apr_size_t buflen) -{ - if (dso->errormsg) { - apr_cpystrn(buffer, dso->errormsg, buflen); - return dso->errormsg; - } - return "No Error"; -} - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os2/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/dso/os2/Makefile.in deleted file mode 100644 index 7d42bded..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os2/Makefile.in +++ /dev/null @@ -1,14 +0,0 @@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -TARGETS = dso.lo - -# bring in rules.mk for standard functionality -@INCLUDE_RULES@ - -INCDIR=../../include -OSDIR=$(INCDIR)/arch/@OSDIR@ -DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@ -INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os2/dso.c b/rubbos/app/httpd-2.0.64/srclib/apr/dso/os2/dso.c deleted file mode 100644 index 1a7f7de8..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os2/dso.c +++ /dev/null @@ -1,132 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_arch_dso.h" -#include "apr_strings.h" -#include "apr_portable.h" -#include <stdio.h> -#include <string.h> - -#if APR_HAS_DSO - -static apr_status_t dso_cleanup(void *thedso) -{ - apr_dso_handle_t *dso = thedso; - int rc; - - if (dso->handle == 0) - return APR_SUCCESS; - - rc = DosFreeModule(dso->handle); - - if (rc == 0) - dso->handle = 0; - - return APR_FROM_OS_ERROR(rc); -} - - -APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle, const char *path, apr_pool_t *ctx) -{ - char failed_module[200]; - HMODULE handle; - int rc; - - *res_handle = apr_pcalloc(ctx, sizeof(**res_handle)); - (*res_handle)->cont = ctx; - (*res_handle)->load_error = APR_SUCCESS; - (*res_handle)->failed_module = NULL; - - if ((rc = DosLoadModule(failed_module, sizeof(failed_module), path, &handle)) != 0) { - (*res_handle)->load_error = APR_FROM_OS_ERROR(rc); - (*res_handle)->failed_module = apr_pstrdup(ctx, failed_module); - return APR_FROM_OS_ERROR(rc); - } - - (*res_handle)->handle = handle; - apr_pool_cleanup_register(ctx, *res_handle, dso_cleanup, apr_pool_cleanup_null); - return APR_SUCCESS; -} - - - -APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle) -{ - return apr_pool_cleanup_run(handle->cont, handle, dso_cleanup); -} - - - -APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, - apr_dso_handle_t *handle, - const char *symname) -{ - PFN func; - int rc; - - if (symname == NULL || ressym == NULL) - return APR_ESYMNOTFOUND; - - if ((rc = DosQueryProcAddr(handle->handle, 0, symname, &func)) != 0) { - handle->load_error = APR_FROM_OS_ERROR(rc); - return handle->load_error; - } - - *ressym = func; - return APR_SUCCESS; -} - - - -APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *dso, char *buffer, apr_size_t buflen) -{ - char message[200]; - apr_strerror(dso->load_error, message, sizeof(message)); - - if (dso->failed_module != NULL) { - strcat(message, " ("); - strcat(message, dso->failed_module); - strcat(message, ")"); - } - - apr_cpystrn(buffer, message, buflen); - return buffer; -} - - - -APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -{ - *aprdso = apr_pcalloc(pool, sizeof **aprdso); - (*aprdso)->handle = osdso; - (*aprdso)->cont = pool; - (*aprdso)->load_error = APR_SUCCESS; - (*aprdso)->failed_module = NULL; - return APR_SUCCESS; -} - - - -APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, - apr_dso_handle_t *aprdso) -{ - *osdso = aprdso->handle; - return APR_SUCCESS; -} - -#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os390/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/dso/os390/Makefile.in deleted file mode 100644 index 7d42bded..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os390/Makefile.in +++ /dev/null @@ -1,14 +0,0 @@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -TARGETS = dso.lo - -# bring in rules.mk for standard functionality -@INCLUDE_RULES@ - -INCDIR=../../include -OSDIR=$(INCDIR)/arch/@OSDIR@ -DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@ -INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os390/dso.c b/rubbos/app/httpd-2.0.64/srclib/apr/dso/os390/dso.c deleted file mode 100644 index 9344c71a..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/os390/dso.c +++ /dev/null @@ -1,109 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_portable.h" -#include "apr_strings.h" -#include "apr_arch_dso.h" -#include <errno.h> -#include <string.h> - -#if APR_HAS_DSO - -APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -{ - *aprdso = apr_pcalloc(pool, sizeof **aprdso); - (*aprdso)->handle = osdso; - (*aprdso)->pool = pool; - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, - apr_dso_handle_t *aprdso) -{ - *osdso = aprdso->handle; - return APR_SUCCESS; -} - -static apr_status_t dso_cleanup(void *thedso) -{ - apr_dso_handle_t *dso = thedso; - int rc; - - if (dso->handle == 0) - return APR_SUCCESS; - - rc = dllfree(dso->handle); - - if (rc == 0) { - dso->handle = 0; - return APR_SUCCESS; - } - dso->failing_errno = errno; - return errno; -} - -APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle, - const char *path, apr_pool_t *ctx) -{ - dllhandle *handle; - int rc; - - *res_handle = apr_pcalloc(ctx, sizeof(**res_handle)); - (*res_handle)->pool = ctx; - if ((handle = dllload(path)) != NULL) { - (*res_handle)->handle = handle; - apr_pool_cleanup_register(ctx, *res_handle, dso_cleanup, apr_pool_cleanup_null); - return APR_SUCCESS; - } - - (*res_handle)->failing_errno = errno; - return APR_EDSOOPEN; -} - -APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle) -{ - return apr_pool_cleanup_run(handle->pool, handle, dso_cleanup); -} - -APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, - apr_dso_handle_t *handle, - const char *symname) -{ - void *func_ptr; - void *var_ptr; - - if ((var_ptr = dllqueryvar(handle->handle, symname)) != NULL) { - *ressym = var_ptr; - return APR_SUCCESS; - } - if ((func_ptr = (void *)dllqueryfn(handle->handle, symname)) != NULL) { - *ressym = func_ptr; - return APR_SUCCESS; - } - handle->failing_errno = errno; - return APR_ESYMNOTFOUND; -} - -APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *handle, char *buffer, - apr_size_t buflen) -{ - apr_cpystrn(buffer, strerror(handle->failing_errno), buflen); - return buffer; -} - -#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/.libs/dso.o b/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/.libs/dso.o Binary files differdeleted file mode 100644 index 0835f739..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/.libs/dso.o +++ /dev/null diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/Makefile b/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/Makefile deleted file mode 100644 index 786f8829..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -srcdir = . - - -TARGETS = dso.lo - -# bring in rules.mk for standard functionality -include /bottlenecks/rubbos/app/httpd-2.0.64/srclib/apr/build/apr_rules.mk - -INCDIR=../../include -INCDIR2=$(INCDIR)/arch -INCDIR3=$(INCDIR)/arch/unix -INCLUDES=-I$(INCDIR) -I$(INCDIR2) -I$(INCDIR3) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/Makefile.in deleted file mode 100644 index 89c6b25b..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/Makefile.in +++ /dev/null @@ -1,14 +0,0 @@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -TARGETS = dso.lo - -# bring in rules.mk for standard functionality -@INCLUDE_RULES@ - -INCDIR=../../include -INCDIR2=$(INCDIR)/arch -INCDIR3=$(INCDIR)/arch/unix -INCLUDES=-I$(INCDIR) -I$(INCDIR2) -I$(INCDIR3) - -# DO NOT REMOVE diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.c b/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.c deleted file mode 100644 index bbe87c6c..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.c +++ /dev/null @@ -1,250 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_arch_dso.h" -#include "apr_strings.h" -#include "apr_portable.h" - -#if APR_HAS_DSO - -#if !defined(DSO_USE_DLFCN) && !defined(DSO_USE_SHL) && !defined(DSO_USE_DYLD) -#error No DSO implementation specified. -#endif - -#ifdef HAVE_STDDEF_H -#include <stddef.h> -#endif -#if APR_HAVE_STDLIB_H -#include <stdlib.h> /* malloc(), free() */ -#endif -#if APR_HAVE_STRING_H -#include <string.h> /* for strerror() on HP-UX */ -#endif - -#if defined(DSO_USE_DYLD) -#define DYLD_LIBRARY_HANDLE (void *)-1 -#endif - -APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -{ - *aprdso = apr_pcalloc(pool, sizeof **aprdso); - (*aprdso)->handle = osdso; - (*aprdso)->pool = pool; - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, - apr_dso_handle_t *aprdso) -{ - *osdso = aprdso->handle; - return APR_SUCCESS; -} - -static apr_status_t dso_cleanup(void *thedso) -{ - apr_dso_handle_t *dso = thedso; - - if (dso->handle == NULL) - return APR_SUCCESS; - -#if defined(DSO_USE_SHL) - shl_unload((shl_t)dso->handle); -#elif defined(DSO_USE_DYLD) - if (dso->handle != DYLD_LIBRARY_HANDLE) { - NSUnLinkModule(dso->handle, FALSE); - } -#elif defined(DSO_USE_DLFCN) - if (dlclose(dso->handle) != 0) - return APR_EINIT; -#endif - dso->handle = NULL; - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle, - const char *path, apr_pool_t *pool) -{ -#if defined(DSO_USE_SHL) - shl_t os_handle = shl_load(path, BIND_IMMEDIATE, 0L); - -#elif defined(DSO_USE_DYLD) - NSObjectFileImage image; - NSModule os_handle = NULL; - NSObjectFileImageReturnCode dsoerr; - const char* err_msg = NULL; - dsoerr = NSCreateObjectFileImageFromFile(path, &image); - - if (dsoerr == NSObjectFileImageSuccess) { -#if defined(NSLINKMODULE_OPTION_RETURN_ON_ERROR) && defined(NSLINKMODULE_OPTION_NONE) - os_handle = NSLinkModule(image, path, - NSLINKMODULE_OPTION_RETURN_ON_ERROR | - NSLINKMODULE_OPTION_NONE); - /* If something went wrong, get the errors... */ - if (!os_handle) { - NSLinkEditErrors errors; - int errorNumber; - const char *fileName; - NSLinkEditError(&errors, &errorNumber, &fileName, &err_msg); - } -#else - os_handle = NSLinkModule(image, path, FALSE); -#endif - NSDestroyObjectFileImage(image); - } - else if ((dsoerr == NSObjectFileImageFormat || - dsoerr == NSObjectFileImageInappropriateFile) && - NSAddLibrary(path) == TRUE) { - os_handle = (NSModule)DYLD_LIBRARY_HANDLE; - } - else { - err_msg = "cannot create object file image or add library"; - } - -#elif defined(DSO_USE_DLFCN) -#if defined(OSF1) || defined(SEQUENT) || defined(SNI) ||\ - (defined(__FreeBSD_version) && (__FreeBSD_version >= 220000)) - void *os_handle = dlopen((char *)path, RTLD_NOW | RTLD_GLOBAL); - -#else - int flags = RTLD_NOW | RTLD_GLOBAL; - void *os_handle; -#ifdef _AIX - if (strchr(path + 1, '(') && path[strlen(path) - 1] == ')') - { - /* This special archive.a(dso.so) syntax is required for - * the way libtool likes to build shared libraries on AIX. - * dlopen() support for such a library requires that the - * RTLD_MEMBER flag be enabled. - */ - flags |= RTLD_MEMBER; - } -#endif - os_handle = dlopen(path, flags); -#endif -#endif /* DSO_USE_x */ - - *res_handle = apr_pcalloc(pool, sizeof(**res_handle)); - - if(os_handle == NULL) { -#if defined(DSO_USE_SHL) - (*res_handle)->errormsg = strerror(errno); - return APR_EDSOOPEN; -#elif defined(DSO_USE_DYLD) - (*res_handle)->errormsg = (err_msg) ? err_msg : "link failed"; - return APR_EDSOOPEN; -#elif defined(DSO_USE_DLFCN) - (*res_handle)->errormsg = dlerror(); - return APR_EDSOOPEN; -#endif - } - - (*res_handle)->handle = (void*)os_handle; - (*res_handle)->pool = pool; - (*res_handle)->errormsg = NULL; - - apr_pool_cleanup_register(pool, *res_handle, dso_cleanup, apr_pool_cleanup_null); - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle) -{ - return apr_pool_cleanup_run(handle->pool, handle, dso_cleanup); -} - -APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, - apr_dso_handle_t *handle, - const char *symname) -{ -#if defined(DSO_USE_SHL) - void *symaddr = NULL; - int status; - - errno = 0; - status = shl_findsym((shl_t *)&handle->handle, symname, TYPE_PROCEDURE, &symaddr); - if (status == -1 && errno == 0) /* try TYPE_DATA instead */ - status = shl_findsym((shl_t *)&handle->handle, symname, TYPE_DATA, &symaddr); - if (status == -1) - return APR_ESYMNOTFOUND; - *ressym = symaddr; - return APR_SUCCESS; - -#elif defined(DSO_USE_DYLD) - void *retval = NULL; - NSSymbol symbol; - char *symname2 = (char*)malloc(sizeof(char)*(strlen(symname)+2)); - sprintf(symname2, "_%s", symname); -#ifdef NSLINKMODULE_OPTION_PRIVATE - if (handle->handle == DYLD_LIBRARY_HANDLE) { - symbol = NSLookupAndBindSymbol(symname2); - } - else { - symbol = NSLookupSymbolInModule((NSModule)handle->handle, symname2); - } -#else - symbol = NSLookupAndBindSymbol(symname2); -#endif - free(symname2); - if (symbol == NULL) { - handle->errormsg = "undefined symbol"; - return APR_ESYMNOTFOUND; - } - retval = NSAddressOfSymbol(symbol); - if (retval == NULL) { - handle->errormsg = "cannot resolve symbol"; - return APR_ESYMNOTFOUND; - } - *ressym = retval; - return APR_SUCCESS; -#elif defined(DSO_USE_DLFCN) - -#if defined(DLSYM_NEEDS_UNDERSCORE) - void *retval; - char *symbol = (char*)malloc(sizeof(char)*(strlen(symname)+2)); - sprintf(symbol, "_%s", symname); - retval = dlsym(handle->handle, symbol); - free(symbol); -#elif defined(SEQUENT) || defined(SNI) - void *retval = dlsym(handle->handle, (char *)symname); -#else - void *retval = dlsym(handle->handle, symname); -#endif /* DLSYM_NEEDS_UNDERSCORE */ - - if (retval == NULL) { - handle->errormsg = dlerror(); - return APR_ESYMNOTFOUND; - } - - *ressym = retval; - - return APR_SUCCESS; -#endif /* DSO_USE_x */ -} - -APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *dso, char *buffer, - apr_size_t buflen) -{ - if (dso->errormsg) { - apr_cpystrn(buffer, dso->errormsg, buflen); - return dso->errormsg; - } - return "No Error"; -} - -#endif diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.lo b/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.lo deleted file mode 100644 index 96207a16..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.lo +++ /dev/null @@ -1,12 +0,0 @@ -# dso.lo - a libtool object file -# Generated by ltmain.sh - GNU libtool 1.5.26 (1.1220.2.493 2008/02/01 16:58:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/dso.o' - -# Name of the non-PIC object. -non_pic_object='dso.o' - diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.o b/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.o Binary files differdeleted file mode 100644 index 7ac432e7..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/unix/dso.o +++ /dev/null diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/dso/win32/dso.c b/rubbos/app/httpd-2.0.64/srclib/apr/dso/win32/dso.c deleted file mode 100644 index d4a68938..00000000 --- a/rubbos/app/httpd-2.0.64/srclib/apr/dso/win32/dso.c +++ /dev/null @@ -1,167 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "apr_arch_dso.h" -#include "apr_strings.h" -#include "apr_private.h" -#include "apr_arch_file_io.h" -#include "apr_arch_utf8.h" - -#if APR_HAS_DSO - -APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, - apr_os_dso_handle_t osdso, - apr_pool_t *pool) -{ - *aprdso = apr_pcalloc(pool, sizeof **aprdso); - (*aprdso)->handle = osdso; - (*aprdso)->cont = pool; - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, - apr_dso_handle_t *aprdso) -{ - *osdso = aprdso->handle; - return APR_SUCCESS; -} - -static apr_status_t dso_cleanup(void *thedso) -{ - apr_dso_handle_t *dso = thedso; - - if (dso->handle != NULL && !FreeLibrary(dso->handle)) { - return apr_get_os_error(); - } - dso->handle = NULL; - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_load(struct apr_dso_handle_t **res_handle, - const char *path, apr_pool_t *ctx) -{ - HINSTANCE os_handle; - apr_status_t rv; -#ifndef _WIN32_WCE - UINT em; -#endif - -#if APR_HAS_UNICODE_FS - IF_WIN_OS_IS_UNICODE - { - apr_wchar_t wpath[APR_PATH_MAX]; - if ((rv = utf8_to_unicode_path(wpath, sizeof(wpath) - / sizeof(apr_wchar_t), path)) - != APR_SUCCESS) { - *res_handle = apr_pcalloc(ctx, sizeof(**res_handle)); - return ((*res_handle)->load_error = rv); - } - /* Prevent ugly popups from killing our app */ -#ifndef _WIN32_WCE - em = SetErrorMode(SEM_FAILCRITICALERRORS); -#endif - os_handle = LoadLibraryExW(wpath, NULL, 0); - if (!os_handle) - os_handle = LoadLibraryExW(wpath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); - if (!os_handle) - rv = apr_get_os_error(); -#ifndef _WIN32_WCE - SetErrorMode(em); -#endif - } -#endif /* APR_HAS_UNICODE_FS */ -#if APR_HAS_ANSI_FS - ELSE_WIN_OS_IS_ANSI - { - char fspec[APR_PATH_MAX], *p = fspec; - /* Must convert path from / to \ notation. - * Per PR2555, the LoadLibraryEx function is very picky about slashes. - * Debugging on NT 4 SP 6a reveals First Chance Exception within NTDLL. - * LoadLibrary in the MS PSDK also reveals that it -explicitly- states - * that backslashes must be used for the LoadLibrary family of calls. - */ - apr_cpystrn(fspec, path, sizeof(fspec)); - while ((p = strchr(p, '/')) != NULL) - *p = '\\'; - - /* Prevent ugly popups from killing our app */ - em = SetErrorMode(SEM_FAILCRITICALERRORS); - os_handle = LoadLibraryEx(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); - if (!os_handle) - os_handle = LoadLibraryEx(path, NULL, 0); - if (!os_handle) - rv = apr_get_os_error(); - else - rv = APR_SUCCESS; - SetErrorMode(em); - } -#endif - - *res_handle = apr_pcalloc(ctx, sizeof(**res_handle)); - (*res_handle)->cont = ctx; - - if (rv) { - return ((*res_handle)->load_error = rv); - } - - (*res_handle)->handle = (void*)os_handle; - (*res_handle)->load_error = APR_SUCCESS; - - apr_pool_cleanup_register(ctx, *res_handle, dso_cleanup, apr_pool_cleanup_null); - - return APR_SUCCESS; -} - -APR_DECLARE(apr_status_t) apr_dso_unload(struct apr_dso_handle_t *handle) -{ - return apr_pool_cleanup_run(handle->cont, handle, dso_cleanup); -} - -APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, - struct apr_dso_handle_t *handle, - const char *symname) -{ -#ifdef _WIN32_WCE - apr_size_t symlen = strlen(symname) + 1; - apr_size_t wsymlen = 256; - apr_wchar_t wsymname[256]; - apr_status_t rv; - - rv = apr_conv_utf8_to_ucs2(wsymname, &wsymlen, symname, &symlen); - if (rv != APR_SUCCESS) { - return rv; - } - else if (symlen) { - return APR_ENAMETOOLONG; - } - - *ressym = (apr_dso_handle_sym_t)GetProcAddressW(handle->handle, wsymname); -#else - *ressym = (apr_dso_handle_sym_t)GetProcAddress(handle->handle, symname); -#endif - if (!*ressym) { - return apr_get_os_error(); - } - return APR_SUCCESS; -} - -APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *dso, char *buf, apr_size_t bufsize) -{ - return apr_strerror(dso->load_error, buf, bufsize); -} - -#endif |