aboutsummaryrefslogtreecommitdiffstats
path: root/include/openssl
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2016-02-10 09:55:48 -0500
committerRich Salz <rsalz@openssl.org>2016-02-11 08:43:46 -0500
commit7253fd550c768979ecd3df8f4dbbedd6e9dd76b0 (patch)
tree6adaf42e67e464dbb90a55514279a35637476f08 /include/openssl
parent5caef3b5028599958bfddbdb86ea4f47df9f315b (diff)
downloadopenssl-7253fd550c768979ecd3df8f4dbbedd6e9dd76b0.tar.gz
Hide OPENSSL_INIT_SETTINGS.
Make OPENSSL_INIT_SETTINGS an opaque structure. Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'include/openssl')
-rw-r--r--include/openssl/conf.h1
-rw-r--r--include/openssl/crypto.h28
-rw-r--r--include/openssl/ossl_typ.h1
3 files changed, 8 insertions, 22 deletions
diff --git a/include/openssl/conf.h b/include/openssl/conf.h
index e16f97ca5e..e2c245c56f 100644
--- a/include/openssl/conf.h
+++ b/include/openssl/conf.h
@@ -139,6 +139,7 @@ int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out);
#if OPENSSL_API_COMPAT < 0x10100000L
void OPENSSL_config(const char *config_name);
+
# define OPENSSL_no_config() \
OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL)
#endif
diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h
index d68551dd2b..f05fa1e186 100644
--- a/include/openssl/crypto.h
+++ b/include/openssl/crypto.h
@@ -575,34 +575,18 @@ int CRYPTO_memcmp(const volatile void * volatile in_a,
OPENSSL_INIT_ENGINE_PADLOCK)
-
-/* Optional settings for initialisation */
-# define OPENSSL_INIT_SET_END 0
-# define OPENSSL_INIT_SET_CONF_FILENAME 1
-
-typedef struct ossl_init_settings_st {
- int name;
- union {
- int type_int;
- long type_long;
- int32_t type_int32_t;
- uint32_t type_uint32_t;
- int64_t type_int64_t;
- uint64_t type_uint64_t;
- size_t type_size_t;
- const char *type_string;
- void *type_void_ptr;
- } value;
-} OPENSSL_INIT_SETTINGS;
-
-typedef struct ossl_init_stop_st OPENSSL_INIT_STOP;
-
/* Library initialisation functions */
void OPENSSL_cleanup(void);
int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
int OPENSSL_atexit(void (*handler)(void));
void OPENSSL_thread_stop(void);
+/* Low-level control of initialization */
+OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void);
+void OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings,
+ const char *config_file);
+void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings);
+
/* BEGIN ERROR CODES */
/*
* The following lines are auto generated by the script mkerr.pl. Any changes
diff --git a/include/openssl/ossl_typ.h b/include/openssl/ossl_typ.h
index 6bf29a8446..d29be73134 100644
--- a/include/openssl/ossl_typ.h
+++ b/include/openssl/ossl_typ.h
@@ -172,6 +172,7 @@ typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO;
typedef struct v3_ext_ctx X509V3_CTX;
typedef struct conf_st CONF;
+typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS;
typedef struct ui_st UI;
typedef struct ui_method_st UI_METHOD;