GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CRYPTO_LOCK(3) FreeBSD Library Functions Manual CRYPTO_LOCK(3)

CRYPTO_THREADID_current, CRYPTO_THREADID_cmp, CRYPTO_THREADID_cpy, CRYPTO_THREADID_hash, CRYPTO_lock, CRYPTO_w_lock, CRYPTO_w_unlock, CRYPTO_r_lock, CRYPTO_r_unlock, CRYPTO_add
thread support

#include <openssl/crypto.h>

void
CRYPTO_THREADID_current(CRYPTO_THREADID *id);

int
CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b);

void
CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src);

unsigned long
CRYPTO_THREADID_hash(const CRYPTO_THREADID *id);

void
CRYPTO_lock(int mode, int type, const char *file, int line);

int
CRYPTO_add(int *p, int amount, int type);

#define	CRYPTO_w_lock(type) \
	CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE, type, __FILE__, __LINE__)
#define	CRYPTO_w_unlock(type) \
	CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE, type, __FILE__, __LINE__)
#define	CRYPTO_r_lock(type) \
	CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ, type, __FILE__, __LINE__)
#define	CRYPTO_r_unlock(type) \
	CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ, type, __FILE__, __LINE__)

These functions are obsolete.

CRYPTO_THREADID_current() stores a unique identifier of the currently executing thread into the opaque object id.

CRYPTO_THREADID_cpy() copies the contents of src to dest.

CRYPTO_lock() locks or unlocks a mutex lock.

mode is a bitfield describing what should be done with the lock. For each call, either CRYPTO_LOCK or CRYPTO_UNLOCK must be included. In the LibreSSL implementation, CRYPTO_READ and CRYPTO_WRITE are ignored.

type is a number in the range 0 <= type < CRYPTO_NUM_LOCKS identifying a particular lock. Currently, the value of CRYPTO_NUM_LOCKS is 41.

The file and line arguments are ignored.

In the LibreSSL implementation, CRYPTO_lock() is a wrapper around pthread_mutex_lock(3) and pthread_mutex_unlock(3).

CRYPTO_add() locks the lock number type, adds amount to *p, and unlocks the lock number type again.

CRYPTO_THREADID_cmp() returns 0 if a and b refer to the same thread or a non-zero value otherwise.

CRYPTO_THREADID_hash() returns a numeric value usable as a hash-table key. In the LibreSSL implementation, it is the value returned from pthread_self(3) for the thread id.

CRYPTO_add() returns the new value of *p.

crypto(3)

CRYPTO_lock(), CRYPTO_w_lock(), CRYPTO_w_unlock(), CRYPTO_r_lock(), and CRYPTO_r_unlock() first appeared in SSLeay 0.6.0. CRYPTO_add() first appeared in SSLeay 0.6.2. These functions have been available since OpenBSD 2.4.

CRYPTO_THREADID_current(), CRYPTO_THREADID_cmp(), CRYPTO_THREADID_cpy(), and CRYPTO_THREADID_hash() first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.

March 10, 2019 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.