/* * 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) # include <dlfcn.h> # define SD_INIT NULL # define SD_SHLIB (RTLD_GLOBAL|RTLD_LAZY) # define SD_MODULE (RTLD_LOCAL|RTLD_NOW) typedef void *SD; typedef void *SD_SYM; # elif defined(DSO_WIN32) # include <windows.h> # 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) 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