diff options
Diffstat (limited to 'test/simpledynamic.h')
-rw-r--r-- | test/simpledynamic.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/simpledynamic.h b/test/simpledynamic.h new file mode 100644 index 000000000000..d6e1dcbfd1eb --- /dev/null +++ b/test/simpledynamic.h @@ -0,0 +1,51 @@ +/* + * 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 <dlfcn.h> + +# 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 <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) || 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 |