*/
typedef void *pvoid;
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
#define ATOMIC_LOAD_N(t, p, o) __atomic_load_n(p, o)
#define ATOMIC_STORE_N(t, p, v, o) __atomic_store_n(p, v, o)
#define ATOMIC_STORE(t, p, v, o) __atomic_store(p, v, o)
int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*val), val)) {
*ret = __atomic_add_fetch(val, amount, __ATOMIC_ACQ_REL);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (ret != NULL) {
*ret = atomic_add_int_nv((volatile unsigned int *)val, amount);
int CRYPTO_atomic_add64(uint64_t *val, uint64_t op, uint64_t *ret,
CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*val), val)) {
*ret = __atomic_add_fetch(val, op, __ATOMIC_ACQ_REL);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (ret != NULL) {
*ret = atomic_add_64_nv(val, op);
int CRYPTO_atomic_and(uint64_t *val, uint64_t op, uint64_t *ret,
CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*val), val)) {
*ret = __atomic_and_fetch(val, op, __ATOMIC_ACQ_REL);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (ret != NULL) {
*ret = atomic_and_64_nv(val, op);
int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,
CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*val), val)) {
*ret = __atomic_or_fetch(val, op, __ATOMIC_ACQ_REL);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (ret != NULL) {
*ret = atomic_or_64_nv(val, op);
int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*val), val)) {
__atomic_load(val, ret, __ATOMIC_ACQUIRE);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (ret != NULL) {
*ret = atomic_or_64_nv(val, 0);
int CRYPTO_atomic_store(uint64_t *dst, uint64_t val, CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*dst), dst)) {
__atomic_store(dst, &val, __ATOMIC_RELEASE);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (dst != NULL) {
atomic_swap_64(dst, val);
int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*val), val)) {
__atomic_load(val, ret, __ATOMIC_ACQUIRE);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (ret != NULL) {
*ret = (int)atomic_or_uint_nv((unsigned int *)val, 0);
int CRYPTO_atomic_store_int(int *dst, int val, CRYPTO_RWLOCK *lock)
{
-#if defined(USE_GCC_ATOMICS)
+#if defined(OSSL_USE_GCC_ATOMICS)
if (__atomic_is_lock_free(sizeof(*dst), dst)) {
__atomic_store(dst, &val, __ATOMIC_RELEASE);
return 1;
}
-#elif defined(USE_SOLARIS_ATOMICS)
+#elif defined(OSSL_USE_SOLARIS_ATOMICS)
/* This will work for all future Solaris versions. */
if (dst != NULL) {
atomic_swap_uint((unsigned int)dst, (unsigned int)val);
/* signal to wake threads waiting on prior_lock */
CRYPTO_CONDVAR *prior_signal;
- /* lock used without USE_INTERLOCKEDOR64: VS2010 x86, mingw32 */
+ /* lock used without OSSL_USE_INTERLOCKEDOR64: VS2010 x86, mingw32 */
CRYPTO_RWLOCK *rw_lock;
};
/* update the reader index to be the prior qp */
tmp = lock->current_alloc_idx;
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
/* This cannot fail, avoid unused result warning */
ossl_unused int r = CRYPTO_THREAD_write_lock(lock->rw_lock);
lock->reader_idx = tmp;
int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_write_lock(lock))
return 0;
int CRYPTO_atomic_add64(uint64_t *val, uint64_t op, uint64_t *ret,
CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_write_lock(lock))
return 0;
int CRYPTO_atomic_and(uint64_t *val, uint64_t op, uint64_t *ret,
CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_write_lock(lock))
return 0;
int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,
CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_write_lock(lock))
return 0;
int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_read_lock(lock))
return 0;
int CRYPTO_atomic_store(uint64_t *dst, uint64_t val, CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_read_lock(lock))
return 0;
int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_read_lock(lock))
return 0;
int CRYPTO_atomic_store_int(int *dst, int val, CRYPTO_RWLOCK *lock)
{
-#if (!defined(USE_INTERLOCKEDOR64))
+#if (!defined(OSSL_USE_INTERLOCKEDOR64))
OPENSSL_assert(lock != NULL);
if (!CRYPTO_THREAD_read_lock(lock))
return 0;