boringssl/include/openssl
Adam Langley df1f5e796c crypto: add mutexes.
Prior to this, BoringSSL was using OpenSSL's technique of having users
register a callback for locking operation. This change adds native mutex
support.

Since mutexes often need to be in objects that are exposed via public
headers, the non-static mutexes are defined in thread.h. However, on
Windows we don't want to #include windows.h for CRITICAL_SECTION and, on
Linux, pthread.h doesn't define pthread_rwlock_t unless the feature
flags are set correctly—something that we can't control in general
for public header files. Thus, on both platforms, the mutex is defined
as a uint8_t[] of equal or greater size and we depend on static asserts
to ensure that everything works out ok.

Change-Id: Iafec17ae7e3422325e587878a5384107ec6647ab
Reviewed-on: https://boringssl-review.googlesource.com/4321
Reviewed-by: Adam Langley <agl@google.com>
2015-04-14 20:07:15 +00:00
..
aead.h
aes.h
asn1_mac.h Prune away (almost) all of asn1_mac.h 2015-04-08 20:42:57 +00:00
asn1.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
asn1t.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
base64.h
base.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
bio.h bio: remove reference count. 2015-04-14 20:04:52 +00:00
blowfish.h Add decrepit, initially containing CAST and Blowfish. 2015-04-06 16:58:45 -07:00
bn.h
buf.h Reset all the error codes. 2015-02-11 23:12:08 +00:00
bytestring.h
cast.h Add decrepit, initially containing CAST and Blowfish. 2015-04-06 16:58:45 -07:00
chacha.h
cipher.h Remove crypto/obj dependencies from low-level crypto tests. 2015-04-13 20:25:45 +00:00
conf.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
cpu.h
crypto.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
des.h
dh.h Add a couple of compatibility #defines for DH. 2015-04-06 16:58:46 -07:00
digest.h Replace MD5 in examples with SHA-256. 2015-04-13 20:55:48 +00:00
dsa.h
dtls1.h Remove buffered_app_data as well. 2015-04-06 21:39:27 +00:00
ec_key.h Fix typo. 2015-04-10 22:25:59 +00:00
ec.h Unexport EC_GROUP_copy. 2015-02-27 19:43:02 +00:00
ecdh.h
ecdsa.h Remove TODO about removing ECDSA_do_sign/ECDSA_do_verify. 2015-04-07 00:07:19 +00:00
engine.h
err.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
evp.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
ex_data.h Remove unused ex_data indexes. 2015-04-07 00:09:47 +00:00
hkdf.h
hmac.h
lhash_macros.h Use thread-local storage for ERR. 2015-04-08 16:23:03 -07:00
lhash.h Use thread-local storage for ERR. 2015-04-08 16:23:03 -07:00
md4.h
md5.h
mem.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
modes.h Add visibility rules. 2014-07-31 22:03:11 +00:00
obj_mac.h
obj.h
objects.h
opensslfeatures.h
opensslv.h
ossl_typ.h
pem.h
pkcs7.h
pkcs8.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
pkcs12.h
poly1305.h
pqueue.h
rand.h Add some missing headers to doc.config. 2015-04-13 22:07:47 +00:00
rc4.h Fix up whitespace in headers for doc.go. 2015-04-08 17:32:55 -07:00
rsa.h Fix up whitespace in headers for doc.go. 2015-04-08 17:32:55 -07:00
safestack.h
sha.h
srtp.h
ssl2.h Rename ssl_locl.h to internal.h 2015-04-10 22:14:09 +00:00
ssl3.h Tidy record length check. 2015-04-06 20:50:45 +00:00
ssl23.h Reformat SSL/TLS headers. 2015-01-26 20:23:09 +00:00
ssl.h Add SSL_set_reject_peer_renegotiations. 2015-04-13 22:38:58 +00:00
stack_macros.h
stack.h
thread.h crypto: add mutexes. 2015-04-14 20:07:15 +00:00
time_support.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
tls1.h Clean up SSL_export_keying_material implementation. 2015-04-06 20:47:54 +00:00
type_check.h
x509_vfy.h
x509.h
x509v3.h