/* * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ #ifndef OSSL_TEST_SIMPLEDYNAMIC_H #define OSSL_TEST_SIMPLEDYNAMIC_H #include "crypto/dso_conf.h" #if defined(DSO_DLFCN) || defined(DSO_VMS) #include #define SD_INIT NULL #ifdef DSO_VMS #define SD_SHLIB 0 #define SD_MODULE 0 #else #define SD_SHLIB (RTLD_GLOBAL | RTLD_LAZY) #define SD_MODULE (RTLD_LOCAL | RTLD_NOW) #endif typedef void *SD; typedef void *SD_SYM; #elif defined(DSO_WIN32) #include #define SD_INIT 0 #define SD_SHLIB 0 #define SD_MODULE 0 typedef HINSTANCE SD; typedef void *SD_SYM; #endif #if defined(DSO_DLFCN) || defined(DSO_WIN32) || defined(DSO_VMS) int sd_load(const char *filename, SD *sd, int type); int sd_sym(SD sd, const char *symname, SD_SYM *sym); int sd_close(SD lib); const char *sd_error(void); #endif #endif