Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CRYPTO_LOCK(3)	       FreeBSD Library Functions Manual		CRYPTO_LOCK(3)

NAME
     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

SYNOPSIS
     #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__)

DESCRIPTION
     These functions are obsolete.

     CRYPTO_THREADID_current() stores a	unique identifier of the currently ex-
     ecuting 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.

RETURN VALUES
     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.

SEE ALSO
     crypto(3)

HISTORY
     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 ap-
     peared 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.

FreeBSD	13.0			March 10, 2019			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CRYPTO_THREADID_current&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help