aboutsummaryrefslogtreecommitdiff
path: root/include/internal/thread_arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/internal/thread_arch.h')
-rw-r--r--include/internal/thread_arch.h127
1 files changed, 0 insertions, 127 deletions
diff --git a/include/internal/thread_arch.h b/include/internal/thread_arch.h
deleted file mode 100644
index aba9362e8d6f..000000000000
--- a/include/internal/thread_arch.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2019-2024 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_INTERNAL_THREAD_ARCH_H
-# define OSSL_INTERNAL_THREAD_ARCH_H
-# include <openssl/configuration.h>
-# include <openssl/e_os2.h>
-# include "internal/time.h"
-
-# if defined(_WIN32)
-# include <windows.h>
-# endif
-
-# if defined(OPENSSL_THREADS) && defined(OPENSSL_SYS_UNIX)
-# define OPENSSL_THREADS_POSIX
-# elif defined(OPENSSL_THREADS) && defined(OPENSSL_SYS_VMS)
-# define OPENSSL_THREADS_POSIX
-# elif defined(OPENSSL_THREADS) && defined(OPENSSL_SYS_WINDOWS) && \
- defined(_WIN32_WINNT)
-# if _WIN32_WINNT >= 0x0600
-# define OPENSSL_THREADS_WINNT
-# elif _WIN32_WINNT >= 0x0501
-# define OPENSSL_THREADS_WINNT
-# define OPENSSL_THREADS_WINNT_LEGACY
-# else
-# define OPENSSL_THREADS_NONE
-# endif
-# else
-# define OPENSSL_THREADS_NONE
-# endif
-
-# include <openssl/crypto.h>
-
-typedef struct crypto_mutex_st CRYPTO_MUTEX;
-typedef struct crypto_condvar_st CRYPTO_CONDVAR;
-
-CRYPTO_MUTEX *ossl_crypto_mutex_new(void);
-void ossl_crypto_mutex_lock(CRYPTO_MUTEX *mutex);
-int ossl_crypto_mutex_try_lock(CRYPTO_MUTEX *mutex);
-void ossl_crypto_mutex_unlock(CRYPTO_MUTEX *mutex);
-void ossl_crypto_mutex_free(CRYPTO_MUTEX **mutex);
-
-CRYPTO_CONDVAR *ossl_crypto_condvar_new(void);
-void ossl_crypto_condvar_wait(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX *mutex);
-void ossl_crypto_condvar_wait_timeout(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX *mutex,
- OSSL_TIME deadline);
-void ossl_crypto_condvar_broadcast(CRYPTO_CONDVAR *cv);
-void ossl_crypto_condvar_signal(CRYPTO_CONDVAR *cv);
-void ossl_crypto_condvar_free(CRYPTO_CONDVAR **cv);
-
-typedef uint32_t CRYPTO_THREAD_RETVAL;
-typedef CRYPTO_THREAD_RETVAL (*CRYPTO_THREAD_ROUTINE)(void *);
-typedef CRYPTO_THREAD_RETVAL (*CRYPTO_THREAD_ROUTINE_CB)(void *,
- void (**)(void *),
- void **);
-
-# define CRYPTO_THREAD_NO_STATE 0UL
-# define CRYPTO_THREAD_FINISHED (1UL << 0)
-# define CRYPTO_THREAD_JOIN_AWAIT (1UL << 1)
-# define CRYPTO_THREAD_JOINED (1UL << 2)
-
-# define CRYPTO_THREAD_GET_STATE(THREAD, FLAG) ((THREAD)->state & (FLAG))
-# define CRYPTO_THREAD_GET_ERROR(THREAD, FLAG) (((THREAD)->state >> 16) & (FLAG))
-
-typedef struct crypto_thread_st {
- uint32_t state;
- void *data;
- CRYPTO_THREAD_ROUTINE routine;
- CRYPTO_THREAD_RETVAL retval;
- void *handle;
- CRYPTO_MUTEX *lock;
- CRYPTO_MUTEX *statelock;
- CRYPTO_CONDVAR *condvar;
- unsigned long thread_id;
- int joinable;
- OSSL_LIB_CTX *ctx;
-} CRYPTO_THREAD;
-
-# if defined(OPENSSL_THREADS)
-
-# define CRYPTO_THREAD_UNSET_STATE(THREAD, FLAG) \
- do { \
- (THREAD)->state &= ~(FLAG); \
- } while ((void)0, 0)
-
-# define CRYPTO_THREAD_SET_STATE(THREAD, FLAG) \
- do { \
- (THREAD)->state |= (FLAG); \
- } while ((void)0, 0)
-
-# define CRYPTO_THREAD_SET_ERROR(THREAD, FLAG) \
- do { \
- (THREAD)->state |= ((FLAG) << 16); \
- } while ((void)0, 0)
-
-# define CRYPTO_THREAD_UNSET_ERROR(THREAD, FLAG) \
- do { \
- (THREAD)->state &= ~((FLAG) << 16); \
- } while ((void)0, 0)
-
-# else
-
-# define CRYPTO_THREAD_UNSET_STATE(THREAD, FLAG)
-# define CRYPTO_THREAD_SET_STATE(THREAD, FLAG)
-# define CRYPTO_THREAD_SET_ERROR(THREAD, FLAG)
-# define CRYPTO_THREAD_UNSET_ERROR(THREAD, FLAG)
-
-# endif /* defined(OPENSSL_THREADS) */
-
-CRYPTO_THREAD * ossl_crypto_thread_native_start(CRYPTO_THREAD_ROUTINE routine,
- void *data, int joinable);
-int ossl_crypto_thread_native_spawn(CRYPTO_THREAD *thread);
-int ossl_crypto_thread_native_join(CRYPTO_THREAD *thread,
- CRYPTO_THREAD_RETVAL *retval);
-int ossl_crypto_thread_native_perform_join(CRYPTO_THREAD *thread,
- CRYPTO_THREAD_RETVAL *retval);
-int ossl_crypto_thread_native_exit(void);
-int ossl_crypto_thread_native_is_self(CRYPTO_THREAD *thread);
-int ossl_crypto_thread_native_clean(CRYPTO_THREAD *thread);
-
-#endif /* OSSL_INTERNAL_THREAD_ARCH_H */