boringssl/include/openssl
Adam Langley 6f2e733bab Add infrastructure for reference counts.
OpenSSL has traditionally done reference counting with |int|s and the
|CRYPTO_add| function. Unless a special callback is installed (rare),
this is implemented by doing the reference count operations under a
lock.

This change adds infrastructure for handling reference counts and uses
atomic operations when C11 support is available.

Change-Id: Ia023ce432319efd00f77a7340da27d16ee4b63c3
Reviewed-on: https://boringssl-review.googlesource.com/4771
Reviewed-by: Adam Langley <agl@google.com>
2015-05-20 19:14:59 +00:00
..
aead.h AEAD: allow _cleanup after failed _init. 2015-05-11 23:18:43 +00:00
aes.h Compatibility changes for wpa_supplicant and OpenSSH. 2015-04-14 20:18:28 +00:00
asn1_mac.h Prune away (almost) all of asn1_mac.h 2015-04-08 20:42:57 +00:00
asn1.h Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
asn1t.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
base64.h Various documentation fixes. 2015-01-14 21:50:50 +00:00
base.h Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
bio.h Add |BIO_up_ref| and |EVP_PKEY_up_ref|. 2015-05-05 18:30:03 +00:00
blowfish.h Add decrepit, initially containing CAST and Blowfish. 2015-04-06 16:58:45 -07:00
bn.h Require source files define __STDC_FORMAT_MACROS to use BN FMT macros. 2015-05-11 18:38:08 +00:00
buf.h Reset all the error codes. 2015-02-11 23:12:08 +00:00
buffer.h Add buffer.h for compatibility. 2015-05-12 00:09:57 +00:00
bytestring.h Don't accept tag number 31 (long form identifier octets) in CBB_add_asn1. 2015-02-03 11:03:59 -08:00
cast.h Add decrepit, initially containing CAST and Blowfish. 2015-04-06 16:58:45 -07:00
chacha.h
cipher.h Add AES-192 ECB. 2015-05-04 17:52:24 -07:00
cmac.h Add support for CMAC (RFC 4493). 2015-05-07 21:13:41 +00:00
conf.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
cpu.h Never set RC4_CHAR. 2015-02-20 23:59:59 +00:00
crypto.h Fix |SSLeay|. 2015-05-20 17:44:44 +00:00
des.h Implement |DES_ede2_cbc_encrypt|. 2015-05-20 18:36:01 +00:00
dh.h Set minimum DH group size to 1024 bits. 2015-05-20 18:35:31 +00:00
digest.h Replace MD5 in examples with SHA-256. 2015-04-13 20:55:48 +00:00
dsa.h Unexpose the generic ex_data functions. 2015-04-15 23:27:22 +00:00
dtls1.h Opaquify DTLS structs. 2015-05-08 18:02:02 +00:00
ec_key.h Compatibility changes for wpa_supplicant and OpenSSH. 2015-04-14 20:18:28 +00:00
ec.h Support arbitrary elliptic curve groups. 2015-05-15 00:59:37 +00:00
ecdh.h Reset all the error codes. 2015-02-11 23:12:08 +00:00
ecdsa.h Remove TODO about removing ECDSA_do_sign/ECDSA_do_verify. 2015-04-07 00:07:19 +00:00
engine.h Remove support for dynamic METHODs. 2015-02-06 20:56:10 +00:00
err.h Define compatibility function |ERR_remove_state|. 2015-05-12 19:06:18 +00:00
evp.h Add |BIO_up_ref| and |EVP_PKEY_up_ref|. 2015-05-05 18:30:03 +00:00
ex_data.h Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
hkdf.h Implement HKDF. 2014-12-18 20:13:06 +00:00
hmac.h Forbid reusing HMAC key without reusing the hash function. 2015-03-02 23:16:12 +00:00
lhash_macros.h Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
lhash.h Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
md4.h Add digest_test with tests for all existing EVP_MDs. 2014-11-06 01:49:03 +00:00
md5.h Readd MD4. 2014-08-26 21:51:48 +00:00
mem.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
modes.h
obj_mac.h Renegerate OID outputs. 2014-12-04 22:13:50 +00:00
obj.h Reset all the error codes. 2015-02-11 23:12:08 +00:00
objects.h
opensslfeatures.h Remove remaining remnants of RIPEMD-160 support. 2015-03-17 21:03:42 +00:00
opensslv.h Add some more Android compatibility declarations. 2015-03-20 11:50:29 -07:00
ossl_typ.h
pem.h Reset all the error codes. 2015-02-11 23:12:08 +00:00
pkcs7.h
pkcs8.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
pkcs12.h
poly1305.h Always write the Poly1305 tag to an aligned buffer. 2015-01-14 23:38:25 +00:00
pqueue.h Export pqueue functions. 2014-09-03 21:38:19 +00:00
rand.h Add no-op |RAND_load_file| function for compatibility. 2015-05-12 00:36:11 +00:00
rc4.h Fix up whitespace in headers for doc.go. 2015-04-08 17:32:55 -07:00
rsa.h Unexpose the generic ex_data functions. 2015-04-15 23:27:22 +00:00
safestack.h Rename safe_stack.h to safestack.h. 2015-02-20 23:33:48 +00:00
sha.h Fix SHA-384 and -512 in NO_ASM mode. 2015-03-05 22:44:00 +00:00
srtp.h Store SRTP_PROTECTION_PROFILES as const. 2015-01-14 22:10:08 +00:00
ssl2.h Rename ssl_locl.h to internal.h 2015-04-10 22:14:09 +00:00
ssl3.h Add s->s3->initial_handshake_complete. 2015-05-13 17:11:31 +00:00
ssl23.h Reformat SSL/TLS headers. 2015-01-26 20:23:09 +00:00
ssl.h Fix SSL_get_current_cipher. 2015-05-14 23:02:16 +00:00
stack_macros.h Add sk_deep_copy and its macro. 2015-02-13 10:59:10 -08:00
stack.h Fix a couple of issues with building with strict C99. 2015-03-18 21:17:40 +00:00
thread.h Add infrastructure for reference counts. 2015-05-20 19:14:59 +00:00
time_support.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
tls1.h Opaquify DTLS structs. 2015-05-08 18:02:02 +00:00
type_check.h Use C11 _Static_assert where available. 2015-05-20 19:13:23 +00:00
x509_vfy.h Remove X509_STORE's ex_data. 2015-04-15 23:36:09 +00:00
x509.h Add support for reading PKCS#7 data from PEM files. 2015-02-27 21:02:38 +00:00
x509v3.h Remove spurious declarations of |X509V3_EXT_conf| and friends. 2015-05-05 00:22:59 +00:00