# define EC_F_VALIDATE_ECX_DERIVE 0
# endif
-# if !defined(OPENSSL_NO_ENGINE) || defined(OPENSSL_ENGINE_STUBS)
+# ifdef OPENSSL_ENGINE_STUBS
/*
* ENGINE reason codes.
*/
# define ENGINE_R_UNIMPLEMENTED_DIGEST 0
# define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 0
# define ENGINE_R_VERSION_INCOMPATIBILITY 0
+
+/*
+ * ENGINE function codes.
+ */
+# define ENGINE_F_DIGEST_UPDATE 0
+# define ENGINE_F_DYNAMIC_CTRL 0
+# define ENGINE_F_DYNAMIC_GET_DATA_CTX 0
+# define ENGINE_F_DYNAMIC_LOAD 0
+# define ENGINE_F_DYNAMIC_SET_DATA_CTX 0
+# define ENGINE_F_ENGINE_ADD 0
+# define ENGINE_F_ENGINE_BY_ID 0
+# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 0
+# define ENGINE_F_ENGINE_CTRL 0
+# define ENGINE_F_ENGINE_CTRL_CMD 0
+# define ENGINE_F_ENGINE_CTRL_CMD_STRING 0
+# define ENGINE_F_ENGINE_FINISH 0
+# define ENGINE_F_ENGINE_GET_CIPHER 0
+# define ENGINE_F_ENGINE_GET_DIGEST 0
+# define ENGINE_F_ENGINE_GET_FIRST 0
+# define ENGINE_F_ENGINE_GET_LAST 0
+# define ENGINE_F_ENGINE_GET_NEXT 0
+# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 0
+# define ENGINE_F_ENGINE_GET_PKEY_METH 0
+# define ENGINE_F_ENGINE_GET_PREV 0
+# define ENGINE_F_ENGINE_INIT 0
+# define ENGINE_F_ENGINE_LIST_ADD 0
+# define ENGINE_F_ENGINE_LIST_REMOVE 0
+# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 0
+# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 0
+# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 0
+# define ENGINE_F_ENGINE_NEW 0
+# define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR 0
+# define ENGINE_F_ENGINE_REMOVE 0
+# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 0
+# define ENGINE_F_ENGINE_SET_ID 0
+# define ENGINE_F_ENGINE_SET_NAME 0
+# define ENGINE_F_ENGINE_TABLE_REGISTER 0
+# define ENGINE_F_ENGINE_UNLOCKED_FINISH 0
+# define ENGINE_F_ENGINE_UP_REF 0
+# define ENGINE_F_INT_CLEANUP_ITEM 0
+# define ENGINE_F_INT_CTRL_HELPER 0
+# define ENGINE_F_INT_ENGINE_CONFIGURE 0
+# define ENGINE_F_INT_ENGINE_MODULE_INIT 0
+# define ENGINE_F_OSSL_HMAC_INIT 0
# endif
/*
# define EVP_F_EVP_PKEY_PARAMGEN_INIT 0
# define EVP_F_EVP_PKEY_PARAM_CHECK 0
# define EVP_F_EVP_PKEY_PUBLIC_CHECK 0
+# define EVP_F_EVP_PKEY_SET1_ENGINE 0
# define EVP_F_EVP_PKEY_SET_ALIAS_TYPE 0
# define EVP_F_EVP_PKEY_SIGN 0
# define EVP_F_EVP_PKEY_SIGN_INIT 0
# define TS_F_TS_CONF_LOAD_CERTS 0
# define TS_F_TS_CONF_LOAD_KEY 0
# define TS_F_TS_CONF_LOOKUP_FAIL 0
+# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 0
# define TS_F_TS_GET_STATUS_TEXT 0
# define TS_F_TS_MSG_IMPRINT_SET_ALGO 0
# define TS_F_TS_REQ_SET_MSG_IMPRINT 0
# endif
# endif
+/*
+ * Stubs for ENGINE-related API functions that were removed
+ * from other headers.
+ */
+
+/* int ossl_err_load_ENGINE_strings(void); */
+ENGINE_FUNC_NOARGS(int, ossl_err_load_ENGINE_strings, 1)
+
+/* int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e); */
+ENGINE_FUNC(int, EVP_PKEY_set1_engine, (EVP_PKEY *pkey, ENGINE *e), (pkey, e), 0)
+
+/* ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey); */
+ENGINE_FUNC(ENGINE *, EVP_PKEY_get0_engine, (const EVP_PKEY *pkey), (pkey), NULL)
+
+/* int RAND_set_rand_engine(ENGINE *engine); */
+ENGINE_FUNC(int, RAND_set_rand_engine, (ENGINE *engine), (engine), 0)
+
+/*
+ * int TS_CONF_set_crypto_device(CONF *conf, const char *section,
+ * const char *device);
+ */
+ENGINE_FUNC(int, TS_CONF_set_crypto_device,
+ (CONF *conf, const char *section, const char *device),
+ (conf, section, device), 0)
+
+/* int TS_CONF_set_default_engine(const char *name); */
+ENGINE_FUNC(int, TS_CONF_set_default_engine, (const char *name), (name), 0)
+
+/* int ERR_load_ENGINE_strings(void); */
+ENGINE_FUNC_NOARGS(int, ERR_load_ENGINE_strings, 1)
+
+/* int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); */
+ENGINE_FUNC(int, SSL_CTX_set_client_cert_engine, (SSL_CTX *ctx, ENGINE *e),
+ (ctx, e), 0)
# ifdef __cplusplus
}