-/* crypto/engine/engine_all.c -*- mode: C; c-file-style: "eay" -*- */
-/* Written by Richard Levitte <richard@levitte.org> for the OpenSSL
- * project 2000.
+/* crypto/engine/eng_all.c -*- mode: C; c-file-style: "eay" -*- */
+/*
+ * Written by Richard Levitte <richard@levitte.org> for the OpenSSL project
+ * 2000.
*/
/* ====================================================================
- * Copyright (c) 2000 The OpenSSL Project. All rights reserved.
+ * Copyright (c) 2000-2001 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
*
*/
-#include <openssl/err.h>
-#include <openssl/engine.h>
+#include "cryptlib.h"
#include "eng_int.h"
-static int engine_add(ENGINE *e)
- {
- int toret = 1;
- if (!ENGINE_by_id(ENGINE_get_id(e)))
- {
- (void)ERR_get_error();
- toret = ENGINE_add(e);
- }
- ENGINE_free(e);
- return toret;
- }
-
-void ENGINE_load_cswift(void)
- {
-#ifndef OPENSSL_NO_HW
-#ifndef OPENSSL_NO_HW_CSWIFT
- engine_add(ENGINE_cswift());
-#endif /* !OPENSSL_NO_HW_CSWIFT */
-#endif /* !OPENSSL_NO_HW */
- }
-
-void ENGINE_load_chil(void)
- {
-#ifndef OPENSSL_NO_HW
-#ifndef OPENSSL_NO_HW_CSWIFT
- engine_add(ENGINE_ncipher());
-#endif /* !OPENSSL_NO_HW_CSWIFT */
-#endif /* !OPENSSL_NO_HW */
- }
-
-void ENGINE_load_atalla(void)
- {
-#ifndef OPENSSL_NO_HW
-#ifndef OPENSSL_NO_HW_CSWIFT
- engine_add(ENGINE_atalla());
-#endif /* !OPENSSL_NO_HW_CSWIFT */
-#endif /* !OPENSSL_NO_HW */
- }
-
-void ENGINE_load_nuron(void)
- {
-#ifndef OPENSSL_NO_HW
+void ENGINE_load_builtin_engines(void)
+{
+ /* Some ENGINEs need this */
+ OPENSSL_cpuid_setup();
+#if !defined(OPENSSL_NO_HW) && (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV))
+ ENGINE_load_cryptodev();
+#endif
+#ifndef OPENSSL_NO_RDRAND
+ ENGINE_load_rdrand();
+#endif
+ ENGINE_load_dynamic();
+#ifndef OPENSSL_NO_STATIC_ENGINE
+# ifndef OPENSSL_NO_HW
+# ifndef OPENSSL_NO_HW_4758_CCA
+ ENGINE_load_4758cca();
+# endif
+/*-
+ * These engines have been disabled as they do not currently build
+#ifndef OPENSSL_NO_HW_AEP
+ ENGINE_load_aep();
+#endif
+#ifndef OPENSSL_NO_HW_ATALLA
+ ENGINE_load_atalla();
+#endif
#ifndef OPENSSL_NO_HW_CSWIFT
- engine_add(ENGINE_nuron());
-#endif /* !OPENSSL_NO_HW_CSWIFT */
-#endif /* !OPENSSL_NO_HW */
- }
-
-void ENGINE_load_ubsec(void)
- {
-#ifndef OPENSSL_NO_HW
+ ENGINE_load_cswift();
+#endif
+#ifndef OPENSSL_NO_HW_NCIPHER
+ ENGINE_load_chil();
+#endif
+#ifndef OPENSSL_NO_HW_NURON
+ ENGINE_load_nuron();
+#endif
+#ifndef OPENSSL_NO_HW_SUREWARE
+ ENGINE_load_sureware();
+#endif
#ifndef OPENSSL_NO_HW_UBSEC
- engine_add(ENGINE_ubsec());
-#endif /* !OPENSSL_NO_HW_UBSEC */
-#endif /* !OPENSSL_NO_HW */
- }
-
-void ENGINE_load_openbsd_dev_crypto(void)
- {
-#ifndef OPENSSL_NO_HW
-# ifdef OPENSSL_OPENBSD_DEV_CRYPTO
- engine_add(ENGINE_openbsd_dev_crypto());
+ ENGINE_load_ubsec();
+#endif
+*/
+# ifndef OPENSSL_NO_HW_PADLOCK
+ ENGINE_load_padlock();
+# endif
# endif
-#endif /* !OPENSSL_NO_HW */
- }
-
-void ENGINE_load_builtin_engines(void)
- {
- static int done=0;
-
- if (done) return;
- done=1;
+# ifndef OPENSSL_NO_GOST
+ ENGINE_load_gost();
+# endif
+# ifndef OPENSSL_NO_GMP
+ ENGINE_load_gmp();
+# endif
+# if defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_NO_CAPIENG)
+ ENGINE_load_capi();
+# endif
+#endif
+ ENGINE_register_all_complete();
+}
- ENGINE_load_cswift();
- ENGINE_load_chil();
- ENGINE_load_atalla();
- ENGINE_load_nuron();
- ENGINE_load_ubsec();
- ENGINE_load_openbsd_dev_crypto();
- }
+#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
+void ENGINE_setup_bsd_cryptodev(void)
+{
+ static int bsd_cryptodev_default_loaded = 0;
+ if (!bsd_cryptodev_default_loaded) {
+ ENGINE_load_cryptodev();
+ ENGINE_register_all_complete();
+ }
+ bsd_cryptodev_default_loaded = 1;
+}
+#endif