diff options
author | Richard Levitte <levitte@openssl.org> | 2020-11-25 07:56:08 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-12-01 11:06:03 +0100 |
commit | 9800b1a0da90159a6bd6f5dbf8df6249ee967946 (patch) | |
tree | 45ed19f018debff56ce391b951584a0ad616a001 /test/simpledynamic.h | |
parent | 1234aa7e415e1e239eb1c4504578ab59d90763ea (diff) | |
download | openssl-9800b1a0da90159a6bd6f5dbf8df6249ee967946.zip openssl-9800b1a0da90159a6bd6f5dbf8df6249ee967946.tar.gz openssl-9800b1a0da90159a6bd6f5dbf8df6249ee967946.tar.bz2 |
TEST: Break out the local dynamic loading code from shlibloadtest.c
The result is "simpledynamic.c", or "sd" for short.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13507)
Diffstat (limited to 'test/simpledynamic.h')
-rw-r--r-- | test/simpledynamic.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/simpledynamic.h b/test/simpledynamic.h new file mode 100644 index 0000000..cc4aed5 --- /dev/null +++ b/test/simpledynamic.h @@ -0,0 +1,44 @@ +/* + * Copyright 2016-2018 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 + +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 |