cjson
.github
workflows CI.yml ci-fuzz.yml
CONTRIBUTING.md
fuzzing
inputs test1 test10 test11 test2 test3 test3.bu test3.uf test3.uu test4 test5 test6 test7 test8 test9
.gitignore CMakeLists.txt afl-prepare-linux.sh afl.c afl.sh cjson_read_fuzzer.c fuzz_main.c json.dict ossfuzz.sh
library_config cJSONConfig.cmake.in cJSONConfigVersion.cmake.in libcjson.pc.in libcjson_utils.pc.in uninstall.cmake
tests
inputs test1 test1.expected test10 test10.expected test11 test11.expected test2 test2.expected test3 test3.expected test4 test4.expected test5 test5.expected test6 test7 test7.expected test8 test8.expected test9 test9.expected
json-patch-tests .editorconfig .gitignore .npmignore README.md cjson-utils-tests.json package.json spec_tests.json tests.json
unity
auto colour_prompt.rb colour_reporter.rb generate_config.yml generate_module.rb generate_test_runner.rb parse_output.rb stylize_as_junit.rb test_file_filter.rb type_sanitizer.rb unity_test_summary.py unity_test_summary.rb unity_to_junit.py
docs ThrowTheSwitchCodingStandard.md UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf UnityAssertionsReference.md UnityConfigurationGuide.md UnityGettingStartedGuide.md UnityHelperScriptsGuide.md license.txt
examples
example_1
src ProductionCode.c ProductionCode.h ProductionCode2.c ProductionCode2.h
makefile readme.txt
example_2
src ProductionCode.c ProductionCode.h ProductionCode2.c ProductionCode2.h
makefile readme.txt
example_3
helper UnityHelper.c UnityHelper.h
src ProductionCode.c ProductionCode.h ProductionCode2.c ProductionCode2.h
rakefile.rb rakefile_helper.rb readme.txt target_gcc_32.yml
unity_config.h
extras
eclipse error_parsers.txt
fixture
src unity_fixture.c unity_fixture.h unity_fixture_internals.h unity_fixture_malloc_overrides.h
rakefile.rb rakefile_helper.rb readme.txt
release build.info version.info
src unity.c unity.h unity_internals.h
.gitattributes .gitignore .travis.yml README.md
CMakeLists.txt cjson_add.c common.h compare_tests.c json_patch_tests.c minify_tests.c misc_tests.c misc_utils_tests.c old_utils_tests.c parse_array.c parse_examples.c parse_hex4.c parse_number.c parse_object.c parse_string.c parse_value.c parse_with_opts.c print_array.c print_number.c print_object.c print_string.c print_value.c readme_examples.c unity_setup.c
.editorconfig .gitattributes .gitignore .travis.yml CHANGELOG.md CMakeLists.txt CONTRIBUTORS.md LICENSE Makefile README.md SECURITY.md appveyor.yml cJSON.c cJSON.h cJSON_Utils.c cJSON_Utils.h test.c valgrind.supp
curl
.circleci config.yml
.github
ISSUE_TEMPLATE bug_report.yml config.yml docs.yml
scripts cleancmd.pl cmp-config.pl cmp-pkg-config.sh codespell-ignore.words codespell.sh distfiles.sh pyspelling.words pyspelling.yaml randcurl.pl requirements-docs.txt requirements-proselint.txt requirements.txt shellcheck-ci.sh shellcheck.sh spellcheck.curl trimmarkdownheader.pl typos.sh typos.toml verify-examples.pl verify-synopsis.pl yamlcheck.sh yamlcheck.yaml
workflows appveyor-status.yml checkdocs.yml checksrc.yml checkurls.yml codeql.yml configure-vs-cmake.yml curl-for-win.yml distcheck.yml fuzz.yml http3-linux.yml label.yml linux-old.yml linux.yml macos.yml non-native.yml windows.yml
CODEOWNERS CONTRIBUTING.md FUNDING.yml dependabot.yml labeler.yml lock.yml stale.yml
CMake CurlSymbolHiding.cmake CurlTests.c FindBrotli.cmake FindCares.cmake FindGSS.cmake FindGnuTLS.cmake FindLDAP.cmake FindLibbacktrace.cmake FindLibgsasl.cmake FindLibidn2.cmake FindLibpsl.cmake FindLibssh.cmake FindLibssh2.cmake FindLibuv.cmake FindMbedTLS.cmake FindNGHTTP2.cmake FindNGHTTP3.cmake FindNGTCP2.cmake FindNettle.cmake FindQuiche.cmake FindRustls.cmake FindWolfSSL.cmake FindZstd.cmake Macros.cmake OtherTests.cmake PickyWarnings.cmake Utilities.cmake cmake_uninstall.in.cmake curl-config.in.cmake unix-cache.cmake win32-cache.cmake
LICENSES BSD-4-Clause-UC.txt ISC.txt curl.txt
docs
cmdline-opts .gitignore CMakeLists.txt MANPAGE.md Makefile.am Makefile.inc _AUTHORS.md _BUGS.md _DESCRIPTION.md _ENVIRONMENT.md _EXITCODES.md _FILES.md _GLOBBING.md _NAME.md _OPTIONS.md _OUTPUT.md _PROGRESS.md _PROTOCOLS.md _PROXYPREFIX.md _SEEALSO.md _SYNOPSIS.md _URL.md _VARIABLES.md _VERSION.md _WWW.md abstract-unix-socket.md alt-svc.md anyauth.md append.md aws-sigv4.md basic.md ca-native.md cacert.md capath.md cert-status.md cert-type.md cert.md ciphers.md compressed-ssh.md compressed.md config.md connect-timeout.md connect-to.md continue-at.md cookie-jar.md cookie.md create-dirs.md create-file-mode.md crlf.md crlfile.md curves.md data-ascii.md data-binary.md data-raw.md data-urlencode.md data.md delegation.md digest.md disable-eprt.md disable-epsv.md disable.md disallow-username-in-url.md dns-interface.md dns-ipv4-addr.md dns-ipv6-addr.md dns-servers.md doh-cert-status.md doh-insecure.md doh-url.md dump-ca-embed.md dump-header.md ech.md egd-file.md engine.md etag-compare.md etag-save.md expect100-timeout.md fail-early.md fail-with-body.md fail.md false-start.md follow.md form-escape.md form-string.md form.md ftp-account.md ftp-alternative-to-user.md ftp-create-dirs.md ftp-method.md ftp-pasv.md ftp-port.md ftp-pret.md ftp-skip-pasv-ip.md ftp-ssl-ccc-mode.md ftp-ssl-ccc.md ftp-ssl-control.md get.md globoff.md happy-eyeballs-timeout-ms.md haproxy-clientip.md haproxy-protocol.md head.md header.md help.md hostpubmd5.md hostpubsha256.md hsts.md http0.9.md http1.0.md http1.1.md http2-prior-knowledge.md http2.md http3-only.md http3.md ignore-content-length.md insecure.md interface.md ip-tos.md ipfs-gateway.md ipv4.md ipv6.md json.md junk-session-cookies.md keepalive-cnt.md keepalive-time.md key-type.md key.md knownhosts.md krb.md libcurl.md limit-rate.md list-only.md local-port.md location-trusted.md location.md login-options.md mail-auth.md mail-from.md mail-rcpt-allowfails.md mail-rcpt.md mainpage.idx manual.md max-filesize.md max-redirs.md max-time.md metalink.md mptcp.md negotiate.md netrc-file.md netrc-optional.md netrc.md next.md no-alpn.md no-buffer.md no-clobber.md no-keepalive.md no-npn.md no-progress-meter.md no-sessionid.md noproxy.md ntlm-wb.md ntlm.md oauth2-bearer.md out-null.md output-dir.md output.md parallel-immediate.md parallel-max-host.md parallel-max.md parallel.md pass.md path-as-is.md pinnedpubkey.md post301.md post302.md post303.md preproxy.md progress-bar.md proto-default.md proto-redir.md proto.md proxy-anyauth.md proxy-basic.md proxy-ca-native.md proxy-cacert.md proxy-capath.md proxy-cert-type.md proxy-cert.md proxy-ciphers.md proxy-crlfile.md proxy-digest.md proxy-header.md proxy-http2.md proxy-insecure.md proxy-key-type.md proxy-key.md proxy-negotiate.md proxy-ntlm.md proxy-pass.md proxy-pinnedpubkey.md proxy-service-name.md proxy-ssl-allow-beast.md proxy-ssl-auto-client-cert.md proxy-tls13-ciphers.md proxy-tlsauthtype.md proxy-tlspassword.md proxy-tlsuser.md proxy-tlsv1.md proxy-user.md proxy.md proxy1.0.md proxytunnel.md pubkey.md quote.md random-file.md range.md rate.md raw.md referer.md remote-header-name.md remote-name-all.md remote-name.md remote-time.md remove-on-error.md request-target.md request.md resolve.md retry-all-errors.md retry-connrefused.md retry-delay.md retry-max-time.md retry.md sasl-authzid.md sasl-ir.md service-name.md show-error.md show-headers.md sigalgs.md silent.md skip-existing.md socks4.md socks4a.md socks5-basic.md socks5-gssapi-nec.md socks5-gssapi-service.md socks5-gssapi.md socks5-hostname.md socks5.md speed-limit.md speed-time.md ssl-allow-beast.md ssl-auto-client-cert.md ssl-no-revoke.md ssl-reqd.md ssl-revoke-best-effort.md ssl-sessions.md ssl.md sslv2.md sslv3.md stderr.md styled-output.md suppress-connect-headers.md tcp-fastopen.md tcp-nodelay.md telnet-option.md tftp-blksize.md tftp-no-options.md time-cond.md tls-earlydata.md tls-max.md tls13-ciphers.md tlsauthtype.md tlspassword.md tlsuser.md tlsv1.0.md tlsv1.1.md tlsv1.2.md tlsv1.3.md tlsv1.md tr-encoding.md trace-ascii.md trace-config.md trace-ids.md trace-time.md trace.md unix-socket.md upload-file.md upload-flags.md url-query.md url.md use-ascii.md user-agent.md user.md variable.md verbose.md version.md vlan-priority.md write-out.md xattr.md
examples .checksrc .gitignore 10-at-a-time.c CMakeLists.txt Makefile.am Makefile.example Makefile.inc README.md adddocsref.pl address-scope.c altsvc.c anyauthput.c block_ip.c cacertinmem.c certinfo.c chkspeed.c connect-to.c cookie_interface.c crawler.c debug.c default-scheme.c ephiperfifo.c evhiperfifo.c externalsocket.c fileupload.c ftp-delete.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c ftpsget.c ftpupload.c ftpuploadfrommem.c ftpuploadresume.c getinfo.c getinmemory.c getredirect.c getreferrer.c ghiper.c headerapi.c hiperfifo.c hsts-preload.c htmltidy.c htmltitle.cpp http-options.c http-post.c http2-download.c http2-pushinmemory.c http2-serverpush.c http2-upload.c http3-present.c http3.c httpcustomheader.c httpput-postfields.c httpput.c https.c imap-append.c imap-authzid.c imap-copy.c imap-create.c imap-delete.c imap-examine.c imap-fetch.c imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c imap-ssl.c imap-store.c imap-tls.c interface.c ipv6.c keepalive.c localport.c log_failed_transfers.c maxconnects.c multi-app.c multi-debugcallback.c multi-double.c multi-event.c multi-formadd.c multi-legacy.c multi-post.c multi-single.c multi-uv.c netrc.c parseurl.c persistent.c pop3-authzid.c pop3-dele.c pop3-list.c pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c postinmemory.c postit2-formadd.c postit2.c progressfunc.c protofeats.c range.c resolve.c rtsp-options.c sendrecv.c sepheaders.c sessioninfo.c sftpget.c sftpuploadresume.c shared-connection-cache.c simple.c simplepost.c simplessl.c smooth-gtk-thread.c smtp-authzid.c smtp-expn.c smtp-mail.c smtp-mime.c smtp-multi.c smtp-ssl.c smtp-tls.c smtp-vrfy.c sslbackend.c synctime.c threaded.c unixsocket.c url2file.c urlapi.c usercertinmem.c version-check.pl websocket-cb.c websocket-updown.c websocket.c xmlstream.c
internals BUFQ.md BUFREF.md CHECKSRC.md CLIENT-READERS.md CLIENT-WRITERS.md CODE_STYLE.md CONNECTION-FILTERS.md CREDENTIALS.md CURLX.md DYNBUF.md HASH.md LLIST.md MID.md MQTT.md MULTI-EV.md NEW-PROTOCOL.md PEERS.md PORTING.md RATELIMITS.md README.md SCORECARD.md SPLAY.md STRPARSE.md THRDPOOL-AND-QUEUE.md TIME-KEEPING.md TLS-SESSIONS.md UINT_SETS.md WEBSOCKET.md
libcurl
opts CMakeLists.txt CURLINFO_ACTIVESOCKET.md CURLINFO_APPCONNECT_TIME.md CURLINFO_APPCONNECT_TIME_T.md CURLINFO_CAINFO.md CURLINFO_CAPATH.md CURLINFO_CERTINFO.md CURLINFO_CONDITION_UNMET.md CURLINFO_CONNECT_TIME.md CURLINFO_CONNECT_TIME_T.md CURLINFO_CONN_ID.md CURLINFO_CONTENT_LENGTH_DOWNLOAD.md CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.md CURLINFO_CONTENT_LENGTH_UPLOAD.md CURLINFO_CONTENT_LENGTH_UPLOAD_T.md CURLINFO_CONTENT_TYPE.md CURLINFO_COOKIELIST.md CURLINFO_EARLYDATA_SENT_T.md CURLINFO_EFFECTIVE_METHOD.md CURLINFO_EFFECTIVE_URL.md CURLINFO_FILETIME.md CURLINFO_FILETIME_T.md CURLINFO_FTP_ENTRY_PATH.md CURLINFO_HEADER_SIZE.md CURLINFO_HTTPAUTH_AVAIL.md CURLINFO_HTTPAUTH_USED.md CURLINFO_HTTP_CONNECTCODE.md CURLINFO_HTTP_VERSION.md CURLINFO_LASTSOCKET.md CURLINFO_LOCAL_IP.md CURLINFO_LOCAL_PORT.md CURLINFO_NAMELOOKUP_TIME.md CURLINFO_NAMELOOKUP_TIME_T.md CURLINFO_NUM_CONNECTS.md CURLINFO_OS_ERRNO.md CURLINFO_POSTTRANSFER_TIME_T.md CURLINFO_PRETRANSFER_TIME.md CURLINFO_PRETRANSFER_TIME_T.md CURLINFO_PRIMARY_IP.md CURLINFO_PRIMARY_PORT.md CURLINFO_PRIVATE.md CURLINFO_PROTOCOL.md CURLINFO_PROXYAUTH_AVAIL.md CURLINFO_PROXYAUTH_USED.md CURLINFO_PROXY_ERROR.md CURLINFO_PROXY_SSL_VERIFYRESULT.md CURLINFO_QUEUE_TIME_T.md CURLINFO_REDIRECT_COUNT.md CURLINFO_REDIRECT_TIME.md CURLINFO_REDIRECT_TIME_T.md CURLINFO_REDIRECT_URL.md CURLINFO_REFERER.md CURLINFO_REQUEST_SIZE.md CURLINFO_RESPONSE_CODE.md CURLINFO_RETRY_AFTER.md CURLINFO_RTSP_CLIENT_CSEQ.md CURLINFO_RTSP_CSEQ_RECV.md CURLINFO_RTSP_SERVER_CSEQ.md CURLINFO_RTSP_SESSION_ID.md CURLINFO_SCHEME.md CURLINFO_SIZE_DELIVERED.md CURLINFO_SIZE_DOWNLOAD.md CURLINFO_SIZE_DOWNLOAD_T.md CURLINFO_SIZE_UPLOAD.md CURLINFO_SIZE_UPLOAD_T.md CURLINFO_SPEED_DOWNLOAD.md CURLINFO_SPEED_DOWNLOAD_T.md CURLINFO_SPEED_UPLOAD.md CURLINFO_SPEED_UPLOAD_T.md CURLINFO_SSL_ENGINES.md CURLINFO_SSL_VERIFYRESULT.md CURLINFO_STARTTRANSFER_TIME.md CURLINFO_STARTTRANSFER_TIME_T.md CURLINFO_TLS_SESSION.md CURLINFO_TLS_SSL_PTR.md CURLINFO_TOTAL_TIME.md CURLINFO_TOTAL_TIME_T.md CURLINFO_USED_PROXY.md CURLINFO_XFER_ID.md CURLMINFO_XFERS_ADDED.md CURLMINFO_XFERS_CURRENT.md CURLMINFO_XFERS_DONE.md CURLMINFO_XFERS_PENDING.md CURLMINFO_XFERS_RUNNING.md CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.md CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.md CURLMOPT_MAXCONNECTS.md CURLMOPT_MAX_CONCURRENT_STREAMS.md CURLMOPT_MAX_HOST_CONNECTIONS.md CURLMOPT_MAX_PIPELINE_LENGTH.md CURLMOPT_MAX_TOTAL_CONNECTIONS.md CURLMOPT_NETWORK_CHANGED.md CURLMOPT_NOTIFYDATA.md CURLMOPT_NOTIFYFUNCTION.md CURLMOPT_PIPELINING.md CURLMOPT_PIPELINING_SERVER_BL.md CURLMOPT_PIPELINING_SITE_BL.md CURLMOPT_PUSHDATA.md CURLMOPT_PUSHFUNCTION.md CURLMOPT_QUICK_EXIT.md CURLMOPT_RESOLVE_THREADS_MAX.md CURLMOPT_SOCKETDATA.md CURLMOPT_SOCKETFUNCTION.md CURLMOPT_TIMERDATA.md CURLMOPT_TIMERFUNCTION.md CURLOPT_ABSTRACT_UNIX_SOCKET.md CURLOPT_ACCEPTTIMEOUT_MS.md CURLOPT_ACCEPT_ENCODING.md CURLOPT_ADDRESS_SCOPE.md CURLOPT_ALTSVC.md CURLOPT_ALTSVC_CTRL.md CURLOPT_APPEND.md CURLOPT_AUTOREFERER.md CURLOPT_AWS_SIGV4.md CURLOPT_BUFFERSIZE.md CURLOPT_CAINFO.md CURLOPT_CAINFO_BLOB.md CURLOPT_CAPATH.md CURLOPT_CA_CACHE_TIMEOUT.md CURLOPT_CERTINFO.md CURLOPT_CHUNK_BGN_FUNCTION.md CURLOPT_CHUNK_DATA.md CURLOPT_CHUNK_END_FUNCTION.md CURLOPT_CLOSESOCKETDATA.md CURLOPT_CLOSESOCKETFUNCTION.md CURLOPT_CONNECTTIMEOUT.md CURLOPT_CONNECTTIMEOUT_MS.md CURLOPT_CONNECT_ONLY.md CURLOPT_CONNECT_TO.md CURLOPT_CONV_FROM_NETWORK_FUNCTION.md CURLOPT_CONV_FROM_UTF8_FUNCTION.md CURLOPT_CONV_TO_NETWORK_FUNCTION.md CURLOPT_COOKIE.md CURLOPT_COOKIEFILE.md CURLOPT_COOKIEJAR.md CURLOPT_COOKIELIST.md CURLOPT_COOKIESESSION.md CURLOPT_COPYPOSTFIELDS.md CURLOPT_CRLF.md CURLOPT_CRLFILE.md CURLOPT_CURLU.md CURLOPT_CUSTOMREQUEST.md CURLOPT_DEBUGDATA.md CURLOPT_DEBUGFUNCTION.md CURLOPT_DEFAULT_PROTOCOL.md CURLOPT_DIRLISTONLY.md CURLOPT_DISALLOW_USERNAME_IN_URL.md CURLOPT_DNS_CACHE_TIMEOUT.md CURLOPT_DNS_INTERFACE.md CURLOPT_DNS_LOCAL_IP4.md CURLOPT_DNS_LOCAL_IP6.md CURLOPT_DNS_SERVERS.md CURLOPT_DNS_SHUFFLE_ADDRESSES.md CURLOPT_DNS_USE_GLOBAL_CACHE.md CURLOPT_DOH_SSL_VERIFYHOST.md CURLOPT_DOH_SSL_VERIFYPEER.md CURLOPT_DOH_SSL_VERIFYSTATUS.md CURLOPT_DOH_URL.md CURLOPT_ECH.md CURLOPT_EGDSOCKET.md CURLOPT_ERRORBUFFER.md CURLOPT_EXPECT_100_TIMEOUT_MS.md CURLOPT_FAILONERROR.md CURLOPT_FILETIME.md CURLOPT_FNMATCH_DATA.md CURLOPT_FNMATCH_FUNCTION.md CURLOPT_FOLLOWLOCATION.md CURLOPT_FORBID_REUSE.md CURLOPT_FRESH_CONNECT.md CURLOPT_FTPPORT.md CURLOPT_FTPSSLAUTH.md CURLOPT_FTP_ACCOUNT.md CURLOPT_FTP_ALTERNATIVE_TO_USER.md CURLOPT_FTP_CREATE_MISSING_DIRS.md CURLOPT_FTP_FILEMETHOD.md CURLOPT_FTP_SKIP_PASV_IP.md CURLOPT_FTP_SSL_CCC.md CURLOPT_FTP_USE_EPRT.md CURLOPT_FTP_USE_EPSV.md CURLOPT_FTP_USE_PRET.md CURLOPT_GSSAPI_DELEGATION.md CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.md CURLOPT_HAPROXYPROTOCOL.md CURLOPT_HAPROXY_CLIENT_IP.md CURLOPT_HEADER.md CURLOPT_HEADERDATA.md CURLOPT_HEADERFUNCTION.md CURLOPT_HEADEROPT.md CURLOPT_HSTS.md CURLOPT_HSTSREADDATA.md CURLOPT_HSTSREADFUNCTION.md CURLOPT_HSTSWRITEDATA.md CURLOPT_HSTSWRITEFUNCTION.md CURLOPT_HSTS_CTRL.md CURLOPT_HTTP09_ALLOWED.md CURLOPT_HTTP200ALIASES.md CURLOPT_HTTPAUTH.md CURLOPT_HTTPGET.md CURLOPT_HTTPHEADER.md CURLOPT_HTTPPOST.md CURLOPT_HTTPPROXYTUNNEL.md CURLOPT_HTTP_CONTENT_DECODING.md CURLOPT_HTTP_TRANSFER_DECODING.md CURLOPT_HTTP_VERSION.md CURLOPT_IGNORE_CONTENT_LENGTH.md CURLOPT_INFILESIZE.md CURLOPT_INFILESIZE_LARGE.md CURLOPT_INTERFACE.md CURLOPT_INTERLEAVEDATA.md CURLOPT_INTERLEAVEFUNCTION.md CURLOPT_IOCTLDATA.md CURLOPT_IOCTLFUNCTION.md CURLOPT_IPRESOLVE.md CURLOPT_ISSUERCERT.md CURLOPT_ISSUERCERT_BLOB.md CURLOPT_KEEP_SENDING_ON_ERROR.md CURLOPT_KEYPASSWD.md CURLOPT_KRBLEVEL.md CURLOPT_LOCALPORT.md CURLOPT_LOCALPORTRANGE.md CURLOPT_LOGIN_OPTIONS.md CURLOPT_LOW_SPEED_LIMIT.md CURLOPT_LOW_SPEED_TIME.md CURLOPT_MAIL_AUTH.md CURLOPT_MAIL_FROM.md CURLOPT_MAIL_RCPT.md CURLOPT_MAIL_RCPT_ALLOWFAILS.md CURLOPT_MAXAGE_CONN.md CURLOPT_MAXCONNECTS.md CURLOPT_MAXFILESIZE.md CURLOPT_MAXFILESIZE_LARGE.md CURLOPT_MAXLIFETIME_CONN.md CURLOPT_MAXREDIRS.md CURLOPT_MAX_RECV_SPEED_LARGE.md CURLOPT_MAX_SEND_SPEED_LARGE.md CURLOPT_MIMEPOST.md CURLOPT_MIME_OPTIONS.md CURLOPT_NETRC.md CURLOPT_NETRC_FILE.md CURLOPT_NEW_DIRECTORY_PERMS.md CURLOPT_NEW_FILE_PERMS.md CURLOPT_NOBODY.md CURLOPT_NOPROGRESS.md CURLOPT_NOPROXY.md CURLOPT_NOSIGNAL.md CURLOPT_OPENSOCKETDATA.md CURLOPT_OPENSOCKETFUNCTION.md CURLOPT_PASSWORD.md CURLOPT_PATH_AS_IS.md CURLOPT_PINNEDPUBLICKEY.md CURLOPT_PIPEWAIT.md CURLOPT_PORT.md CURLOPT_POST.md CURLOPT_POSTFIELDS.md CURLOPT_POSTFIELDSIZE.md CURLOPT_POSTFIELDSIZE_LARGE.md CURLOPT_POSTQUOTE.md CURLOPT_POSTREDIR.md CURLOPT_PREQUOTE.md CURLOPT_PREREQDATA.md CURLOPT_PREREQFUNCTION.md CURLOPT_PRE_PROXY.md CURLOPT_PRIVATE.md CURLOPT_PROGRESSDATA.md CURLOPT_PROGRESSFUNCTION.md CURLOPT_PROTOCOLS.md CURLOPT_PROTOCOLS_STR.md CURLOPT_PROXY.md CURLOPT_PROXYAUTH.md CURLOPT_PROXYHEADER.md CURLOPT_PROXYPASSWORD.md CURLOPT_PROXYPORT.md CURLOPT_PROXYTYPE.md CURLOPT_PROXYUSERNAME.md CURLOPT_PROXYUSERPWD.md CURLOPT_PROXY_CAINFO.md CURLOPT_PROXY_CAINFO_BLOB.md CURLOPT_PROXY_CAPATH.md CURLOPT_PROXY_CRLFILE.md CURLOPT_PROXY_ISSUERCERT.md CURLOPT_PROXY_ISSUERCERT_BLOB.md CURLOPT_PROXY_KEYPASSWD.md CURLOPT_PROXY_PINNEDPUBLICKEY.md CURLOPT_PROXY_SERVICE_NAME.md CURLOPT_PROXY_SSLCERT.md CURLOPT_PROXY_SSLCERTTYPE.md CURLOPT_PROXY_SSLCERT_BLOB.md CURLOPT_PROXY_SSLKEY.md CURLOPT_PROXY_SSLKEYTYPE.md CURLOPT_PROXY_SSLKEY_BLOB.md CURLOPT_PROXY_SSLVERSION.md CURLOPT_PROXY_SSL_CIPHER_LIST.md CURLOPT_PROXY_SSL_OPTIONS.md CURLOPT_PROXY_SSL_VERIFYHOST.md CURLOPT_PROXY_SSL_VERIFYPEER.md CURLOPT_PROXY_TLS13_CIPHERS.md CURLOPT_PROXY_TLSAUTH_PASSWORD.md CURLOPT_PROXY_TLSAUTH_TYPE.md CURLOPT_PROXY_TLSAUTH_USERNAME.md CURLOPT_PROXY_TRANSFER_MODE.md CURLOPT_PUT.md CURLOPT_QUICK_EXIT.md CURLOPT_QUOTE.md CURLOPT_RANDOM_FILE.md CURLOPT_RANGE.md CURLOPT_READDATA.md CURLOPT_READFUNCTION.md CURLOPT_REDIR_PROTOCOLS.md CURLOPT_REDIR_PROTOCOLS_STR.md CURLOPT_REFERER.md CURLOPT_REQUEST_TARGET.md CURLOPT_RESOLVE.md CURLOPT_RESOLVER_START_DATA.md CURLOPT_RESOLVER_START_FUNCTION.md CURLOPT_RESUME_FROM.md CURLOPT_RESUME_FROM_LARGE.md CURLOPT_RTSP_CLIENT_CSEQ.md CURLOPT_RTSP_REQUEST.md CURLOPT_RTSP_SERVER_CSEQ.md CURLOPT_RTSP_SESSION_ID.md CURLOPT_RTSP_STREAM_URI.md CURLOPT_RTSP_TRANSPORT.md CURLOPT_SASL_AUTHZID.md CURLOPT_SASL_IR.md CURLOPT_SEEKDATA.md CURLOPT_SEEKFUNCTION.md CURLOPT_SERVER_RESPONSE_TIMEOUT.md CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.md CURLOPT_SERVICE_NAME.md CURLOPT_SHARE.md CURLOPT_SOCKOPTDATA.md CURLOPT_SOCKOPTFUNCTION.md CURLOPT_SOCKS5_AUTH.md CURLOPT_SOCKS5_GSSAPI_NEC.md CURLOPT_SOCKS5_GSSAPI_SERVICE.md CURLOPT_SSH_AUTH_TYPES.md CURLOPT_SSH_COMPRESSION.md CURLOPT_SSH_HOSTKEYDATA.md CURLOPT_SSH_HOSTKEYFUNCTION.md CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.md CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.md CURLOPT_SSH_KEYDATA.md CURLOPT_SSH_KEYFUNCTION.md CURLOPT_SSH_KNOWNHOSTS.md CURLOPT_SSH_PRIVATE_KEYFILE.md CURLOPT_SSH_PUBLIC_KEYFILE.md CURLOPT_SSLCERT.md CURLOPT_SSLCERTTYPE.md CURLOPT_SSLCERT_BLOB.md CURLOPT_SSLENGINE.md CURLOPT_SSLENGINE_DEFAULT.md CURLOPT_SSLKEY.md CURLOPT_SSLKEYTYPE.md CURLOPT_SSLKEY_BLOB.md CURLOPT_SSLVERSION.md CURLOPT_SSL_CIPHER_LIST.md CURLOPT_SSL_CTX_DATA.md CURLOPT_SSL_CTX_FUNCTION.md CURLOPT_SSL_EC_CURVES.md CURLOPT_SSL_ENABLE_ALPN.md CURLOPT_SSL_ENABLE_NPN.md CURLOPT_SSL_FALSESTART.md CURLOPT_SSL_OPTIONS.md CURLOPT_SSL_SESSIONID_CACHE.md CURLOPT_SSL_SIGNATURE_ALGORITHMS.md CURLOPT_SSL_VERIFYHOST.md CURLOPT_SSL_VERIFYPEER.md CURLOPT_SSL_VERIFYSTATUS.md CURLOPT_STDERR.md CURLOPT_STREAM_DEPENDS.md CURLOPT_STREAM_DEPENDS_E.md CURLOPT_STREAM_WEIGHT.md CURLOPT_SUPPRESS_CONNECT_HEADERS.md CURLOPT_TCP_FASTOPEN.md CURLOPT_TCP_KEEPALIVE.md CURLOPT_TCP_KEEPCNT.md CURLOPT_TCP_KEEPIDLE.md CURLOPT_TCP_KEEPINTVL.md CURLOPT_TCP_NODELAY.md CURLOPT_TELNETOPTIONS.md CURLOPT_TFTP_BLKSIZE.md CURLOPT_TFTP_NO_OPTIONS.md CURLOPT_TIMECONDITION.md CURLOPT_TIMEOUT.md CURLOPT_TIMEOUT_MS.md CURLOPT_TIMEVALUE.md CURLOPT_TIMEVALUE_LARGE.md CURLOPT_TLS13_CIPHERS.md CURLOPT_TLSAUTH_PASSWORD.md CURLOPT_TLSAUTH_TYPE.md CURLOPT_TLSAUTH_USERNAME.md CURLOPT_TRAILERDATA.md CURLOPT_TRAILERFUNCTION.md CURLOPT_TRANSFERTEXT.md CURLOPT_TRANSFER_ENCODING.md CURLOPT_UNIX_SOCKET_PATH.md CURLOPT_UNRESTRICTED_AUTH.md CURLOPT_UPKEEP_INTERVAL_MS.md CURLOPT_UPLOAD.md CURLOPT_UPLOAD_BUFFERSIZE.md CURLOPT_UPLOAD_FLAGS.md CURLOPT_URL.md CURLOPT_USERAGENT.md CURLOPT_USERNAME.md CURLOPT_USERPWD.md CURLOPT_USE_SSL.md CURLOPT_VERBOSE.md CURLOPT_WILDCARDMATCH.md CURLOPT_WRITEDATA.md CURLOPT_WRITEFUNCTION.md CURLOPT_WS_OPTIONS.md CURLOPT_XFERINFODATA.md CURLOPT_XFERINFOFUNCTION.md CURLOPT_XOAUTH2_BEARER.md CURLSHOPT_LOCKFUNC.md CURLSHOPT_SHARE.md CURLSHOPT_UNLOCKFUNC.md CURLSHOPT_UNSHARE.md CURLSHOPT_USERDATA.md Makefile.am Makefile.inc
.gitignore ABI.md CMakeLists.txt Makefile.am Makefile.inc curl_easy_cleanup.md curl_easy_duphandle.md curl_easy_escape.md curl_easy_getinfo.md curl_easy_header.md curl_easy_init.md curl_easy_nextheader.md curl_easy_option_by_id.md curl_easy_option_by_name.md curl_easy_option_next.md curl_easy_pause.md curl_easy_perform.md curl_easy_recv.md curl_easy_reset.md curl_easy_send.md curl_easy_setopt.md curl_easy_ssls_export.md curl_easy_ssls_import.md curl_easy_strerror.md curl_easy_unescape.md curl_easy_upkeep.md curl_escape.md curl_formadd.md curl_formfree.md curl_formget.md curl_free.md curl_getdate.md curl_getenv.md curl_global_cleanup.md curl_global_init.md curl_global_init_mem.md curl_global_sslset.md curl_global_trace.md curl_mime_addpart.md curl_mime_data.md curl_mime_data_cb.md curl_mime_encoder.md curl_mime_filedata.md curl_mime_filename.md curl_mime_free.md curl_mime_headers.md curl_mime_init.md curl_mime_name.md curl_mime_subparts.md curl_mime_type.md curl_mprintf.md curl_multi_add_handle.md curl_multi_assign.md curl_multi_cleanup.md curl_multi_fdset.md curl_multi_get_handles.md curl_multi_get_offt.md curl_multi_info_read.md curl_multi_init.md curl_multi_notify_disable.md curl_multi_notify_enable.md curl_multi_perform.md curl_multi_poll.md curl_multi_remove_handle.md curl_multi_setopt.md curl_multi_socket.md curl_multi_socket_action.md curl_multi_socket_all.md curl_multi_strerror.md curl_multi_timeout.md curl_multi_wait.md curl_multi_waitfds.md curl_multi_wakeup.md curl_pushheader_byname.md curl_pushheader_bynum.md curl_share_cleanup.md curl_share_init.md curl_share_setopt.md curl_share_strerror.md curl_slist_append.md curl_slist_free_all.md curl_strequal.md curl_strnequal.md curl_unescape.md curl_url.md curl_url_cleanup.md curl_url_dup.md curl_url_get.md curl_url_set.md curl_url_strerror.md curl_version.md curl_version_info.md curl_ws_meta.md curl_ws_recv.md curl_ws_send.md curl_ws_start_frame.md libcurl-easy.md libcurl-env-dbg.md libcurl-env.md libcurl-errors.md libcurl-multi.md libcurl-security.md libcurl-share.md libcurl-thread.md libcurl-tutorial.md libcurl-url.md libcurl-ws.md libcurl.m4 libcurl.md mksymbolsmanpage.pl symbols-in-versions symbols.pl
tests CI.md FILEFORMAT.md HTTP.md TEST-SUITE.md
.gitignore ALTSVC.md BINDINGS.md BUG-BOUNTY.md BUGS.md CIPHERS-TLS12.md CIPHERS.md CMakeLists.txt CODE_OF_CONDUCT.md CODE_REVIEW.md CONTRIBUTE.md CURL-DISABLE.md CURLDOWN.md DEPRECATE.md DISTROS.md EARLY-RELEASE.md ECH.md EXPERIMENTAL.md FAQ.md FEATURES.md GOVERNANCE.md HELP-US.md HISTORY.md HSTS.md HTTP-COOKIES.md HTTP3.md HTTPSRR.md INFRASTRUCTURE.md INSTALL-CMAKE.md INSTALL.md INTERNALS.md IPFS.md KNOWN_BUGS.md KNOWN_RISKS.md MAIL-ETIQUETTE.md MANUAL.md Makefile.am README.md RELEASE-PROCEDURE.md ROADMAP.md RUSTLS.md SECURITY-ADVISORY.md SPONSORS.md SSL-PROBLEMS.md SSLCERTS.md THANKS THANKS-filter TODO.md TheArtOfHttpScripting.md URL-SYNTAX.md VERIFY.md VERSIONS.md VULN-DISCLOSURE-POLICY.md curl-config.md mk-ca-bundle.md options-in-versions runtests.md testcurl.md wcurl.md
include
curl Makefile.am curl.h curlver.h easy.h header.h mprintf.h multi.h options.h stdcheaders.h system.h typecheck-gcc.h urlapi.h websockets.h
Makefile.am README.md
lib
curlx base64.c base64.h basename.c basename.h dynbuf.c dynbuf.h fopen.c fopen.h inet_ntop.c inet_ntop.h inet_pton.c inet_pton.h multibyte.c multibyte.h nonblock.c nonblock.h snprintf.c snprintf.h strcopy.c strcopy.h strdup.c strdup.h strerr.c strerr.h strparse.c strparse.h timediff.c timediff.h timeval.c timeval.h version_win32.c version_win32.h wait.c wait.h warnless.c warnless.h winapi.c winapi.h
vauth cleartext.c cram.c digest.c digest.h digest_sspi.c gsasl.c krb5_gssapi.c krb5_sspi.c ntlm.c ntlm_sspi.c oauth2.c spnego_gssapi.c spnego_sspi.c vauth.c vauth.h
vquic curl_ngtcp2.c curl_ngtcp2.h curl_quiche.c curl_quiche.h vquic-tls.c vquic-tls.h vquic.c vquic.h vquic_int.h
vssh libssh.c libssh2.c ssh.h vssh.c vssh.h
vtls apple.c apple.h cipher_suite.c cipher_suite.h gtls.c gtls.h hostcheck.c hostcheck.h keylog.c keylog.h mbedtls.c mbedtls.h openssl.c openssl.h rustls.c rustls.h schannel.c schannel.h schannel_int.h schannel_verify.c vtls.c vtls.h vtls_int.h vtls_scache.c vtls_scache.h vtls_spack.c vtls_spack.h wolfssl.c wolfssl.h x509asn1.c x509asn1.h
.gitignore CMakeLists.txt Makefile.am Makefile.inc Makefile.soname altsvc.c altsvc.h amigaos.c amigaos.h arpa_telnet.h asyn-ares.c asyn-base.c asyn-thrdd.c asyn.h bufq.c bufq.h bufref.c bufref.h cf-dns.c cf-dns.h cf-h1-proxy.c cf-h1-proxy.h cf-h2-proxy.c cf-h2-proxy.h cf-haproxy.c cf-haproxy.h cf-https-connect.c cf-https-connect.h cf-ip-happy.c cf-ip-happy.h cf-socket.c cf-socket.h cfilters.c cfilters.h config-mac.h config-os400.h config-riscos.h config-win32.h conncache.c conncache.h connect.c connect.h content_encoding.c content_encoding.h cookie.c cookie.h creds.c creds.h cshutdn.c cshutdn.h curl_addrinfo.c curl_addrinfo.h curl_config-cmake.h.in curl_ctype.h curl_endian.c curl_endian.h curl_fnmatch.c curl_fnmatch.h curl_fopen.c curl_fopen.h curl_get_line.c curl_get_line.h curl_gethostname.c curl_gethostname.h curl_gssapi.c curl_gssapi.h curl_hmac.h curl_ldap.h curl_md4.h curl_md5.h curl_memrchr.c curl_memrchr.h curl_ntlm_core.c curl_ntlm_core.h curl_printf.h curl_range.c curl_range.h curl_sasl.c curl_sasl.h curl_setup.h curl_sha256.h curl_sha512_256.c curl_sha512_256.h curl_share.c curl_share.h curl_sspi.c curl_sspi.h curl_threads.c curl_threads.h curl_trc.c curl_trc.h cw-out.c cw-out.h cw-pause.c cw-pause.h dict.c dict.h dllmain.c dnscache.c dnscache.h doh.c doh.h dynhds.c dynhds.h easy.c easy_lock.h easygetopt.c easyif.h easyoptions.c easyoptions.h escape.c escape.h fake_addrinfo.c fake_addrinfo.h file.c file.h fileinfo.c fileinfo.h formdata.c formdata.h ftp-int.h ftp.c ftp.h ftplistparser.c ftplistparser.h functypes.h getenv.c getinfo.c getinfo.h gopher.c gopher.h hash.c hash.h headers.c headers.h hmac.c hostip.c hostip.h hostip4.c hostip6.c hsts.c hsts.h http.c http.h http1.c http1.h http2.c http2.h http_aws_sigv4.c http_aws_sigv4.h http_chunks.c http_chunks.h http_digest.c http_digest.h http_negotiate.c http_negotiate.h http_ntlm.c http_ntlm.h http_proxy.c http_proxy.h httpsrr.c httpsrr.h idn.c idn.h if2ip.c if2ip.h imap.c imap.h ldap.c libcurl.def libcurl.rc libcurl.vers.in llist.c llist.h macos.c macos.h md4.c md5.c memdebug.c mime.c mime.h mprintf.c mqtt.c mqtt.h multi.c multi_ev.c multi_ev.h multi_ntfy.c multi_ntfy.h multihandle.h multiif.h netrc.c netrc.h noproxy.c noproxy.h openldap.c optiontable.pl parsedate.c parsedate.h peer.c peer.h pingpong.c pingpong.h pop3.c pop3.h progress.c progress.h protocol.c protocol.h psl.c psl.h rand.c rand.h ratelimit.c ratelimit.h request.c request.h rtsp.c rtsp.h select.c select.h sendf.c sendf.h setopt.c setopt.h setup-os400.h setup-vms.h setup-win32.h sha256.c sigpipe.h slist.c slist.h smb.c smb.h smtp.c smtp.h sockaddr.h socketpair.c socketpair.h socks.c socks.h socks_gssapi.c socks_sspi.c splay.c splay.h strcase.c strcase.h strequal.c strerror.c strerror.h system_win32.c system_win32.h telnet.c telnet.h tftp.c tftp.h thrdpool.c thrdpool.h thrdqueue.c thrdqueue.h transfer.c transfer.h uint-bset.c uint-bset.h uint-hash.c uint-hash.h uint-spbset.c uint-spbset.h uint-table.c uint-table.h url.c url.h urlapi-int.h urlapi.c urldata.h version.c ws.c ws.h
m4 .gitignore curl-amissl.m4 curl-apple-sectrust.m4 curl-compilers.m4 curl-confopts.m4 curl-functions.m4 curl-gnutls.m4 curl-mbedtls.m4 curl-openssl.m4 curl-override.m4 curl-reentrant.m4 curl-rustls.m4 curl-schannel.m4 curl-sysconfig.m4 curl-wolfssl.m4 xc-am-iface.m4 xc-cc-check.m4 xc-lt-iface.m4 xc-val-flgs.m4 zz40-xc-ovr.m4 zz50-xc-ovr.m4
projects
OS400
rpg-examples HEADERAPI HTTPPOST INMEMORY SIMPLE1 SIMPLE2 SMTPSRCMBR
.checksrc README.OS400 ccsidcurl.c ccsidcurl.h config400.default curl.cmd curl.inc.in curlcl.c curlmain.c initscript.sh make-docs.sh make-include.sh make-lib.sh make-src.sh make-tests.sh makefile.sh os400sys.c os400sys.h
Windows
tmpl .gitattributes README.txt curl-all.sln curl.sln curl.vcxproj curl.vcxproj.filters libcurl.sln libcurl.vcxproj libcurl.vcxproj.filters
.gitignore README.md generate.bat
vms Makefile.am backup_gnv_curl_src.com build_curl-config_script.com build_gnv_curl.com build_gnv_curl_pcsi_desc.com build_gnv_curl_pcsi_text.com build_gnv_curl_release_notes.com build_libcurl_pc.com build_vms.com clean_gnv_curl.com compare_curl_source.com config_h.com curl_crtl_init.c curl_gnv_build_steps.txt curl_release_note_start.txt curl_startup.com curlmsg.h curlmsg.msg curlmsg.sdl curlmsg_vms.h generate_config_vms_h_curl.com generate_vax_transfer.com gnv_conftest.c_first gnv_curl_configure.sh gnv_libcurl_symbols.opt gnv_link_curl.com macro32_exactcase.patch make_gnv_curl_install.sh make_pcsi_curl_kit_name.com pcsi_gnv_curl_file_list.txt pcsi_product_gnv_curl.com readme report_openssl_version.c setup_gnv_curl_build.com stage_curl_install.com vms_eco_level.h
Makefile.am README.md
scripts .checksrc CMakeLists.txt Makefile.am badwords badwords-all badwords.txt cd2cd cd2nroff cdall checksrc-all.pl checksrc.pl cmakelint.sh completion.pl contributors.sh contrithanks.sh coverage.sh delta dmaketgz extract-unit-protos firefox-db2pem.sh installcheck.sh maketgz managen mdlinkcheck mk-ca-bundle.pl mk-unity.pl nroff2cd perlcheck.sh pythonlint.sh randdisable release-notes.pl release-tools.sh schemetable.c singleuse.pl spacecheck.pl top-complexity top-length verify-release wcurl
src
toolx tool_time.c tool_time.h
.checksrc .gitignore CMakeLists.txt Makefile.am Makefile.inc config2setopts.c config2setopts.h curl.rc curlinfo.c mk-file-embed.pl mkhelp.pl slist_wc.c slist_wc.h terminal.c terminal.h tool_cb_dbg.c tool_cb_dbg.h tool_cb_hdr.c tool_cb_hdr.h tool_cb_prg.c tool_cb_prg.h tool_cb_rea.c tool_cb_rea.h tool_cb_see.c tool_cb_see.h tool_cb_soc.c tool_cb_soc.h tool_cb_wrt.c tool_cb_wrt.h tool_cfgable.c tool_cfgable.h tool_dirhie.c tool_dirhie.h tool_doswin.c tool_doswin.h tool_easysrc.c tool_easysrc.h tool_filetime.c tool_filetime.h tool_findfile.c tool_findfile.h tool_formparse.c tool_formparse.h tool_getparam.c tool_getparam.h tool_getpass.c tool_getpass.h tool_help.c tool_help.h tool_helpers.c tool_helpers.h tool_hugehelp.h tool_ipfs.c tool_ipfs.h tool_libinfo.c tool_libinfo.h tool_listhelp.c tool_main.c tool_main.h tool_msgs.c tool_msgs.h tool_operate.c tool_operate.h tool_operhlp.c tool_operhlp.h tool_paramhlp.c tool_paramhlp.h tool_parsecfg.c tool_parsecfg.h tool_progress.c tool_progress.h tool_sdecls.h tool_setopt.c tool_setopt.h tool_setup.h tool_ssls.c tool_ssls.h tool_stderr.c tool_stderr.h tool_urlglob.c tool_urlglob.h tool_util.c tool_util.h tool_version.h tool_vms.c tool_vms.h tool_writeout.c tool_writeout.h tool_writeout_json.c tool_writeout_json.h tool_xattr.c tool_xattr.h var.c var.h
tests
certs .gitignore CMakeLists.txt Makefile.am Makefile.inc genserv.pl srp-verifier-conf srp-verifier-db test-ca.cnf test-ca.prm test-client-cert.prm test-client-eku-only.prm test-localhost-san-first.prm test-localhost-san-last.prm test-localhost.nn.prm test-localhost.prm test-localhost0h.prm
cmake CMakeLists.txt test.c test.cpp test.sh
data .gitignore DISABLED Makefile.am data-xml1 data1400.c data1401.c data1402.c data1403.c data1404.c data1405.c data1406.c data1407.c data1420.c data1461.txt data1463.txt data1465.c data1481.c data1705-1.md data1705-2.md data1705-3.md data1705-4.md data1705-stdout.1 data1706-1.md data1706-2.md data1706-3.md data1706-4.md data1706-stdout.txt data320.html test1 test10 test100 test1000 test1001 test1002 test1003 test1004 test1005 test1006 test1007 test1008 test1009 test101 test1010 test1011 test1012 test1013 test1014 test1015 test1016 test1017 test1018 test1019 test102 test1020 test1021 test1022 test1023 test1024 test1025 test1026 test1027 test1028 test1029 test103 test1030 test1031 test1032 test1033 test1034 test1035 test1036 test1037 test1038 test1039 test104 test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 test1048 test1049 test105 test1050 test1051 test1052 test1053 test1054 test1055 test1056 test1057 test1058 test1059 test106 test1060 test1061 test1062 test1063 test1064 test1065 test1066 test1067 test1068 test1069 test107 test1070 test1071 test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 test108 test1080 test1081 test1082 test1083 test1084 test1085 test1086 test1087 test1088 test1089 test109 test1090 test1091 test1092 test1093 test1094 test1095 test1096 test1097 test1098 test1099 test11 test110 test1100 test1101 test1102 test1103 test1104 test1105 test1106 test1107 test1108 test1109 test111 test1110 test1111 test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 test112 test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 test1128 test1129 test113 test1130 test1131 test1132 test1133 test1134 test1135 test1136 test1137 test1138 test1139 test114 test1140 test1141 test1142 test1143 test1144 test1145 test1146 test1147 test1148 test1149 test115 test1150 test1151 test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 test116 test1160 test1161 test1162 test1163 test1164 test1165 test1166 test1167 test1168 test1169 test117 test1170 test1171 test1172 test1173 test1174 test1175 test1176 test1177 test1178 test1179 test118 test1180 test1181 test1182 test1183 test1184 test1185 test1186 test1187 test1188 test1189 test119 test1190 test1191 test1192 test1193 test1194 test1195 test1196 test1197 test1198 test1199 test12 test120 test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 test1208 test1209 test121 test1210 test1211 test1212 test1213 test1214 test1215 test1216 test1217 test1218 test1219 test122 test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 test1228 test1229 test123 test1230 test1231 test1232 test1233 test1234 test1235 test1236 test1237 test1238 test1239 test124 test1240 test1241 test1242 test1243 test1244 test1245 test1246 test1247 test1248 test1249 test125 test1250 test1251 test1252 test1253 test1254 test1255 test1256 test1257 test1258 test1259 test126 test1260 test1261 test1262 test1263 test1264 test1265 test1266 test1267 test1268 test1269 test127 test1270 test1271 test1272 test1273 test1274 test1275 test1276 test1277 test1278 test1279 test128 test1280 test1281 test1282 test1283 test1284 test1285 test1286 test1287 test1288 test1289 test129 test1290 test1291 test1292 test1293 test1294 test1295 test1296 test1297 test1298 test1299 test13 test130 test1300 test1301 test1302 test1303 test1304 test1305 test1306 test1307 test1308 test1309 test131 test1310 test1311 test1312 test1313 test1314 test1315 test1316 test1317 test1318 test1319 test132 test1320 test1321 test1322 test1323 test1324 test1325 test1326 test1327 test1328 test1329 test133 test1330 test1331 test1332 test1333 test1334 test1335 test1336 test1337 test1338 test1339 test134 test1340 test1341 test1342 test1343 test1344 test1345 test1346 test1347 test1348 test1349 test135 test1350 test1351 test1352 test1353 test1354 test1355 test1356 test1357 test1358 test1359 test136 test1360 test1361 test1362 test1363 test1364 test1365 test1366 test1367 test1368 test1369 test137 test1370 test1371 test1372 test1373 test1374 test1375 test1376 test1377 test1378 test1379 test138 test1380 test1381 test1382 test1383 test1384 test1385 test1386 test1387 test1388 test1389 test139 test1390 test1391 test1392 test1393 test1394 test1395 test1396 test1397 test1398 test1399 test14 test140 test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 test1408 test1409 test141 test1410 test1411 test1412 test1413 test1414 test1415 test1416 test1417 test1418 test1419 test142 test1420 test1421 test1422 test1423 test1424 test1425 test1426 test1427 test1428 test1429 test143 test1430 test1431 test1432 test1433 test1434 test1435 test1436 test1437 test1438 test1439 test144 test1440 test1441 test1442 test1443 test1444 test1445 test1446 test1447 test1448 test1449 test145 test1450 test1451 test1452 test1453 test1454 test1455 test1456 test1457 test1458 test1459 test146 test1460 test1461 test1462 test1463 test1464 test1465 test1466 test1467 test1468 test1469 test147 test1470 test1471 test1472 test1473 test1474 test1475 test1476 test1477 test1478 test1479 test148 test1480 test1481 test1482 test1483 test1484 test1485 test1486 test1487 test1488 test1489 test149 test1490 test1491 test1492 test1493 test1494 test1495 test1496 test1497 test1498 test1499 test15 test150 test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 test1508 test1509 test151 test1510 test1511 test1512 test1513 test1514 test1515 test1516 test1517 test1518 test1519 test152 test1520 test1521 test1522 test1523 test1524 test1525 test1526 test1527 test1528 test1529 test153 test1530 test1531 test1532 test1533 test1534 test1535 test1536 test1537 test1538 test1539 test154 test1540 test1541 test1542 test1543 test1544 test1545 test1546 test1547 test1548 test1549 test155 test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 test1558 test1559 test156 test1560 test1561 test1562 test1563 test1564 test1565 test1566 test1567 test1568 test1569 test157 test1570 test1571 test1572 test1573 test1574 test1575 test1576 test1577 test1578 test1579 test158 test1580 test1581 test1582 test1583 test1584 test1585 test1586 test1587 test1588 test1589 test159 test1590 test1591 test1592 test1593 test1594 test1595 test1596 test1597 test1598 test1599 test16 test160 test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 test1608 test1609 test161 test1610 test1611 test1612 test1613 test1614 test1615 test1616 test1617 test1618 test1619 test162 test1620 test1621 test1622 test1623 test1624 test1625 test1626 test1627 test1628 test1629 test163 test1630 test1631 test1632 test1633 test1634 test1635 test1636 test1637 test1638 test1639 test164 test1640 test1641 test1642 test1643 test1644 test1645 test165 test1650 test1651 test1652 test1653 test1654 test1655 test1656 test1657 test1658 test1659 test166 test1660 test1661 test1662 test1663 test1664 test1665 test1666 test1667 test1668 test1669 test167 test1670 test1671 test1672 test1673 test1674 test1675 test1676 test168 test1680 test1681 test1682 test1683 test1684 test1685 test169 test17 test170 test1700 test1701 test1702 test1703 test1704 test1705 test1706 test1707 test1708 test1709 test171 test1710 test1711 test1712 test1713 test1714 test1715 test172 test1720 test1721 test173 test174 test175 test176 test177 test178 test179 test18 test180 test1800 test1801 test1802 test181 test182 test183 test184 test1847 test1848 test1849 test185 test1850 test1851 test186 test187 test188 test189 test19 test190 test1900 test1901 test1902 test1903 test1904 test1905 test1906 test1907 test1908 test1909 test191 test1910 test1911 test1912 test1913 test1914 test1915 test1916 test1917 test1918 test1919 test192 test1920 test1921 test193 test1933 test1934 test1935 test1936 test1937 test1938 test1939 test194 test1940 test1941 test1942 test1943 test1944 test1945 test1946 test1947 test1948 test195 test1955 test1956 test1957 test1958 test1959 test196 test1960 test1964 test1965 test1966 test197 test1970 test1971 test1972 test1973 test1974 test1975 test1976 test1977 test1978 test1979 test198 test1980 test1981 test1982 test1983 test1984 test199 test2 test20 test200 test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 test2008 test2009 test201 test2010 test2011 test2012 test2013 test2014 test202 test2023 test2024 test2025 test2026 test2027 test2028 test2029 test203 test2030 test2031 test2032 test2033 test2034 test2035 test2037 test2038 test2039 test204 test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 test2048 test2049 test205 test2050 test2051 test2052 test2053 test2054 test2055 test2056 test2057 test2058 test2059 test206 test2060 test2061 test2062 test2063 test2064 test2065 test2066 test2067 test2068 test2069 test207 test2070 test2071 test2072 test2073 test2074 test2075 test2076 test2077 test2078 test2079 test208 test2080 test2081 test2082 test2083 test2084 test2085 test2086 test2087 test2088 test2089 test209 test2090 test2091 test2092 test21 test210 test2100 test2101 test2102 test2103 test2104 test211 test212 test213 test214 test215 test216 test217 test218 test219 test22 test220 test2200 test2201 test2202 test2203 test2204 test2205 test2206 test2207 test221 test222 test223 test224 test225 test226 test227 test228 test229 test23 test230 test2300 test2301 test2302 test2303 test2304 test2306 test2307 test2308 test2309 test231 test232 test233 test234 test235 test236 test237 test238 test239 test24 test240 test2400 test2401 test2402 test2403 test2404 test2405 test2406 test2407 test2408 test2409 test241 test2410 test2411 test242 test243 test244 test245 test246 test247 test248 test249 test25 test250 test2500 test2501 test2502 test2503 test2504 test2505 test2506 test251 test252 test253 test254 test255 test256 test257 test258 test259 test26 test260 test2600 test2601 test2602 test2603 test2604 test2605 test261 test262 test263 test264 test265 test266 test267 test268 test269 test27 test270 test2700 test2701 test2702 test2703 test2704 test2705 test2706 test2707 test2708 test2709 test271 test2710 test2711 test2712 test2713 test2714 test2715 test2716 test2717 test2718 test2719 test272 test2720 test2721 test2722 test2723 test273 test274 test275 test276 test277 test278 test279 test28 test280 test281 test282 test283 test284 test285 test286 test287 test288 test289 test29 test290 test291 test292 test293 test294 test295 test296 test297 test298 test299 test3 test30 test300 test3000 test3001 test3002 test3003 test3004 test3005 test3006 test3007 test3008 test3009 test301 test3010 test3011 test3012 test3013 test3014 test3015 test3016 test3017 test3018 test3019 test302 test3020 test3021 test3022 test3023 test3024 test3025 test3026 test3027 test3028 test3029 test303 test3030 test3031 test3032 test3033 test3034 test3035 test3036 test304 test305 test306 test307 test308 test309 test31 test310 test3100 test3101 test3102 test3103 test3104 test3105 test3106 test311 test312 test313 test314 test315 test316 test317 test318 test319 test32 test320 test3200 test3201 test3202 test3203 test3204 test3205 test3206 test3207 test3208 test3209 test321 test3210 test3211 test3212 test3213 test3214 test3215 test3216 test3217 test3218 test3219 test322 test3220 test323 test324 test325 test326 test327 test328 test329 test33 test330 test3300 test3301 test3302 test331 test332 test333 test334 test335 test336 test337 test338 test339 test34 test340 test341 test342 test343 test344 test345 test346 test347 test348 test349 test35 test350 test351 test352 test353 test354 test355 test356 test357 test358 test359 test36 test360 test361 test362 test363 test364 test365 test366 test367 test368 test369 test37 test370 test371 test372 test373 test374 test375 test376 test378 test379 test38 test380 test381 test383 test384 test385 test386 test387 test388 test389 test39 test390 test391 test392 test393 test394 test395 test396 test397 test398 test399 test4 test40 test400 test4000 test4001 test401 test402 test403 test404 test405 test406 test407 test408 test409 test41 test410 test411 test412 test413 test414 test415 test416 test417 test418 test419 test42 test420 test421 test422 test423 test424 test425 test426 test427 test428 test429 test43 test430 test431 test432 test433 test434 test435 test436 test437 test438 test439 test44 test440 test441 test442 test443 test444 test445 test446 test447 test448 test449 test45 test450 test451 test452 test453 test454 test455 test456 test457 test458 test459 test46 test460 test461 test462 test463 test467 test468 test469 test47 test470 test471 test472 test473 test474 test475 test476 test477 test478 test479 test48 test480 test481 test482 test483 test484 test485 test486 test487 test488 test489 test49 test490 test491 test492 test493 test494 test495 test496 test497 test498 test499 test5 test50 test500 test501 test502 test503 test504 test505 test506 test507 test508 test509 test51 test510 test511 test512 test513 test514 test515 test516 test517 test518 test519 test52 test520 test521 test522 test523 test524 test525 test526 test527 test528 test529 test53 test530 test531 test532 test533 test534 test535 test536 test537 test538 test539 test54 test540 test541 test542 test543 test544 test545 test546 test547 test548 test549 test55 test550 test551 test552 test553 test554 test555 test556 test557 test558 test559 test56 test560 test561 test562 test563 test564 test565 test566 test567 test568 test569 test57 test570 test571 test572 test573 test574 test575 test576 test577 test578 test579 test58 test580 test581 test582 test583 test584 test585 test586 test587 test588 test589 test59 test590 test591 test592 test593 test594 test595 test596 test597 test598 test599 test6 test60 test600 test601 test602 test603 test604 test605 test606 test607 test608 test609 test61 test610 test611 test612 test613 test614 test615 test616 test617 test618 test619 test62 test620 test621 test622 test623 test624 test625 test626 test627 test628 test629 test63 test630 test631 test632 test633 test634 test635 test636 test637 test638 test639 test64 test640 test641 test642 test643 test644 test645 test646 test647 test648 test649 test65 test650 test651 test652 test653 test654 test655 test656 test658 test659 test66 test660 test661 test662 test663 test664 test665 test666 test667 test668 test669 test67 test670 test671 test672 test673 test674 test675 test676 test677 test678 test679 test68 test680 test681 test682 test683 test684 test685 test686 test687 test688 test689 test69 test690 test691 test692 test693 test694 test695 test696 test697 test698 test699 test7 test70 test700 test701 test702 test703 test704 test705 test706 test707 test708 test709 test71 test710 test711 test712 test713 test714 test715 test716 test717 test718 test719 test72 test720 test721 test722 test723 test724 test725 test726 test727 test728 test729 test73 test730 test731 test732 test733 test734 test735 test736 test737 test738 test739 test74 test740 test741 test742 test743 test744 test745 test746 test747 test748 test749 test75 test750 test751 test752 test753 test754 test755 test756 test757 test758 test759 test76 test760 test761 test762 test763 test764 test765 test766 test767 test768 test769 test77 test770 test771 test772 test773 test774 test775 test776 test777 test778 test779 test78 test780 test781 test782 test783 test784 test785 test786 test787 test788 test789 test79 test790 test791 test792 test793 test794 test795 test796 test797 test798 test799 test8 test80 test800 test801 test802 test803 test804 test805 test806 test807 test808 test809 test81 test810 test811 test812 test813 test814 test815 test816 test817 test818 test819 test82 test820 test821 test822 test823 test824 test825 test826 test827 test828 test829 test83 test830 test831 test832 test833 test834 test835 test836 test837 test838 test839 test84 test840 test841 test842 test843 test844 test845 test846 test847 test848 test849 test85 test850 test851 test852 test853 test854 test855 test856 test857 test858 test859 test86 test860 test861 test862 test863 test864 test865 test866 test867 test868 test869 test87 test870 test871 test872 test873 test874 test875 test876 test877 test878 test879 test88 test880 test881 test882 test883 test884 test885 test886 test887 test888 test889 test89 test890 test891 test892 test893 test894 test895 test896 test897 test898 test899 test9 test90 test900 test901 test902 test903 test904 test905 test906 test907 test908 test909 test91 test910 test911 test912 test913 test914 test915 test916 test917 test918 test919 test92 test920 test921 test922 test923 test924 test925 test926 test927 test928 test929 test93 test930 test931 test932 test933 test934 test935 test936 test937 test938 test939 test94 test940 test941 test942 test943 test944 test945 test946 test947 test948 test949 test95 test950 test951 test952 test953 test954 test955 test956 test957 test958 test959 test96 test960 test961 test962 test963 test964 test965 test966 test967 test968 test969 test97 test970 test971 test972 test973 test974 test975 test976 test977 test978 test979 test98 test980 test981 test982 test983 test984 test985 test986 test987 test988 test989 test99 test990 test991 test992 test993 test994 test995 test996 test997 test998 test999
http
testenv
mod_curltest .gitignore mod_curltest.c
__init__.py caddy.py certs.py client.py curl.py dante.py dnsd.py env.py httpd.py nghttpx.py ports.py sshd.py vsftpd.py ws_echo_server.py
.gitignore CMakeLists.txt Makefile.am config.ini.in conftest.py requirements.txt scorecard.py test_01_basic.py test_02_download.py test_03_goaway.py test_04_stuttered.py test_05_errors.py test_06_eyeballs.py test_07_upload.py test_08_caddy.py test_09_push.py test_10_proxy.py test_11_unix.py test_12_reuse.py test_13_proxy_auth.py test_14_auth.py test_15_tracing.py test_16_info.py test_17_ssl_use.py test_18_methods.py test_19_shutdown.py test_20_websockets.py test_21_resolve.py test_22_httpsrr.py test_30_vsftpd.py test_31_vsftpds.py test_32_ftps_vsftpd.py test_40_socks.py test_50_scp.py test_51_sftp.py
libtest .gitignore CMakeLists.txt Makefile.am Makefile.inc cli_ftp_upload.c cli_h2_pausing.c cli_h2_serverpush.c cli_h2_upgrade_extreme.c cli_hx_download.c cli_hx_upload.c cli_tls_session_reuse.c cli_upload_pausing.c cli_ws_data.c cli_ws_pingpong.c first.c first.h lib1156.c lib1301.c lib1308.c lib1485.c lib1500.c lib1501.c lib1502.c lib1506.c lib1507.c lib1508.c lib1509.c lib1510.c lib1511.c lib1512.c lib1513.c lib1514.c lib1515.c lib1517.c lib1518.c lib1520.c lib1522.c lib1523.c lib1525.c lib1526.c lib1527.c lib1528.c lib1529.c lib1530.c lib1531.c lib1532.c lib1533.c lib1534.c lib1535.c lib1536.c lib1537.c lib1538.c lib1540.c lib1541.c lib1542.c lib1545.c lib1549.c lib1550.c lib1551.c lib1552.c lib1553.c lib1554.c lib1555.c lib1556.c lib1557.c lib1558.c lib1559.c lib1560.c lib1564.c lib1565.c lib1567.c lib1568.c lib1569.c lib1571.c lib1576.c lib1582.c lib1587.c lib1588.c lib1589.c lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1662.c lib1900.c lib1901.c lib1902.c lib1903.c lib1905.c lib1906.c lib1907.c lib1908.c lib1910.c lib1911.c lib1912.c lib1913.c lib1915.c lib1916.c lib1918.c lib1919.c lib1920.c lib1921.c lib1933.c lib1934.c lib1935.c lib1936.c lib1937.c lib1938.c lib1939.c lib1940.c lib1945.c lib1947.c lib1948.c lib1955.c lib1956.c lib1957.c lib1958.c lib1959.c lib1960.c lib1964.c lib1965.c lib1970.c lib1971.c lib1972.c lib1973.c lib1974.c lib1975.c lib1977.c lib1978.c lib2023.c lib2032.c lib2082.c lib2301.c lib2302.c lib2304.c lib2306.c lib2308.c lib2309.c lib2402.c lib2404.c lib2405.c lib2502.c lib2504.c lib2505.c lib2506.c lib2700.c lib3010.c lib3025.c lib3026.c lib3027.c lib3033.c lib3034.c lib3100.c lib3101.c lib3102.c lib3103.c lib3104.c lib3105.c lib3207.c lib3208.c lib500.c lib501.c lib502.c lib503.c lib504.c lib505.c lib506.c lib507.c lib508.c lib509.c lib510.c lib511.c lib512.c lib513.c lib514.c lib515.c lib516.c lib517.c lib518.c lib519.c lib520.c lib521.c lib523.c lib524.c lib525.c lib526.c lib530.c lib533.c lib536.c lib537.c lib539.c lib540.c lib541.c lib542.c lib543.c lib544.c lib547.c lib549.c lib552.c lib553.c lib554.c lib555.c lib556.c lib557.c lib558.c lib559.c lib560.c lib562.c lib564.c lib566.c lib567.c lib568.c lib569.c lib570.c lib571.c lib572.c lib573.c lib574.c lib575.c lib576.c lib578.c lib579.c lib582.c lib583.c lib586.c lib589.c lib590.c lib591.c lib597.c lib598.c lib599.c lib643.c lib650.c lib651.c lib652.c lib653.c lib654.c lib655.c lib658.c lib659.c lib661.c lib666.c lib667.c lib668.c lib670.c lib674.c lib676.c lib677.c lib678.c lib694.c lib695.c lib751.c lib753.c lib757.c lib758.c lib766.c memptr.c mk-lib1521.pl test1013.pl test1022.pl test307.pl test610.pl test613.pl testtrace.c testtrace.h testutil.c testutil.h unitcheck.h
server .checksrc .gitignore CMakeLists.txt Makefile.am Makefile.inc dnsd.c first.c first.h getpart.c mqttd.c resolve.c rtspd.c sockfilt.c socksd.c sws.c tftpd.c util.c
tunit .gitignore CMakeLists.txt Makefile.am Makefile.inc README.md tool1394.c tool1604.c tool1621.c tool1622.c tool1623.c tool1720.c
unit .gitignore CMakeLists.txt Makefile.am Makefile.inc README.md unit1300.c unit1302.c unit1303.c unit1304.c unit1305.c unit1307.c unit1309.c unit1323.c unit1330.c unit1395.c unit1396.c unit1397.c unit1398.c unit1399.c unit1600.c unit1601.c unit1602.c unit1603.c unit1605.c unit1606.c unit1607.c unit1608.c unit1609.c unit1610.c unit1611.c unit1612.c unit1614.c unit1615.c unit1616.c unit1620.c unit1625.c unit1626.c unit1627.c unit1636.c unit1650.c unit1651.c unit1652.c unit1653.c unit1654.c unit1655.c unit1656.c unit1657.c unit1658.c unit1660.c unit1661.c unit1663.c unit1664.c unit1666.c unit1667.c unit1668.c unit1669.c unit1674.c unit1675.c unit1676.c unit1979.c unit1980.c unit2600.c unit2601.c unit2602.c unit2603.c unit2604.c unit2605.c unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.c unit3216.c unit3219.c unit3300.c unit3301.c unit3302.c
.gitignore CMakeLists.txt Makefile.am allversions.pm appveyor.pm azure.pm config.in configurehelp.pm.in devtest.pl dictserver.py directories.pm ech_combos.py ech_tests.sh ftpserver.pl getpart.pm globalconfig.pm http-server.pl http2-server.pl http3-server.pl memanalyze.pl memanalyzer.pm negtelnetserver.py nghttpx.conf pathhelp.pm processhelp.pm requirements.txt rtspserver.pl runner.pm runtests.pl secureserver.pl serverhelp.pm servers.pm smbserver.py sshhelp.pm sshserver.pl test1119.pl test1135.pl test1139.pl test1140.pl test1165.pl test1167.pl test1173.pl test1175.pl test1177.pl test1222.pl test1275.pl test1276.pl test1477.pl test1486.pl test1488.pl test1544.pl test1707.pl test745.pl test971.pl testcurl.pl testutil.pm tftpserver.pl util.py valgrind.pm valgrind.supp
.clang-tidy.yml .dir-locals.el .editorconfig .git-blame-ignore-revs .gitattributes .gitignore .mailmap CHANGES.md CMakeLists.txt COPYING Dockerfile GIT-INFO.md Makefile.am README README.md RELEASE-NOTES REUSE.toml SECURITY.md acinclude.m4 appveyor.sh appveyor.yml configure.ac curl-config.in libcurl.pc.in renovate.json
examples .env config.ini crypto_test.lua env_test.lua fs_example.lua http_server.lua https_test.lua ini_example.lua json.lua log.lua path_fs_example.lua process_example.lua request_download.lua request_test.lua run_all.lua sqlite_example.lua sqlite_http_template.lua stash_test.lua template_test.lua timer.lua websocket.lua
iniparser
.github
ISSUE_TEMPLATE config.yml
workflows disable-pull-requests.yml trigger-gitlab-ci.yml
cmake JoinPaths.cmake config.cmake.in pc.in
example iniexample.c iniwrite.c parse.c twisted-errors.ini twisted-genhuge.py twisted-ofkey.ini twisted-ofval.ini twisted.ini
src dictionary.c dictionary.h iniparser.c iniparser.h
test
ressources
bad_ini ends_well.ini twisted-errors.ini twisted-ofkey.ini twisted-ofval.ini
good_ini empty.ini spaced.ini spaced2.ini twisted.ini
gruezi.ini old.ini quotes.ini utf8.ini
CMakeLists.txt test_dictionary.c test_iniparser.c unity-config.yml unity_config.h
.cmake-format.py .gitignore .gitlab-ci.yml .gitmessage .travis.yml AUTHORS CMakeLists.txt FAQ-en.md FAQ-zhcn.md INSTALL LICENSE README.md compile_commands.json
jinjac
example CMakeLists.txt example.c
jinjac_test_app CMakeLists.txt jinjac_test_app.c
libjinjac
include jinjac.h
src CMakeLists.txt ast.c ast.h block_statement.c block_statement.h buffer.c buffer.h buildin.c buildin.h common.h convert.c convert.h flex_decl.h jfunction.c jfunction.h jinja_expression.l jinja_expression.y jinjac_parse.c jinjac_parse.h jinjac_stream.c jinjac_stream.h jlist.c jlist.h jobject.c jobject.h parameter.c parameter.h str_obj.c str_obj.h trace.c trace.h
CMakeLists.txt
test .gitignore CMakeLists.txt autotest.rb test_01.expected test_01.jinja test_01b.expected test_01b.jinja test_01c.expected test_01c.jinja test_01d.expected test_01d.jinja test_02.expected test_02.jinja test_03.expected test_03.jinja test_04.expected test_04.jinja test_05.expected test_05.jinja test_06.expected test_06.jinja test_07.expected test_07.jinja test_08.expected test_08.jinja test_08b.expected test_08b.jinja test_09.expected test_09.jinja test_10.expected test_10.jinja test_11.expected test_11.jinja test_12.expected test_12.jinja test_13.expected test_13.jinja test_14.expected test_14.jinja test_15.expected test_15.jinja test_16.expected test_16.jinja test_17.expected test_17.jinja test_18.expected test_18.jinja test_18b.expected test_18b.jinja test_18c.expected test_18c.jinja test_19.expected test_19.jinja test_19b.expected test_19b.jinja test_19c.expected test_19c.jinja test_19d.expected test_19d.jinja test_19e.expected test_19e.jinja test_19f.expected test_19f.jinja test_20.expected test_20.jinja test_21.expected test_21.jinja test_22.expected test_22.jinja test_22a.expected test_22a.jinja test_22b.expected test_22b.jinja test_23.expected test_23.jinja test_24.expected test_24.jinja
.gitignore CMakeLists.txt LICENSE.txt README.md build_coverage.sh build_debug.sh build_release.sh cppcheck_analysis.sh
libev Changes LICENSE Makefile Makefile.am Makefile.in README Symbols.ev Symbols.event aclocal.m4 autogen.sh compile config.guess config.h config.h.in config.status config.sub configure configure.ac depcomp ev++.h ev.3 ev.c ev.h ev.pod ev_epoll.c ev_kqueue.c ev_poll.c ev_port.c ev_select.c ev_vars.h ev_win32.c ev_wrap.h event.c event.h install-sh libev.m4 libtool ltmain.sh missing mkinstalldirs stamp-h1
luajit
doc
img contact.png
bluequad-print.css bluequad.css contact.html ext_buffer.html ext_c_api.html ext_ffi.html ext_ffi_api.html ext_ffi_semantics.html ext_ffi_tutorial.html ext_jit.html ext_profiler.html extensions.html install.html luajit.html running.html
dynasm dasm_arm.h dasm_arm.lua dasm_arm64.h dasm_arm64.lua dasm_mips.h dasm_mips.lua dasm_mips64.lua dasm_ppc.h dasm_ppc.lua dasm_proto.h dasm_x64.lua dasm_x86.h dasm_x86.lua dynasm.lua
etc luajit.1 luajit.pc
src
host .gitignore README buildvm.c buildvm.h buildvm_asm.c buildvm_fold.c buildvm_lib.c buildvm_libbc.h buildvm_peobj.c genlibbc.lua genminilua.lua genversion.lua minilua.c
jit .gitignore bc.lua bcsave.lua dis_arm.lua dis_arm64.lua dis_arm64be.lua dis_mips.lua dis_mips64.lua dis_mips64el.lua dis_mips64r6.lua dis_mips64r6el.lua dis_mipsel.lua dis_ppc.lua dis_x64.lua dis_x86.lua dump.lua p.lua v.lua zone.lua
.gitignore Makefile Makefile.dep lauxlib.h lib_aux.c lib_base.c lib_bit.c lib_buffer.c lib_debug.c lib_ffi.c lib_init.c lib_io.c lib_jit.c lib_math.c lib_os.c lib_package.c lib_string.c lib_table.c lj_alloc.c lj_alloc.h lj_api.c lj_arch.h lj_asm.c lj_asm.h lj_asm_arm.h lj_asm_arm64.h lj_asm_mips.h lj_asm_ppc.h lj_asm_x86.h lj_assert.c lj_bc.c lj_bc.h lj_bcdump.h lj_bcread.c lj_bcwrite.c lj_buf.c lj_buf.h lj_carith.c lj_carith.h lj_ccall.c lj_ccall.h lj_ccallback.c lj_ccallback.h lj_cconv.c lj_cconv.h lj_cdata.c lj_cdata.h lj_char.c lj_char.h lj_clib.c lj_clib.h lj_cparse.c lj_cparse.h lj_crecord.c lj_crecord.h lj_ctype.c lj_ctype.h lj_debug.c lj_debug.h lj_def.h lj_dispatch.c lj_dispatch.h lj_emit_arm.h lj_emit_arm64.h lj_emit_mips.h lj_emit_ppc.h lj_emit_x86.h lj_err.c lj_err.h lj_errmsg.h lj_ff.h lj_ffrecord.c lj_ffrecord.h lj_frame.h lj_func.c lj_func.h lj_gc.c lj_gc.h lj_gdbjit.c lj_gdbjit.h lj_ir.c lj_ir.h lj_ircall.h lj_iropt.h lj_jit.h lj_lex.c lj_lex.h lj_lib.c lj_lib.h lj_load.c lj_mcode.c lj_mcode.h lj_meta.c lj_meta.h lj_obj.c lj_obj.h lj_opt_dce.c lj_opt_fold.c lj_opt_loop.c lj_opt_mem.c lj_opt_narrow.c lj_opt_sink.c lj_opt_split.c lj_parse.c lj_parse.h lj_prng.c lj_prng.h lj_profile.c lj_profile.h lj_record.c lj_record.h lj_serialize.c lj_serialize.h lj_snap.c lj_snap.h lj_state.c lj_state.h lj_str.c lj_str.h lj_strfmt.c lj_strfmt.h lj_strfmt_num.c lj_strscan.c lj_strscan.h lj_tab.c lj_tab.h lj_target.h lj_target_arm.h lj_target_arm64.h lj_target_mips.h lj_target_ppc.h lj_target_x86.h lj_trace.c lj_trace.h lj_traceerr.h lj_udata.c lj_udata.h lj_vm.h lj_vmevent.c lj_vmevent.h lj_vmmath.c ljamalg.c lua.h lua.hpp luaconf.h luajit.c luajit_rolling.h lualib.h msvcbuild.bat nxbuild.bat ps4build.bat ps5build.bat psvitabuild.bat vm_arm.dasc vm_arm64.dasc vm_mips.dasc vm_mips64.dasc vm_ppc.dasc vm_x64.dasc vm_x86.dasc xb1build.bat xedkbuild.bat
.gitattributes .gitignore .relver COPYRIGHT Makefile README
sqlite shell.c sqlite3.c sqlite3.h sqlite3ext.h
wolfssl
.github
ISSUE_TEMPLATE bug_report.yaml other.yaml
actions
install-apt-deps action.yml
scripts
zephyr-4.x external_libc.conf zephyr-test.sh
openssl-ech.sh tls-anvil-test.sh
workflows
disabled haproxy.yml hitch.yml hostap.yml
hostap-files
configs
07c9f183ea744ac04585fb6dd10220c75a5e2e74 hostapd.config tests wpa_supplicant.config
b607d2723e927a3446d89aed813f1aa6068186bb hostapd.config tests wpa_supplicant.config
hostap_2_10 extra.patch hostapd.config tests wpa_supplicant.config
Makefile README dbus-wpa_supplicant.conf
ada.yml arduino.yml async-examples.yml async.yml atecc608-sim.yml bind.yml cmake-autoconf.yml cmake.yml codespell.yml coverity-scan-fixes.yml cryptocb-only.yml curl.yml cyrus-sasl.yml disable-pk-algs.yml docker-Espressif.yml docker-OpenWrt.yml emnet-nonblock.yml fil-c.yml freertos-mem-track.yml gencertbuf.yml grpc.yml haproxy.yml hostap-vm.yml intelasm-c-fallback.yml ipmitool.yml jwt-cpp.yml krb5.yml libspdm.yml libssh2.yml libvncserver.yml linuxkm.yml macos-apple-native-cert-validation.yml mbedtls.sh mbedtls.yml membrowse-comment.yml membrowse-onboard.yml membrowse-report.yml memcached.sh memcached.yml mono.yml mosquitto.yml msmtp.yml msys2.yml multi-arch.yml multi-compiler.yml net-snmp.yml nginx.yml no-malloc.yml no-tls.yml nss.sh nss.yml ntp.yml ocsp.yml openldap.yml openssh.yml openssl-ech.yml opensslcoexist.yml openvpn.yml os-check.yml packaging.yml pam-ipmi.yml pq-all.yml pr-commit-check.yml psk.yml puf.yml python.yml rng-tools.yml rust-wrapper.yml se050-sim.yml smallStackSize.yml socat.yml softhsm.yml sssd.yml stm32-sim.yml stsafe-a120-sim.yml stunnel.yml symbol-prefixes.yml threadx.yml tls-anvil.yml trackmemory.yml watcomc.yml win-csharp-test.yml wolfCrypt-Wconversion.yml wolfboot-integration.yml wolfsm.yml xcode.yml zephyr-4.x.yml zephyr.yml
PULL_REQUEST_TEMPLATE.md SECURITY.md membrowse-targets.json
Docker
OpenWrt Dockerfile README.md runTests.sh
packaging
debian Dockerfile
fedora Dockerfile
wolfCLU Dockerfile README.md
yocto Dockerfile buildAndPush.sh
Dockerfile Dockerfile.cross-compiler README.md buildAndPush.sh include.am run.sh
IDE
ARDUINO
sketches
wolfssl_client README.md
wolfssl_server README.md
wolfssl_version README.md
README.md
Arduino_README_prepend.md README.md include.am keywords.txt library.properties.template wolfssl-arduino.cpp wolfssl-arduino.sh wolfssl.h
AURIX Cpu0_Main.c README.md include.am user_settings.h wolf_main.c
Android Android.bp README.md include.am user_settings.h
CRYPTOCELL README.md include.am main.c user_settings.h
CSBENCH include.am user_settings.h
ECLIPSE
DEOS
deos_wolfssl .options
README.md deos_malloc.c include.am tls_wolfssl.c tls_wolfssl.h user_settings.h
MICRIUM README.md client_wolfssl.c client_wolfssl.h include.am server_wolfssl.c server_wolfssl.h user_settings.h wolfsslRunTests.c
RTTHREAD README.md include.am user_settings.h wolfssl_test.c
SIFIVE README.md include.am
Espressif
ESP-IDF
examples
template
VisualGDB wolfssl_template_IDF_v5.1_ESP32.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h
CMakeLists.txt Kconfig.projbuild component.mk main.c
CMakeLists.txt Makefile README.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp8266
wolfssl_benchmark
VisualGDB wolfssl_benchmark_IDF_v4.4_ESP32.sln wolfssl_benchmark_IDF_v4.4_ESP32.vgdbproj wolfssl_benchmark_IDF_v5_ESP32.sln wolfssl_benchmark_IDF_v5_ESP32.vgdbproj wolfssl_benchmark_IDF_v5_ESP32C3.sln wolfssl_benchmark_IDF_v5_ESP32C3.vgdbproj wolfssl_benchmark_IDF_v5_ESP32S3.sln wolfssl_benchmark_IDF_v5_ESP32S3.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h
CMakeLists.txt Kconfig.projbuild component.mk main.c
CMakeLists.txt Makefile README.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp8266
wolfssl_client
VisualGDB README.md wolfssl_client_IDF_v5_ESP32.sln wolfssl_client_IDF_v5_ESP32.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include client-tls.h main.h time_helper.h wifi_connect.h
CMakeLists.txt Kconfig.projbuild client-tls.c component.mk main.c time_helper.c wifi_connect.c
CMakeLists.txt Makefile README.md README_server_sm.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp32c2 sdkconfig.defaults.esp8266 wolfssl_client_ESP8266.vgdbproj
wolfssl_server
VisualGDB README.md wolfssl_server_IDF_v5_ESP32.sln wolfssl_server_IDF_v5_ESP32.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h server-tls.h time_helper.h wifi_connect.h
CMakeLists.txt Kconfig.projbuild component.mk main.c server-tls.c time_helper.c wifi_connect.c
CMakeLists.txt Makefile README.md README_server_sm.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp32c2 sdkconfig.defaults.esp8266 wolfssl_server_ESP8266.vgdbproj
wolfssl_test
VisualGDB wolfssl_test-IDF_v5_ESP32.sln wolfssl_test-IDF_v5_ESP32.vgdbproj wolfssl_test-IDF_v5_ESP32C3.sln wolfssl_test-IDF_v5_ESP32C3.vgdbproj wolfssl_test-IDF_v5_ESP32C6.sln wolfssl_test-IDF_v5_ESP32C6.vgdbproj wolfssl_test_IDF_v5_ESP32S3.sln wolfssl_test_IDF_v5_ESP32S3.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h
CMakeLists.txt Kconfig.projbuild component.mk main.c
CMakeLists.txt Makefile README.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp32 sdkconfig.defaults.esp32c3 sdkconfig.defaults.esp32c6 sdkconfig.defaults.esp32h2 sdkconfig.defaults.esp32s2 sdkconfig.defaults.esp32s3 sdkconfig.defaults.esp8266 testAll.sh testMonitor.sh wolfssl_test_ESP8266.sln wolfssl_test_ESP8266.vgdbproj
wolfssl_test_idf
VisualGDB VisualGDB_wolfssl_test_idf.sln VisualGDB_wolfssl_test_idf.vgdbproj
main CMakeLists.txt Kconfig.projbuild component.mk main.c main_wip.c.ex time_helper.c time_helper.h
CMakeLists.txt Kconfig.projbuild README.md component.mk sdkconfig.defaults
README.md
libs CMakeLists.txt README.md component.mk tigard.cfg
test CMakeLists.txt README.md component.mk test_wolfssl.c
README.md README_32se.md UPDATE.md compileAllExamples.sh dummy_config_h dummy_test_paths.h setup.sh setup_win.bat user_settings.h
README.md include.am
GCC-ARM
Header user_settings.h
Source armtarget.c benchmark_main.c test_main.c tls_client.c tls_server.c wolf_main.c
Makefile Makefile.bench Makefile.client Makefile.common Makefile.server Makefile.static Makefile.test README.md include.am linker.ld linker_fips.ld
Gaisler-BCC README.md include.am
HEXAGON
DSP Makefile wolfssl_dsp.idl
Makefile README.md build.sh ecc-verify-benchmark.c ecc-verify.c include.am user_settings.h
HEXIWEAR
wolfSSL_HW .cwGeneratedFileSetLog user_settings.h
IAR-EWARM
Projects
benchmark benchmark-main.c current_time.c wolfCrypt-benchmark.ewd wolfCrypt-benchmark.ewp
common minimum-startup.c wolfssl.icf
lib wolfSSL-Lib.ewd wolfSSL-Lib.ewp
test test-main.c wolfCrypt-test.ewd wolfCrypt-test.ewp
user_settings.h wolfssl.eww
embOS
SAMV71_XULT
embOS_SAMV71_XULT_Linker_Script samv71q21_wolfssl.icf
embOS_SAMV71_XULT_user_settings user_settings.h user_settings_simple_example.h user_settings_verbose_example.h
embOS_wolfcrypt_benchmark_SAMV71_XULT
Application runBenchmarks.c
README_wolfcrypt_benchmark wolfcrypt_benchmark.ewd wolfcrypt_benchmark.ewp
embOS_wolfcrypt_lib_SAMV71_XULT README_wolfcrypt_lib wolfcrypt_lib.ewd wolfcrypt_lib.ewp
embOS_wolfcrypt_test_SAMV71_XULT
Application runWolfcryptTests.c
README_wolfcrypt_test wolfcrypt_test.ewd wolfcrypt_test.ewp
README_SAMV71
custom_port
custom_port_Linker_Script samv71q21_wolfssl.icf
custom_port_user_settings user_settings.h
wolfcrypt_benchmark_custom_port
Application runBenchmarks.c
wolfcrypt_test_custom_port
Application runWolfcryptTests.c
README_custom_port
extract_trial_here README_extract_trial_here
README
.gitignore README
IAR-MSP430 Makefile README.md include.am main.c user_settings.h
INTIME-RTOS Makefile README.md include.am libwolfssl.c libwolfssl.vcxproj user_settings.h wolfExamples.c wolfExamples.h wolfExamples.sln wolfExamples.vcxproj wolfssl-lib.sln wolfssl-lib.vcxproj
Infineon README.md include.am user_settings.h
KDS
config user_settings.h
include.am
LINUX-SGX README.md build.sh clean.sh include.am sgx_t_static.mk
LPCXPRESSO
lib_wolfssl lpc_18xx_port.c user_settings.h
wolf_example
src lpc_18xx_startup.c wolfssl_example.c
readme.txt
README.md
M68K
benchmark Makefile main.cpp
testwolfcrypt Makefile main.cpp
Makefile README.md include.am user_settings.h
MCUEXPRESSO
RT1170 fsl_caam_c.patch fsl_caam_h.patch user_settings.h
benchmark
source run_benchmark.c
wolfssl liblinks.xml
README.md include.am user_settings.h wolfcrypt_test.c
MDK-ARM
LPC43xx time-LCP43xx.c
MDK-ARM
wolfSSL Retarget.c cert_data.c cert_data.h config-BARE-METAL.h config-FS.h config-RTX-TCP-FS.h config-WOLFLIB.h main.c shell.c time-CortexM3-4.c time-dummy.c wolfssl_MDK_ARM.c wolfssl_MDK_ARM.h
STM32F2xx_StdPeriph_Lib time-STM32F2xx.c
MDK5-ARM
Conf user_settings.h
Inc wolfssl_MDK_ARM.h
Projects
CryptBenchmark Abstract.txt CryptBenchmark.sct CryptBenchmark.uvoptx CryptBenchmark.uvprojx main.c
CryptTest Abstract.txt CryptTest.sct CryptTest.uvoptx CryptTest.uvprojx main.c
EchoClient Abstract.txt EchoClient.uvoptx EchoClient.uvprojx main.c wolfssl-link.sct
EchoServer Abstract.txt EchoServer.uvoptx EchoServer.uvprojx main.c wolfssl-link.sct
SimpleClient Abstract.txt SimpleClient.uvoptx SimpleClient.uvprojx main.c wolfssl-link.sct
SimpleServer Abstract.txt SimpleServer.uvoptx SimpleServer.uvprojx main.c wolfssl-link.sct
wolfSSL-Full Abstract.txt main.c shell.c time-CortexM3-4.c wolfsslFull.uvoptx wolfsslFull.uvprojx
wolfSSL-Lib Abstract.txt wolfSSL-Lib.uvoptx wolfSSL-Lib.uvprojx
Src ssl-dummy.c
README.md include.am
MPLABX16
wolfcrypt_test.X
nbproject
private configurations.xml private.xml
configurations.xml include.am project.xml
Makefile
wolfssl.X
nbproject configurations.xml include.am project.xml
Makefile
README.md include.am main.c user_settings.h
MQX Makefile README-jp.md README.md client-tls.c include.am server-tls.c user_config.h user_settings.h
MSVS-2019-AZSPHERE
client client.c client.h
server server.c server.h
shared util.h
wolfssl_new_azsphere
HardwareDefinitions
avnet_mt3620_sk
inc
hw template_appliance.h
template_appliance.json
mt3620_rdb
inc
hw template_appliance.h
template_appliance.json
seeed_mt3620_mdb
inc
hw template_appliance.h
template_appliance.json
.gitignore CMakeLists.txt CMakeSettings.json app_manifest.json applibs_versions.h launch.vs.json main.c
README.md include.am user_settings.h
MYSQL CMakeLists_wolfCrypt.txt CMakeLists_wolfSSL.txt do.sh
NDS README.md
NETOS Makefile.wolfcrypt.inc README.md include.am user_settings.h user_settings.h-cert2425 user_settings.h-cert3389 wolfssl_netos_custom.c
OPENSTM32 README.md
PlatformIO
examples
wolfssl_benchmark
include README main.h
lib README
src CMakeLists.txt main.c
test README
CMakeLists.txt README.md platformio.ini sdkconfig.defaults wolfssl_benchmark.code-workspace
wolfssl_test
include README main.h
lib README
src CMakeLists.txt main.c
test README
CMakeLists.txt README.md platformio.ini sdkconfig.defaults wolfssl_test.code-workspace
README.md wolfssl_platformio.code-workspace
README.md include.am
QNX
CAAM-DRIVER Makefile
example-client Makefile client-tls.c
example-cmac Makefile cmac-test.c
example-server Makefile server-tls.c
testwolfcrypt Makefile
wolfssl Makefile user_settings.h
README.md include.am
RISCV
SIFIVE-HIFIVE1 Makefile README.md include.am main.c user_settings.h
SIFIVE-UNLEASHED README.md include.am
include.am
ROWLEY-CROSSWORKS-ARM Kinetis_FlashPlacement.xml README.md arm_startup.c benchmark_main.c hw.h include.am kinetis_hw.c retarget.c test_main.c user_settings.h wolfssl.hzp wolfssl_ltc.hzp
Renesas
cs+
Projects
common strings.h unistd.h user_settings.h wolfssl_dummy.c
t4_demo README_en.txt README_jp.txt t4_demo.mtpj wolf_client.c wolf_demo.h wolf_main.c wolf_server.c
test test.mtpj test_main.c
wolfssl_lib wolfssl_lib.mtpj
README include.am
e2studio
DK-S7G2
benchmark-template
src app_entry.c
example_server-template
src app_entry.c
wolfcrypttest-template
src app_entry.c
wolfssl-template-project configuration.xml
README.md include.am user_settings.h
Projects
common strings.h unistd.h user_settings.h wolfssl_dummy.c
test
src key_data.c key_data.h test_main.c wolf_client.c wolf_server.c wolfssl_demo.h
tools generate_rsa_keypair.sh genhexbuf.pl rsa_pss_sign.sh
wolfssl
src .gitkeep
wolfcrypt
src .gitkeep
README include.am
RA6M3
benchmark-wolfcrypt
common .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
client-wolfssl
common
src .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
wolfssl_thread_entry.h
common
ra6m3g README.md
src freertos_tcp_port.c
user_settings.h util.h
server-wolfssl
common
src .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
wolfssl_thread_entry.h
test-wolfcrypt
common .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
wolfssl
src .gitkeep
wolfcrypt .gitkeep
README.md README_APRA6M_en.md README_APRA6M_jp.md include.am
RA6M3G README.md
RA6M4
common user_settings.h wolfssl_demo.h
test
key_data key_data.h key_data_sce.c
src
SEGGER_RTT myprint.c
common .gitignore
test_main.c wolf_client.c wolfssl_sce_unit_test.c
test_RA6M4Debug.launch
tools
example_keys generate_SignedCA.sh rsa_private.pem rsa_public.pem
README.md
README.md include.am
RX65N
GR-ROSE
common strings.h unistd.h user_settings.h wolfssl_dummy.c
smc smc.scfg
test
src key_data.c key_data.h test_main.c wolf_client.c wolf_server.c wolfssl_demo.h
test.rcpc test_HardwareDebug.launch
tools
example_keys generate_SignedCA.sh rsa_private.pem rsa_public.pem
README.md
wolfssl wolfssl.rcpc
README_EN.md README_JP.md include.am
RSK
resource section.esi
wolfssl wolfssl.rcpc
wolfssl_demo key_data.c key_data.h user_settings.h wolfssl_demo.c wolfssl_demo.h
InstructionManualForExample_RSK+RX65N-2MB_EN.pdf InstructionManualForExample_RSK+RX65N-2MB_JP.pdf README_EN.md README_JP.md include.am
RX72N
EnvisionKit
Simple
common sectioninfo.esi wolfssl_dummy.c
test
src
client simple_tcp_client.c simple_tls_tsip_client.c
server simple_tcp_server.c simple_tls_server.c
test_main.c wolfssl_simple_demo.h
test.rcpc test.scfg test_HardwareDebug.launch
wolfssl wolfssl.rcpc
README_EN.md README_JP.md
resource section.esi
tools
example_keys generate_SignedCA.sh rsa_private.pem rsa_public.pem
README.md
wolfssl wolfssl.rcpc
wolfssl_demo key_data.c key_data.h user_settings.h wolfssl_demo.c wolfssl_demo.h wolfssl_tsip_unit_test.c
InstructionManualForExample_RX72N_EnvisonKit_EN.pdf InstructionManualForExample_RX72N_EnvisonKit_JP.pdf README_EN.md README_JP.md include.am
RZN2L
common user_settings.h wolfssl_demo.h
test
src
serial_io app_print.c
test wolf_client.c wolf_server.c wolfssl_rsip_unit_test.c
wolfCrypt .gitignore
wolfSSL .gitignore
local_system_init.c rzn2l_tst_thread_entry.c wolfssl_dummy.c
README.md include.am
SK-S7G2
common user_settings.h
wolfssl_lib configuration.xml
.gitignore README.md include.am
STARCORE README.txt include.am starcore_test.c user_settings.h
STM32Cube README.md STM32_Benchmarks.md default_conf.ftl include.am main.c wolfssl_example.c wolfssl_example.h
SimplicityStudio README.md include.am test_wolf.c user_settings.h
TRUESTUDIO
wolfssl user_settings.h
README include.am
VS-ARM README.md include.am user_settings.h wolfssl.sln wolfssl.vcxproj
VS-AZURE-SPHERE
client app_manifest.json client.c client.h client.vcxproj
server app_manifest.json server.c server.h server.vcxproj
shared util.h
wolfcrypt_test app_manifest.json wolfcrypt_test.vcxproj
README.md include.am user_settings.h wolfssl.sln wolfssl.vcxproj
VisualDSP include.am user_settings.h wolf_tasks.c
WICED-STUDIO README include.am user_settings.h
WIN README.txt include.am test.vcxproj user_settings.h user_settings_dtls.h wolfssl-fips.sln wolfssl-fips.vcxproj
WIN-SGX ReadMe.txt include.am wolfSSL_SGX.edl wolfSSL_SGX.sln wolfSSL_SGX.vcxproj
WIN-SRTP-KDF-140-3 README.txt include.am resource.h test.vcxproj user_settings.h wolfssl-fips.rc wolfssl-fips.sln wolfssl-fips.vcxproj
WIN10 README.txt include.am resource.h test.vcxproj user_settings.h wolfssl-fips.rc wolfssl-fips.sln wolfssl-fips.vcxproj
WINCE README.md include.am user_settings.h user_settings.h.140-2-deprecated
WORKBENCH README.md include.am
XCODE
Benchmark
wolfBench
Assets.xcassets
AppIcon.appiconset Contents.json
Base.lproj LaunchScreen.storyboard Main.storyboard
AppDelegate.h AppDelegate.m Info.plist ViewController.h ViewController.m main.m
wolfBench.xcodeproj project.pbxproj
include.am
wolfssl-FIPS.xcodeproj project.pbxproj
wolfssl.xcodeproj project.pbxproj
wolfssl_testsuite.xcodeproj project.pbxproj
README.md build-for-i386.sh include.am user_settings.h
XCODE-FIPSv2
macOS-C++
Intel user_settings.h
M1 user_settings.h
include.am user_settings.h
XCODE-FIPSv5 README include.am user_settings.h
XCODE-FIPSv6 README include.am user_settings.h
XilinxSDK
2018_2 lscript.ld
2019_2
wolfCrypt_example
src lscript.ld
wolfCrypt_example_system wolfCrypt_example_system.sprj
2022_1
wolfCrypt_FreeRTOS_example wolfCrypt_FreeRTOS_example.prj
wolfCrypt_FreeRTOS_example_system wolfCrypt_FreeRTOS_example_system.sprj
wolfCrypt_example wolfCrypt_example.prj
wolfCrypt_example_system wolfCrypt_example_system.sprj
.gitignore
README.md bench.sh combine.sh eclipse_formatter_profile.xml graph.sh include.am user_settings.h wolfssl_example.c
apple-universal
wolfssl-multiplatform
wolfssl-multiplatform
Assets.xcassets
AccentColor.colorset Contents.json
AppIcon.appiconset Contents.json
Contents.json
ContentView.swift simple_client_example.c simple_client_example.h wolfssl-multiplatform-Bridging-Header.h wolfssl_multiplatform.entitlements wolfssl_multiplatformApp.swift wolfssl_test_driver.c wolfssl_test_driver.h
wolfssl-multiplatform.xcodeproj project.pbxproj
.gitignore README.md build-wolfssl-framework.sh include.am
iotsafe Makefile README.md ca-cert.c devices.c devices.h include.am main.c memory-tls.c startup.c target.ld user_settings.h
iotsafe-raspberrypi Makefile README.md client-tls13.c include.am main.c
mynewt README.md apps.wolfcrypttest.pkg.yml crypto.wolfssl.pkg.yml crypto.wolfssl.syscfg.yml include.am setup.sh
zephyr README.md include.am
include.am
RTOS
nuttx
wolfssl .gitignore Kconfig Make.defs Makefile README.md setup-wolfssl.sh user_settings.h
include.am
bsdkm Makefile README.md bsdkm_wc_port.h include.am wolfkmod.c wolfkmod_aes.c x86_vecreg.c
certs
1024 ca-cert.der ca-cert.pem ca-key.der ca-key.pem client-cert.der client-cert.pem client-key.der client-key.pem client-keyPub.der dh1024.der dh1024.pem dsa-pub-1024.pem dsa1024.der dsa1024.pem include.am rsa1024.der server-cert.der server-cert.pem server-key.der server-key.pem
3072 client-cert.der client-cert.pem client-key.der client-key.pem client-keyPub.der include.am
4096 client-cert.der client-cert.pem client-key.der client-key.pem client-keyPub.der include.am
acert
rsa_pss acert.pem acert_ietf.pem acert_ietf_pubkey.pem acert_pubkey.pem
acert.pem acert_ietf.pem acert_ietf_pubkey.pem acert_pubkey.pem include.am
aia ca-issuers-cert.pem multi-aia-cert.pem overflow-aia-cert.pem
crl
extra-crls ca-int-cert-revoked.pem claim-root.pem crl_critical_entry.pem crlnum_57oct.pem crlnum_64oct.pem general-server-crl.pem large_crlnum.pem large_crlnum2.pem
hash_der 0fdb2da4.r0
hash_pem 0fdb2da4.r0
bad_time_fmt.pem ca-int-ecc.pem ca-int.pem ca-int2-ecc.pem ca-int2.pem caEcc384Crl.pem caEccCrl.der caEccCrl.pem cliCrl.pem client-int-ecc.pem client-int.pem crl.der crl.pem crl.revoked crl2.der crl2.pem crl_reason.pem crl_rsapss.pem eccCliCRL.pem eccSrvCRL.pem gencrls.sh include.am server-goodaltCrl.pem server-goodaltwildCrl.pem server-goodcnCrl.pem server-goodcnwildCrl.pem server-int-ecc.pem server-int.pem wolfssl.cnf
dilithium bench_dilithium_level2_key.der bench_dilithium_level3_key.der bench_dilithium_level5_key.der include.am
ecc bp256r1-key.der bp256r1-key.pem ca-secp256k1-cert.pem ca-secp256k1-key.pem client-bp256r1-cert.der client-bp256r1-cert.pem client-secp256k1-cert.der client-secp256k1-cert.pem genecc.sh include.am secp256k1-key.der secp256k1-key.pem secp256k1-param.pem secp256k1-privkey.der secp256k1-privkey.pem server-bp256r1-cert.der server-bp256r1-cert.pem server-secp256k1-cert.der server-secp256k1-cert.pem server2-secp256k1-cert.der server2-secp256k1-cert.pem wolfssl.cnf wolfssl_384.cnf
ed25519 ca-ed25519-key.der ca-ed25519-key.pem ca-ed25519-priv.der ca-ed25519-priv.pem ca-ed25519.der ca-ed25519.pem client-ed25519-key.der client-ed25519-key.pem client-ed25519-priv.der client-ed25519-priv.pem client-ed25519.der client-ed25519.pem eddsa-ed25519.der eddsa-ed25519.pem gen-ed25519-certs.sh gen-ed25519-keys.sh gen-ed25519.sh include.am root-ed25519-key.der root-ed25519-key.pem root-ed25519-priv.der root-ed25519-priv.pem root-ed25519.der root-ed25519.pem server-ed25519-cert.pem server-ed25519-key.der server-ed25519-key.pem server-ed25519-priv.der server-ed25519-priv.pem server-ed25519.der server-ed25519.pem
ed448 ca-ed448-key.der ca-ed448-key.pem ca-ed448-priv.der ca-ed448-priv.pem ca-ed448.der ca-ed448.pem client-ed448-key.der client-ed448-key.pem client-ed448-priv.der client-ed448-priv.pem client-ed448.der client-ed448.pem gen-ed448-certs.sh gen-ed448-keys.sh include.am root-ed448-key.der root-ed448-key.pem root-ed448-priv.der root-ed448-priv.pem root-ed448.der root-ed448.pem server-ed448-cert.pem server-ed448-key.der server-ed448-key.pem server-ed448-priv.der server-ed448-priv.pem server-ed448.der server-ed448.pem
external DigiCertGlobalRootCA.pem README.txt ca-digicert-ev.pem ca-globalsign-root.pem ca-google-root.pem ca_collection.pem include.am
falcon bench_falcon_level1_key.der bench_falcon_level5_key.der include.am
intermediate
ca_false_intermediate gentestcert.sh int_ca.key server.key test_ca.key test_ca.pem test_int_not_cacert.pem test_sign_bynoca_srv.pem wolfssl_base.conf wolfssl_srv.conf
ca-ecc-bad-aki.der ca-ecc-bad-aki.pem ca-int-cert.der ca-int-cert.pem ca-int-ecc-cert.der ca-int-ecc-cert.pem ca-int-ecc-key.der ca-int-ecc-key.pem ca-int-key.der ca-int-key.pem ca-int2-cert.der ca-int2-cert.pem ca-int2-ecc-cert.der ca-int2-ecc-cert.pem ca-int2-ecc-key.der ca-int2-ecc-key.pem ca-int2-key.der ca-int2-key.pem client-chain-alt-ecc.pem client-chain-alt.pem client-chain-ecc.der client-chain-ecc.pem client-chain.der client-chain.pem client-int-cert.der client-int-cert.pem client-int-ecc-cert.der client-int-ecc-cert.pem genintcerts.sh include.am server-chain-alt-ecc.pem server-chain-alt.pem server-chain-ecc.der server-chain-ecc.pem server-chain-short.pem server-chain.der server-chain.pem server-int-cert.der server-int-cert.pem server-int-ecc-cert.der server-int-ecc-cert.pem
lms bc_hss_L2_H5_W8_root.der bc_hss_L3_H5_W4_root.der bc_lms_chain_ca.der bc_lms_chain_leaf.der bc_lms_native_bc_root.der bc_lms_sha256_h10_w8_root.der bc_lms_sha256_h5_w4_root.der include.am
mldsa README.txt include.am mldsa44-cert.der mldsa44-cert.pem mldsa44-key.pem mldsa44_bare-priv.der mldsa44_bare-seed.der mldsa44_oqskeypair.der mldsa44_priv-only.der mldsa44_pub-spki.der mldsa44_seed-only.der mldsa44_seed-priv.der mldsa65-cert.der mldsa65-cert.pem mldsa65-key.pem mldsa65_bare-priv.der mldsa65_bare-seed.der mldsa65_oqskeypair.der mldsa65_priv-only.der mldsa65_pub-spki.der mldsa65_seed-only.der mldsa65_seed-priv.der mldsa87-cert.der mldsa87-cert.pem mldsa87-key.pem mldsa87_bare-priv.der mldsa87_bare-seed.der mldsa87_oqskeypair.der mldsa87_priv-only.der mldsa87_pub-spki.der mldsa87_seed-only.der mldsa87_seed-priv.der
ocsp imposter-root-ca-cert.der imposter-root-ca-cert.pem imposter-root-ca-key.der imposter-root-ca-key.pem include.am index-ca-and-intermediate-cas.txt index-ca-and-intermediate-cas.txt.attr index-intermediate1-ca-issued-certs.txt index-intermediate1-ca-issued-certs.txt.attr index-intermediate2-ca-issued-certs.txt index-intermediate2-ca-issued-certs.txt.attr index-intermediate3-ca-issued-certs.txt index-intermediate3-ca-issued-certs.txt.attr intermediate1-ca-cert.der intermediate1-ca-cert.pem intermediate1-ca-key.der intermediate1-ca-key.pem intermediate2-ca-cert.der intermediate2-ca-cert.pem intermediate2-ca-key.der intermediate2-ca-key.pem intermediate3-ca-cert.der intermediate3-ca-cert.pem intermediate3-ca-key.der intermediate3-ca-key.pem ocsp-responder-cert.der ocsp-responder-cert.pem ocsp-responder-key.der ocsp-responder-key.pem openssl.cnf renewcerts-for-test.sh renewcerts.sh root-ca-cert.der root-ca-cert.pem root-ca-crl.pem root-ca-key.der root-ca-key.pem server1-cert.der server1-cert.pem server1-chain-noroot.pem server1-key.der server1-key.pem server2-cert.der server2-cert.pem server2-key.der server2-key.pem server3-cert.der server3-cert.pem server3-key.der server3-key.pem server4-cert.der server4-cert.pem server4-key.der server4-key.pem server5-cert.der server5-cert.pem server5-key.der server5-key.pem test-leaf-response.der test-multi-response.der test-response-nointern.der test-response-rsapss.der test-response.der
p521 ca-p521-key.der ca-p521-key.pem ca-p521-priv.der ca-p521-priv.pem ca-p521.der ca-p521.pem client-p521-key.der client-p521-key.pem client-p521-priv.der client-p521-priv.pem client-p521.der client-p521.pem gen-p521-certs.sh gen-p521-keys.sh include.am root-p521-key.der root-p521-key.pem root-p521-priv.der root-p521-priv.pem root-p521.der root-p521.pem server-p521-cert.pem server-p521-key.der server-p521-key.pem server-p521-priv.der server-p521-priv.pem server-p521.der server-p521.pem
renewcerts wolfssl.cnf
rpk client-cert-rpk.der client-ecc-cert-rpk.der include.am server-cert-rpk.der server-ecc-cert-rpk.der
rsapss ca-3072-rsapss-key.der ca-3072-rsapss-key.pem ca-3072-rsapss-priv.der ca-3072-rsapss-priv.pem ca-3072-rsapss.der ca-3072-rsapss.pem ca-rsapss-key.der ca-rsapss-key.pem ca-rsapss-priv.der ca-rsapss-priv.pem ca-rsapss.der ca-rsapss.pem client-3072-rsapss-key.der client-3072-rsapss-key.pem client-3072-rsapss-priv.der client-3072-rsapss-priv.pem client-3072-rsapss.der client-3072-rsapss.pem client-rsapss-key.der client-rsapss-key.pem client-rsapss-priv.der client-rsapss-priv.pem client-rsapss.der client-rsapss.pem gen-rsapss-keys.sh include.am renew-rsapss-certs.sh root-3072-rsapss-key.der root-3072-rsapss-key.pem root-3072-rsapss-priv.der root-3072-rsapss-priv.pem root-3072-rsapss.der root-3072-rsapss.pem root-rsapss-key.der root-rsapss-key.pem root-rsapss-priv.der root-rsapss-priv.pem root-rsapss.der root-rsapss.pem server-3072-rsapss-cert.pem server-3072-rsapss-key.der server-3072-rsapss-key.pem server-3072-rsapss-priv.der server-3072-rsapss-priv.pem server-3072-rsapss.der server-3072-rsapss.pem server-mix-rsapss-cert.pem server-rsapss-cert.pem server-rsapss-key.der server-rsapss-key.pem server-rsapss-priv.der server-rsapss-priv.pem server-rsapss.der server-rsapss.pem
sia timestamping-sia-cert.pem
slhdsa bench_slhdsa_sha2_128f_key.der bench_slhdsa_sha2_128s_key.der bench_slhdsa_sha2_192f_key.der bench_slhdsa_sha2_192s_key.der bench_slhdsa_sha2_256f_key.der bench_slhdsa_sha2_256s_key.der bench_slhdsa_shake128f_key.der bench_slhdsa_shake128s_key.der bench_slhdsa_shake192f_key.der bench_slhdsa_shake192s_key.der bench_slhdsa_shake256f_key.der bench_slhdsa_shake256s_key.der client-mldsa44-priv.pem client-mldsa44-sha2.der client-mldsa44-sha2.pem client-mldsa44-shake.der client-mldsa44-shake.pem gen-slhdsa-mldsa-certs.sh include.am root-slhdsa-sha2-128s-priv.der root-slhdsa-sha2-128s-priv.pem root-slhdsa-sha2-128s.der root-slhdsa-sha2-128s.pem root-slhdsa-shake-128s-priv.der root-slhdsa-shake-128s-priv.pem root-slhdsa-shake-128s.der root-slhdsa-shake-128s.pem server-mldsa44-priv.pem server-mldsa44-sha2.der server-mldsa44-sha2.pem server-mldsa44-shake.der server-mldsa44-shake.pem
sm2 ca-sm2-key.der ca-sm2-key.pem ca-sm2-priv.der ca-sm2-priv.pem ca-sm2.der ca-sm2.pem client-sm2-key.der client-sm2-key.pem client-sm2-priv.der client-sm2-priv.pem client-sm2.der client-sm2.pem fix_sm2_spki.py gen-sm2-certs.sh gen-sm2-keys.sh include.am root-sm2-key.der root-sm2-key.pem root-sm2-priv.der root-sm2-priv.pem root-sm2.der root-sm2.pem self-sm2-cert.pem self-sm2-key.pem self-sm2-priv.pem server-sm2-cert.der server-sm2-cert.pem server-sm2-key.der server-sm2-key.pem server-sm2-priv.der server-sm2-priv.pem server-sm2.der server-sm2.pem
statickeys dh-ffdhe2048-params.pem dh-ffdhe2048-pub.der dh-ffdhe2048-pub.pem dh-ffdhe2048.der dh-ffdhe2048.pem ecc-secp256r1.der ecc-secp256r1.pem gen-static.sh include.am x25519-pub.der x25519-pub.pem x25519.der x25519.pem
test
expired expired-ca.der expired-ca.pem expired-cert.der expired-cert.pem
catalog.txt cert-bad-neg-int.der cert-bad-oid.der cert-bad-utf8.der cert-ext-ia.cfg cert-ext-ia.der cert-ext-ia.pem cert-ext-joi.cfg cert-ext-joi.der cert-ext-joi.pem cert-ext-mnc.der cert-ext-multiple.cfg cert-ext-multiple.der cert-ext-multiple.pem cert-ext-nc-combined.der cert-ext-nc-combined.pem cert-ext-nc.cfg cert-ext-nc.der cert-ext-nc.pem cert-ext-ncdns.der cert-ext-ncdns.pem cert-ext-ncip.der cert-ext-ncip.pem cert-ext-ncmixed.der cert-ext-ncmulti.der cert-ext-ncmulti.pem cert-ext-ncrid.der cert-ext-ncrid.pem cert-ext-nct.cfg cert-ext-nct.der cert-ext-nct.pem cert-ext-ndir-exc.cfg cert-ext-ndir-exc.der cert-ext-ndir-exc.pem cert-ext-ndir.cfg cert-ext-ndir.der cert-ext-ndir.pem cert-ext-ns.der cert-over-max-altnames.cfg cert-over-max-altnames.der cert-over-max-altnames.pem cert-over-max-nc.cfg cert-over-max-nc.der cert-over-max-nc.pem client-ecc-cert-ski.hex cn-ip-literal.der cn-ip-wildcard.der crit-cert.pem crit-key.pem dh1024.der dh1024.pem dh512.der dh512.pem digsigku.pem encrypteddata.msg gen-badsig.sh gen-ext-certs.sh gen-testcerts.sh include.am kari-keyid-cms.msg ktri-keyid-cms.msg ossl-trusted-cert.pem server-badaltname.der server-badaltname.pem server-badaltnull.der server-badaltnull.pem server-badcn.der server-badcn.pem server-badcnnull.der server-badcnnull.pem server-cert-ecc-badsig.der server-cert-ecc-badsig.pem server-cert-rsa-badsig.der server-cert-rsa-badsig.pem server-duplicate-policy.pem server-garbage.der server-garbage.pem server-goodalt.der server-goodalt.pem server-goodaltwild.der server-goodaltwild.pem server-goodcn.der server-goodcn.pem server-goodcnwild.der server-goodcnwild.pem server-localhost.der server-localhost.pem smime-test-canon.p7s smime-test-multipart-badsig.p7s smime-test-multipart.p7s smime-test.p7s
test-pathlen assemble-chains.sh chainA-ICA1-key.pem chainA-ICA1-pathlen0.pem chainA-assembled.pem chainA-entity-key.pem chainA-entity.pem chainB-ICA1-key.pem chainB-ICA1-pathlen0.pem chainB-ICA2-key.pem chainB-ICA2-pathlen1.pem chainB-assembled.pem chainB-entity-key.pem chainB-entity.pem chainC-ICA1-key.pem chainC-ICA1-pathlen1.pem chainC-assembled.pem chainC-entity-key.pem chainC-entity.pem chainD-ICA1-key.pem chainD-ICA1-pathlen127.pem chainD-assembled.pem chainD-entity-key.pem chainD-entity.pem chainE-ICA1-key.pem chainE-ICA1-pathlen128.pem chainE-assembled.pem chainE-entity-key.pem chainE-entity.pem chainF-ICA1-key.pem chainF-ICA1-pathlen1.pem chainF-ICA2-key.pem chainF-ICA2-pathlen0.pem chainF-assembled.pem chainF-entity-key.pem chainF-entity.pem chainG-ICA1-key.pem chainG-ICA1-pathlen0.pem chainG-ICA2-key.pem chainG-ICA2-pathlen1.pem chainG-ICA3-key.pem chainG-ICA3-pathlen99.pem chainG-ICA4-key.pem chainG-ICA4-pathlen5.pem chainG-ICA5-key.pem chainG-ICA5-pathlen20.pem chainG-ICA6-key.pem chainG-ICA6-pathlen10.pem chainG-ICA7-key.pem chainG-ICA7-pathlen100.pem chainG-assembled.pem chainG-entity-key.pem chainG-entity.pem chainH-ICA1-key.pem chainH-ICA1-pathlen0.pem chainH-ICA2-key.pem chainH-ICA2-pathlen2.pem chainH-ICA3-key.pem chainH-ICA3-pathlen2.pem chainH-ICA4-key.pem chainH-ICA4-pathlen2.pem chainH-assembled.pem chainH-entity-key.pem chainH-entity.pem chainI-ICA1-key.pem chainI-ICA1-no_pathlen.pem chainI-ICA2-key.pem chainI-ICA2-no_pathlen.pem chainI-ICA3-key.pem chainI-ICA3-pathlen2.pem chainI-assembled.pem chainI-entity-key.pem chainI-entity.pem chainJ-ICA1-key.pem chainJ-ICA1-no_pathlen.pem chainJ-ICA2-key.pem chainJ-ICA2-no_pathlen.pem chainJ-ICA3-key.pem chainJ-ICA3-no_pathlen.pem chainJ-ICA4-key.pem chainJ-ICA4-pathlen2.pem chainJ-assembled.pem chainJ-entity-key.pem chainJ-entity.pem include.am refreshkeys.sh
test-serial0 ee_normal.pem ee_serial0.pem generate_certs.sh include.am intermediate_serial0.pem root_serial0.pem root_serial0_key.pem selfsigned_nonca_serial0.pem
xmss bc_xmss_chain_ca.der bc_xmss_chain_leaf.der bc_xmss_sha2_10_256_root.der bc_xmss_sha2_16_256_root.der bc_xmssmt_sha2_20_2_256_root.der bc_xmssmt_sha2_20_4_256_root.der bc_xmssmt_sha2_40_8_256_root.der include.am
ca-cert-chain.der ca-cert.der ca-cert.pem ca-ecc-cert.der ca-ecc-cert.pem ca-ecc-key.der ca-ecc-key.pem ca-ecc384-cert.der ca-ecc384-cert.pem ca-ecc384-key.der ca-ecc384-key.pem ca-key-pkcs8-attribute.der ca-key.der ca-key.pem check_dates.sh client-absolute-urn.pem client-ca-cert.der client-ca-cert.pem client-ca.pem client-cert-ext.der client-cert-ext.pem client-cert.der client-cert.pem client-crl-dist.der client-crl-dist.pem client-ecc-ca-cert.der client-ecc-ca-cert.pem client-ecc-cert.der client-ecc-cert.pem client-ecc384-cert.der client-ecc384-cert.pem client-ecc384-key.der client-ecc384-key.pem client-key.der client-key.pem client-keyEnc.pem client-keyPub.der client-keyPub.pem client-relative-uri.pem client-uri-cert.pem csr.attr.der csr.dsa.der csr.dsa.pem csr.ext.der csr.signed.der dh-priv-2048.der dh-priv-2048.pem dh-pub-2048.der dh-pub-2048.pem dh-pubkey-2048.der dh2048.der dh2048.pem dh3072.der dh3072.pem dh4096.der dh4096.pem dsa-pubkey-2048.der dsa2048.der dsa2048.pem dsa3072.der dsaparams.der dsaparams.pem ecc-client-key.der ecc-client-key.pem ecc-client-keyPub.der ecc-client-keyPub.pem ecc-key-comp.pem ecc-keyPkcs8.der ecc-keyPkcs8.pem ecc-keyPkcs8Enc.der ecc-keyPkcs8Enc.pem ecc-keyPub.der ecc-keyPub.pem ecc-params.der ecc-params.pem ecc-privOnlyCert.pem ecc-privOnlyKey.pem ecc-privkey.der ecc-privkey.pem ecc-privkeyPkcs8.der ecc-privkeyPkcs8.pem ecc-rsa-server.p12 empty-issuer-cert.pem entity-no-ca-bool-cert.pem entity-no-ca-bool-key.pem fpki-cert.der fpki-certpol-cert.der gen_revoked.sh include.am renewcerts.sh rid-cert.der rsa-pub-2048.pem rsa2048.der rsa3072.der server-cert-chain.der server-cert.der server-cert.pem server-ecc-comp.der server-ecc-comp.pem server-ecc-rsa.der server-ecc-rsa.pem server-ecc-self.der server-ecc-self.pem server-ecc.der server-ecc.pem server-ecc384-cert.der server-ecc384-cert.pem server-ecc384-key.der server-ecc384-key.pem server-key.der server-key.pem server-keyEnc.pem server-keyPkcs8.der server-keyPkcs8.pem server-keyPkcs8Enc.der server-keyPkcs8Enc.pem server-keyPkcs8Enc12.pem server-keyPkcs8Enc2.pem server-keyPub.der server-keyPub.pem server-revoked-cert.pem server-revoked-key.pem taoCert.txt test-ber-exp02-05-2022.p7b test-degenerate.p7b test-multiple-recipients.p7b test-servercert-rc2.p12 test-servercert.p12 test-stream-dec.p7b test-stream-sign.p7b wolfssl-website-ca.pem x942dh2048.der x942dh2048.pem
cmake
consumer CMakeLists.txt README.md main.c
modules FindARIA.cmake FindOQS.cmake
Config.cmake.in README.md config.in functions.cmake include.am options.h.in wolfssl-config-version.cmake.in wolfssl-targets.cmake.in
debian
source format
changelog.in control.in copyright include.am libwolfssl-dev.install libwolfssl.install rules.in
doc
dox_comments
header_files aes.h arc4.h ascon.h asn.h asn_public.h blake2.h bn.h camellia.h chacha.h chacha20_poly1305.h cmac.h coding.h compress.h cryptocb.h curve25519.h curve448.h des3.h dh.h doxygen_groups.h doxygen_pages.h dsa.h ecc.h eccsi.h ed25519.h ed448.h error-crypt.h evp.h hash.h hmac.h iotsafe.h kdf.h logging.h md2.h md4.h md5.h memory.h ocsp.h pem.h pkcs11.h pkcs7.h poly1305.h psa.h puf.h pwdbased.h quic.h random.h ripemd.h rsa.h sakke.h sha.h sha256.h sha3.h sha512.h signature.h siphash.h srp.h ssl.h tfm.h types.h wc_encrypt.h wc_port.h wc_she.h wc_slhdsa.h wolfio.h
header_files-ja aes.h arc4.h ascon.h asn.h asn_public.h blake2.h bn.h camellia.h chacha.h chacha20_poly1305.h cmac.h coding.h compress.h cryptocb.h curve25519.h curve448.h des3.h dh.h doxygen_groups.h doxygen_pages.h dsa.h ecc.h eccsi.h ed25519.h ed448.h error-crypt.h evp.h hash.h hmac.h iotsafe.h kdf.h logging.h md2.h md4.h md5.h memory.h ocsp.h pem.h pkcs11.h pkcs7.h poly1305.h psa.h pwdbased.h quic.h random.h ripemd.h rsa.h sakke.h sha.h sha256.h sha3.h sha512.h signature.h siphash.h srp.h ssl.h tfm.h types.h wc_encrypt.h wc_port.h wolfio.h
formats
html
html_changes
search search.css search.js
customdoxygen.css doxygen.css menu.js menudata.js tabs.css
Doxyfile footer.html header.html mainpage.dox
pdf Doxyfile header.tex
images wolfssl_logo.png
QUIC.md README.txt README_DOXYGEN check_api.sh generate_documentation.sh include.am
examples
asn1 asn1.c dumpasn1.cfg gen_oid_names.rb include.am oid_names.h
async Makefile README.md async_client.c async_server.c async_tls.c async_tls.h include.am user_settings.h
benchmark include.am tls_bench.c tls_bench.h
client client.c client.h client.sln client.vcproj client.vcxproj include.am
configs README.md include.am user_settings_EBSnet.h user_settings_all.h user_settings_arduino.h user_settings_baremetal.h user_settings_ca.h user_settings_curve25519nonblock.h user_settings_dtls13.h user_settings_eccnonblock.h user_settings_espressif.h user_settings_fipsv2.h user_settings_fipsv5.h user_settings_min_ecc.h user_settings_openssl_compat.h user_settings_pkcs7.h user_settings_platformio.h user_settings_pq.h user_settings_rsa_only.h user_settings_stm32.h user_settings_template.h user_settings_tls12.h user_settings_tls13.h user_settings_wolfboot_keytools.h user_settings_wolfssh.h user_settings_wolftpm.h
crypto_policies
default wolfssl.txt
future wolfssl.txt
legacy wolfssl.txt
echoclient echoclient.c echoclient.h echoclient.sln echoclient.vcproj echoclient.vcxproj include.am quit
echoserver echoserver.c echoserver.h echoserver.sln echoserver.vcproj echoserver.vcxproj include.am
ocsp_responder include.am ocsp_responder.c ocsp_responder.h
pem include.am pem.c
sctp include.am sctp-client-dtls.c sctp-client.c sctp-server-dtls.c sctp-server.c
server include.am server.c server.h server.sln server.vcproj server.vcxproj
README.md include.am
linuxkm
patches
5.10.17 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v10v17.patch
5.10.236 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v10v236.patch
5.14.0-570.58.1.el9_6 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v14-570v58v1-el9_6.patch
5.15 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v15.patch
5.17 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v17.patch
5.17-ubuntu-jammy-tegra WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v17-ubuntu-jammy-tegra.patch
6.1.73 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v1v73.patch
6.12 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v12.patch
6.15 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v15.patch
7.0 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-7v0.patch
regen-patches.sh
Kbuild Makefile README.md get_thread_size.c include.am linuxkm-fips-hash-wrapper.sh linuxkm-fips-hash.c linuxkm_memory.c linuxkm_memory.h linuxkm_wc_port.h lkcapi_aes_glue.c lkcapi_dh_glue.c lkcapi_ecdh_glue.c lkcapi_ecdsa_glue.c lkcapi_glue.c lkcapi_rsa_glue.c lkcapi_sha_glue.c module_exports.c.template module_hooks.c pie_redirect_table.c wolfcrypt.lds x86_vector_register_glue.c
m4 ax_add_am_macro.m4 ax_am_jobserver.m4 ax_am_macros.m4 ax_append_compile_flags.m4 ax_append_flag.m4 ax_append_link_flags.m4 ax_append_to_file.m4 ax_atomic.m4 ax_bsdkm.m4 ax_check_compile_flag.m4 ax_check_link_flag.m4 ax_compiler_version.m4 ax_count_cpus.m4 ax_create_generic_config.m4 ax_debug.m4 ax_file_escapes.m4 ax_harden_compiler_flags.m4 ax_linuxkm.m4 ax_print_to_file.m4 ax_pthread.m4 ax_require_defined.m4 ax_tls.m4 ax_vcs_checkout.m4 hexversion.m4 lib_socket_nsl.m4 visibility.m4
mcapi
wolfcrypt_mcapi.X
nbproject configurations.xml include.am project.xml
Makefile
wolfcrypt_test.X
nbproject configurations.xml include.am project.xml
Makefile
wolfssl.X
nbproject configurations.xml include.am project.xml
Makefile
zlib.X
nbproject configurations.xml include.am project.xml
Makefile
PIC32MZ-serial.h README crypto.c crypto.h include.am mcapi_test.c user_settings.h
mplabx
wolfcrypt_benchmark.X
nbproject configurations.xml include.am project.xml
Makefile
wolfcrypt_test.X
nbproject configurations.xml include.am project.xml
Makefile
wolfssl.X
nbproject configurations.xml include.am project.xml
Makefile
PIC32MZ-serial.h README benchmark_main.c include.am test_main.c user_settings.h
mqx
util_lib
Sources include.am util.c util.h
wolfcrypt_benchmark
Debugger K70FN1M0.mem init_kinetis.tcl mass_erase_kinetis.tcl
Sources include.am main.c main.h
ReferencedRSESystems.xml wolfcrypt_benchmark_twrk70f120m_Int_Flash_DDRData_Debug_PnE_U-MultiLink.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_DDRData_Release_PnE_U-MultiLink.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Debug_JTrace.jlink wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Debug_JTrace.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Debug_PnE_U-MultiLink.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Release_PnE_U-MultiLink.launch
wolfcrypt_test
Debugger K70FN1M0.mem init_kinetis.tcl mass_erase_kinetis.tcl
Sources include.am main.c main.h
ReferencedRSESystems.xml wolfcrypt_test_twrk70f120m_Int_Flash_DDRData_Debug_PnE_U-MultiLink.launch wolfcrypt_test_twrk70f120m_Int_Flash_DDRData_Release_PnE_U-MultiLink.launch wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Debug_JTrace.jlink wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Debug_JTrace.launch wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Debug_PnE_U-MultiLink.launch wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Release_PnE_U-MultiLink.launch
wolfssl include.am
wolfssl_client
Debugger K70FN1M0.mem init_kinetis.tcl mass_erase_kinetis.tcl
Sources include.am main.c main.h
ReferencedRSESystems.xml wolfssl_client_twrk70f120m_Int_Flash_DDRData_Debug_PnE_U-MultiLink.launch wolfssl_client_twrk70f120m_Int_Flash_DDRData_Release_PnE_U-MultiLink.launch wolfssl_client_twrk70f120m_Int_Flash_SramData_Debug_JTrace.jlink wolfssl_client_twrk70f120m_Int_Flash_SramData_Debug_JTrace.launch wolfssl_client_twrk70f120m_Int_Flash_SramData_Debug_PnE_U-MultiLink.launch wolfssl_client_twrk70f120m_Int_Flash_SramData_Release_PnE_U-MultiLink.launch
README
rpm include.am spec.in
scripts
bench bench_functions.sh
aria-cmake-build-test.sh asn1_oid_sum.pl benchmark.test benchmark_compare.sh cleanup_testfiles.sh crl-gen-openssl.test crl-revoked.test dertoc.pl dtls.test dtlscid.test external.test google.test include.am makedistsmall.sh memtest.sh ocsp-responder-openssl-interop.test ocsp-stapling-with-ca-as-responder.test ocsp-stapling-with-wolfssl-responder.test ocsp-stapling.test ocsp-stapling2.test ocsp-stapling_tls13multi.test ocsp.test openssl.test openssl_srtp.test pem.test ping.test pkcallbacks.test psk.test resume.test rsapss.test sniffer-gen.sh sniffer-ipv6.pcap sniffer-static-rsa.pcap sniffer-testsuite.test sniffer-tls12-keylog.out sniffer-tls12-keylog.pcap sniffer-tls12-keylog.sslkeylog sniffer-tls13-dh-resume.pcap sniffer-tls13-dh.pcap sniffer-tls13-ecc-resume.pcap sniffer-tls13-ecc.pcap sniffer-tls13-hrr.pcap sniffer-tls13-keylog.out sniffer-tls13-keylog.pcap sniffer-tls13-keylog.sslkeylog sniffer-tls13-x25519-resume.pcap sniffer-tls13-x25519.pcap stm32l4-v4_0_1_build.sh tls13.test trusted_peer.test unit.test.in user_settings_asm.sh
src bio.c conf.c crl.c dtls.c dtls13.c include.am internal.c keys.c ocsp.c pk.c pk_ec.c pk_rsa.c quic.c sniffer.c ssl.c ssl_api_cert.c ssl_api_crl_ocsp.c ssl_api_pk.c ssl_asn1.c ssl_bn.c ssl_certman.c ssl_crypto.c ssl_ech.c ssl_load.c ssl_misc.c ssl_p7p12.c ssl_sess.c ssl_sk.c tls.c tls13.c wolfio.c x509.c x509_str.c
sslSniffer
sslSnifferTest README_WIN.md include.am snifftest.c sslSniffTest.vcproj sslSniffTest.vcxproj
README.md sslSniffer.vcproj sslSniffer.vcxproj
support gen-debug-trace-error-codes.sh include.am wolfssl.pc.in
tests
api api.h api_decl.h create_ocsp_test_blobs.py include.am test_aes.c test_aes.h test_arc4.c test_arc4.h test_ascon.c test_ascon.h test_ascon_kats.h test_asn.c test_asn.h test_blake2.c test_blake2.h test_camellia.c test_camellia.h test_certman.c test_certman.h test_chacha.c test_chacha.h test_chacha20_poly1305.c test_chacha20_poly1305.h test_cmac.c test_cmac.h test_curve25519.c test_curve25519.h test_curve448.c test_curve448.h test_des3.c test_des3.h test_dh.c test_dh.h test_digest.h test_dsa.c test_dsa.h test_dtls.c test_dtls.h test_ecc.c test_ecc.h test_ed25519.c test_ed25519.h test_ed448.c test_ed448.h test_evp.c test_evp.h test_evp_cipher.c test_evp_cipher.h test_evp_digest.c test_evp_digest.h test_evp_pkey.c test_evp_pkey.h test_hash.c test_hash.h test_hmac.c test_hmac.h test_md2.c test_md2.h test_md4.c test_md4.h test_md5.c test_md5.h test_mldsa.c test_mldsa.h test_mlkem.c test_mlkem.h test_ocsp.c test_ocsp.h test_ocsp_test_blobs.h test_ossl_asn1.c test_ossl_asn1.h test_ossl_bio.c test_ossl_bio.h test_ossl_bn.c test_ossl_bn.h test_ossl_cipher.c test_ossl_cipher.h test_ossl_dgst.c test_ossl_dgst.h test_ossl_dh.c test_ossl_dh.h test_ossl_dsa.c test_ossl_dsa.h test_ossl_ec.c test_ossl_ec.h test_ossl_ecx.c test_ossl_ecx.h test_ossl_mac.c test_ossl_mac.h test_ossl_obj.c test_ossl_obj.h test_ossl_p7p12.c test_ossl_p7p12.h test_ossl_pem.c test_ossl_pem.h test_ossl_rand.c test_ossl_rand.h test_ossl_rsa.c test_ossl_rsa.h test_ossl_sk.c test_ossl_sk.h test_ossl_x509.c test_ossl_x509.h test_ossl_x509_acert.c test_ossl_x509_acert.h test_ossl_x509_crypto.c test_ossl_x509_crypto.h test_ossl_x509_ext.c test_ossl_x509_ext.h test_ossl_x509_info.c test_ossl_x509_info.h test_ossl_x509_io.c test_ossl_x509_io.h test_ossl_x509_lu.c test_ossl_x509_lu.h test_ossl_x509_name.c test_ossl_x509_name.h test_ossl_x509_pk.c test_ossl_x509_pk.h test_ossl_x509_str.c test_ossl_x509_str.h test_ossl_x509_vp.c test_ossl_x509_vp.h test_pkcs12.c test_pkcs12.h test_pkcs7.c test_pkcs7.h test_poly1305.c test_poly1305.h test_random.c test_random.h test_rc2.c test_rc2.h test_ripemd.c test_ripemd.h test_rsa.c test_rsa.h test_sha.c test_sha.h test_sha256.c test_sha256.h test_sha3.c test_sha3.h test_sha512.c test_sha512.h test_she.c test_she.h test_signature.c test_signature.h test_slhdsa.c test_slhdsa.h test_sm2.c test_sm2.h test_sm3.c test_sm3.h test_sm4.c test_sm4.h test_tls.c test_tls.h test_tls13.c test_tls13.h test_tls_ext.c test_tls_ext.h test_wc_encrypt.c test_wc_encrypt.h test_wolfmath.c test_wolfmath.h test_x509.c test_x509.h
emnet
IP IP.h
Makefile emnet_nonblock_test.c emnet_shim.c
freertos-mem-track-repro FreeRTOS.h repro.c run.sh semphr.h task.h user_settings.h
swdev .gitignore Makefile README.md swdev.c swdev.h swdev_loader.c swdev_loader.h user_settings.h
CONF_FILES_README.md NCONF_test.cnf README TXT_DB.txt api.c include.am quic.c srp.c suites.c test-altchains.conf test-chains.conf test-dhprime.conf test-dtls-downgrade.conf test-dtls-fails-cipher.conf test-dtls-fails.conf test-dtls-group.conf test-dtls-mtu.conf test-dtls-reneg-client.conf test-dtls-reneg-server.conf test-dtls-resume.conf test-dtls-sha2.conf test-dtls-srtp-fails.conf test-dtls-srtp.conf test-dtls.conf test-dtls13-cid.conf test-dtls13-downgrade-fails.conf test-dtls13-downgrade.conf test-dtls13-pq-hybrid-extra-frag.conf test-dtls13-pq-hybrid-extra.conf test-dtls13-pq-hybrid-frag.conf test-dtls13-pq-standalone-frag.conf test-dtls13-pq-standalone.conf test-dtls13-psk.conf test-dtls13.conf test-ecc-cust-curves.conf test-ed25519.conf test-ed448.conf test-enckeys.conf test-fails.conf test-maxfrag-dtls.conf test-maxfrag.conf test-p521.conf test-psk-no-id-sha2.conf test-psk-no-id.conf test-psk.conf test-rsapss.conf test-sctp-sha2.conf test-sctp.conf test-sha2.conf test-sig.conf test-sm2.conf test-tls-downgrade.conf test-tls13-down.conf test-tls13-ecc.conf test-tls13-pq-hybrid-extra.conf test-tls13-pq-hybrid.conf test-tls13-pq-standalone.conf test-tls13-psk-certs.conf test-tls13-psk.conf test-tls13-slhdsa-fail.conf test-tls13-slhdsa-sha2.conf test-tls13-slhdsa-shake.conf test-tls13.conf test-trustpeer.conf test.conf unit.c unit.h utils.c utils.h w64wrapper.c
testsuite include.am testsuite.c testsuite.sln testsuite.vcproj testsuite.vcxproj utils.c utils.h
tirtos
packages
ti
net
wolfssl
tests
EK_TM4C1294XL
wolfcrypt
benchmark TM4C1294NC.icf benchmark.cfg main.c package.bld.hide package.xdc
test TM4C1294NC.icf main.c package.bld.hide package.xdc test.cfg
package.bld package.xdc package.xs
.gitignore README include.am products.mak wolfssl.bld wolfssl.mak
wolfcrypt
benchmark README.md benchmark-VS2022.sln benchmark-VS2022.vcxproj benchmark-VS2022.vcxproj.user benchmark.c benchmark.h benchmark.sln benchmark.vcproj benchmark.vcxproj include.am
src
port
Espressif
esp_crt_bundle README.md cacrt_all.pem cacrt_deprecated.pem cacrt_local.pem esp_crt_bundle.c gen_crt_bundle.py pio_install_cryptography.py
README.md esp32_aes.c esp32_mp.c esp32_sha.c esp32_util.c esp_sdk_mem_lib.c esp_sdk_time_lib.c esp_sdk_wifi_lib.c
Renesas README.md renesas_common.c renesas_fspsm_aes.c renesas_fspsm_rsa.c renesas_fspsm_sha.c renesas_fspsm_util.c renesas_rx64_hw_sha.c renesas_rx64_hw_util.c renesas_tsip_aes.c renesas_tsip_rsa.c renesas_tsip_sha.c renesas_tsip_util.c
af_alg afalg_aes.c afalg_hash.c wc_afalg.c
aria aria-crypt.c aria-cryptocb.c
arm armv8-32-aes-asm.S armv8-32-aes-asm_c.c armv8-32-chacha-asm.S armv8-32-chacha-asm_c.c armv8-32-curve25519.S armv8-32-curve25519_c.c armv8-32-mlkem-asm.S armv8-32-mlkem-asm_c.c armv8-32-poly1305-asm.S armv8-32-poly1305-asm_c.c armv8-32-sha256-asm.S armv8-32-sha256-asm_c.c armv8-32-sha3-asm.S armv8-32-sha3-asm_c.c armv8-32-sha512-asm.S armv8-32-sha512-asm_c.c armv8-aes-asm.S armv8-aes-asm_c.c armv8-aes.c armv8-chacha-asm.S armv8-chacha-asm_c.c armv8-curve25519.S armv8-curve25519_c.c armv8-mlkem-asm.S armv8-mlkem-asm_c.c armv8-poly1305-asm.S armv8-poly1305-asm_c.c armv8-sha256-asm.S armv8-sha256-asm_c.c armv8-sha256.c armv8-sha3-asm.S armv8-sha3-asm_c.c armv8-sha512-asm.S armv8-sha512-asm_c.c armv8-sha512.c cryptoCell.c cryptoCellHash.c thumb2-aes-asm.S thumb2-aes-asm_c.c thumb2-chacha-asm.S thumb2-chacha-asm_c.c thumb2-curve25519.S thumb2-curve25519_c.c thumb2-mlkem-asm.S thumb2-mlkem-asm_c.c thumb2-poly1305-asm.S thumb2-poly1305-asm_c.c thumb2-sha256-asm.S thumb2-sha256-asm_c.c thumb2-sha3-asm.S thumb2-sha3-asm_c.c thumb2-sha512-asm.S thumb2-sha512-asm_c.c
atmel README.md atmel.c
autosar README.md cryif.c crypto.c csm.c include.am test.c
caam README.md caam_aes.c caam_doc.pdf caam_driver.c caam_error.c caam_integrity.c caam_qnx.c caam_sha.c wolfcaam_aes.c wolfcaam_cmac.c wolfcaam_ecdsa.c wolfcaam_fsl_nxp.c wolfcaam_hash.c wolfcaam_hmac.c wolfcaam_init.c wolfcaam_qnx.c wolfcaam_rsa.c wolfcaam_seco.c wolfcaam_x25519.c
cavium README.md README_Octeon.md cavium_nitrox.c cavium_octeon_sync.c
cuda README.md aes-cuda.cu
cypress README.md psoc6_crypto.c
devcrypto README.md devcrypto_aes.c devcrypto_ecdsa.c devcrypto_hash.c devcrypto_hmac.c devcrypto_rsa.c devcrypto_x25519.c wc_devcrypto.c
intel README.md quickassist.c quickassist_mem.c quickassist_sync.c
iotsafe iotsafe.c
kcapi README.md kcapi_aes.c kcapi_dh.c kcapi_ecc.c kcapi_hash.c kcapi_hmac.c kcapi_rsa.c
liboqs liboqs.c
maxim README.md max3266x.c maxq10xx.c
mynewt mynewt_port.c
nxp README.md README_SE050.md casper_port.c dcp_port.c hashcrypt_port.c ksdk_port.c se050_port.c
pic32 pic32mz-crypt.c
ppc32 ppc32-sha256-asm.S ppc32-sha256-asm_c.c ppc32-sha256-asm_cr.c
psa README.md psa.c psa_aes.c psa_hash.c psa_pkcbs.c
riscv riscv-64-aes.c riscv-64-chacha.c riscv-64-poly1305.c riscv-64-sha256.c riscv-64-sha3.c riscv-64-sha512.c
rpi_pico README.md pico.c
silabs README.md silabs_aes.c silabs_ecc.c silabs_hash.c silabs_random.c
st README.md STM32MP13.md STM32MP25.md stm32.c stsafe.c
ti ti-aes.c ti-ccm.c ti-des3.c ti-hash.c
tropicsquare README.md tropic01.c
xilinx xil-aesgcm.c xil-sha3.c xil-versal-glue.c xil-versal-trng.c
nrf51.c
ASN_TEMPLATE.md aes.c aes_asm.S aes_asm.asm aes_gcm_asm.S aes_gcm_asm.asm aes_gcm_x86_asm.S aes_xts_asm.S aes_xts_asm.asm arc4.c ascon.c asm.c asn.c asn_orig.c async.c blake2b.c blake2s.c camellia.c chacha.c chacha20_poly1305.c chacha_asm.S chacha_asm.asm cmac.c coding.c compress.c cpuid.c cryptocb.c curve25519.c curve448.c des3.c dh.c dilithium.c dsa.c ecc.c ecc_fp.c eccsi.c ed25519.c ed448.c error.c evp.c evp_pk.c falcon.c fe_448.c fe_low_mem.c fe_operations.c fe_x25519_128.h fe_x25519_asm.S fp_mont_small.i fp_mul_comba_12.i fp_mul_comba_17.i fp_mul_comba_20.i fp_mul_comba_24.i fp_mul_comba_28.i fp_mul_comba_3.i fp_mul_comba_32.i fp_mul_comba_4.i fp_mul_comba_48.i fp_mul_comba_6.i fp_mul_comba_64.i fp_mul_comba_7.i fp_mul_comba_8.i fp_mul_comba_9.i fp_mul_comba_small_set.i fp_sqr_comba_12.i fp_sqr_comba_17.i fp_sqr_comba_20.i fp_sqr_comba_24.i fp_sqr_comba_28.i fp_sqr_comba_3.i fp_sqr_comba_32.i fp_sqr_comba_4.i fp_sqr_comba_48.i fp_sqr_comba_6.i fp_sqr_comba_64.i fp_sqr_comba_7.i fp_sqr_comba_8.i fp_sqr_comba_9.i fp_sqr_comba_small_set.i ge_448.c ge_low_mem.c ge_operations.c hash.c hmac.c hpke.c include.am integer.c kdf.c logging.c md2.c md4.c md5.c memory.c misc.c pkcs12.c pkcs7.c poly1305.c poly1305_asm.S poly1305_asm.asm puf.c pwdbased.c random.c rc2.c ripemd.c rng_bank.c rsa.c sakke.c sha.c sha256.c sha256_asm.S sha3.c sha3_asm.S sha512.c sha512_asm.S signature.c siphash.c sm2.c sm3.c sm3_asm.S sm4.c sp_arm32.c sp_arm64.c sp_armthumb.c sp_c32.c sp_c64.c sp_cortexm.c sp_dsp32.c sp_int.c sp_sm2_arm32.c sp_sm2_arm64.c sp_sm2_armthumb.c sp_sm2_c32.c sp_sm2_c64.c sp_sm2_cortexm.c sp_sm2_x86_64.c sp_sm2_x86_64_asm.S sp_x86_64.c sp_x86_64_asm.S sp_x86_64_asm.asm srp.c tfm.c wc_dsp.c wc_encrypt.c wc_lms.c wc_lms_impl.c wc_mldsa_asm.S wc_mlkem.c wc_mlkem_asm.S wc_mlkem_poly.c wc_pkcs11.c wc_port.c wc_she.c wc_slhdsa.c wc_xmss.c wc_xmss_impl.c wolfentropy.c wolfevent.c wolfmath.c
test README.md include.am test-VS2022.sln test-VS2022.vcxproj test-VS2022.vcxproj.user test.c test.h test.sln test.vcproj test_paths.h.in
wolfssl
openssl aes.h asn1.h asn1t.h bio.h bn.h buffer.h camellia.h cmac.h cms.h compat_types.h conf.h crypto.h des.h dh.h dsa.h ec.h ec25519.h ec448.h ecdh.h ecdsa.h ed25519.h ed448.h engine.h err.h evp.h fips_rand.h hmac.h include.am kdf.h lhash.h md4.h md5.h modes.h obj_mac.h objects.h ocsp.h opensslconf.h opensslv.h ossl_typ.h pem.h pkcs12.h pkcs7.h rand.h rc4.h ripemd.h rsa.h safestack.h sha.h sha3.h srp.h ssl.h ssl23.h stack.h tls1.h txt_db.h ui.h x509.h x509_vfy.h x509v3.h
wolfcrypt
port
Espressif esp-sdk-lib.h esp32-crypt.h esp_crt_bundle.h
Renesas renesas-fspsm-crypt.h renesas-fspsm-types.h renesas-rx64-hw-crypt.h renesas-tsip-crypt.h renesas_cmn.h renesas_fspsm_internal.h renesas_sync.h renesas_tsip_internal.h renesas_tsip_types.h
af_alg afalg_hash.h wc_afalg.h
aria aria-crypt.h aria-cryptocb.h
arm cryptoCell.h
atmel atmel.h
autosar CryIf.h Crypto.h Csm.h StandardTypes.h
caam caam_driver.h caam_error.h caam_qnx.h wolfcaam.h wolfcaam_aes.h wolfcaam_cmac.h wolfcaam_ecdsa.h wolfcaam_fsl_nxp.h wolfcaam_hash.h wolfcaam_qnx.h wolfcaam_rsa.h wolfcaam_seco.h wolfcaam_sha.h wolfcaam_x25519.h
cavium cavium_nitrox.h cavium_octeon_sync.h
cypress psoc6_crypto.h
devcrypto wc_devcrypto.h
intel quickassist.h quickassist_mem.h quickassist_sync.h
iotsafe iotsafe.h
kcapi kcapi_dh.h kcapi_ecc.h kcapi_hash.h kcapi_hmac.h kcapi_rsa.h wc_kcapi.h
liboqs liboqs.h
maxim max3266x-cryptocb.h max3266x.h maxq10xx.h
nxp casper_port.h dcp_port.h hashcrypt_port.h ksdk_port.h se050_port.h
pic32 pic32mz-crypt.h
psa psa.h
riscv riscv-64-asm.h
rpi_pico pico.h
silabs silabs_aes.h silabs_ecc.h silabs_hash.h silabs_random.h
st stm32.h stsafe.h
ti ti-ccm.h ti-hash.h
tropicsquare tropic01.h
xilinx xil-sha3.h xil-versal-glue.h xil-versal-trng.h
nrf51.h
aes.h arc4.h ascon.h asn.h asn_public.h async.h blake2-impl.h blake2-int.h blake2.h camellia.h chacha.h chacha20_poly1305.h cmac.h coding.h compress.h cpuid.h cryptocb.h curve25519.h curve448.h des3.h dh.h dilithium.h dsa.h ecc.h eccsi.h ed25519.h ed448.h error-crypt.h falcon.h fe_448.h fe_operations.h fips_test.h ge_448.h ge_operations.h hash.h hmac.h hpke.h include.am integer.h kdf.h libwolfssl_sources.h libwolfssl_sources_asm.h logging.h md2.h md4.h md5.h mem_track.h memory.h misc.h mpi_class.h mpi_superclass.h oid_sum.h pkcs11.h pkcs12.h pkcs7.h poly1305.h puf.h pwdbased.h random.h rc2.h ripemd.h rng_bank.h rsa.h sakke.h selftest.h settings.h sha.h sha256.h sha3.h sha512.h signature.h siphash.h sm2.h sm3.h sm4.h sp.h sp_int.h srp.h tfm.h types.h visibility.h wc_encrypt.h wc_lms.h wc_mlkem.h wc_pkcs11.h wc_port.h wc_she.h wc_slhdsa.h wc_xmss.h wolfentropy.h wolfevent.h wolfmath.h
callbacks.h certs_test.h certs_test_sm.h crl.h error-ssl.h include.am internal.h ocsp.h options.h.in quic.h sniffer.h sniffer_error.h sniffer_error.rc ssl.h test.h version.h version.h.in wolfio.h
wrapper
Ada
examples
src aes_verify_main.adb rsa_verify_main.adb sha256_main.adb spark_sockets.adb spark_sockets.ads spark_terminal.adb spark_terminal.ads tls_client.adb tls_client.ads tls_client_main.adb tls_server.adb tls_server.ads tls_server_main.adb
.gitignore alire.toml examples.gpr
tests
src
support test_support.adb test_support.ads tests_root_suite.adb tests_root_suite.ads
aes_bindings_tests.adb aes_bindings_tests.ads rsa_verify_bindings_tests.adb rsa_verify_bindings_tests.ads sha256_bindings_tests.adb sha256_bindings_tests.ads tests.adb
.gitignore README.md alire.toml tests.gpr valgrind.supp
.gitignore README.md ada_binding.c alire.toml default.gpr include.am restricted.adc user_settings.h wolfssl-full_runtime.adb wolfssl-full_runtime.ads wolfssl.adb wolfssl.ads wolfssl.gpr
CSharp
wolfCrypt-Test
Properties AssemblyInfo.cs
App.config wolfCrypt-Test.cs wolfCrypt-Test.csproj
wolfSSL-DTLS-PSK-Server
Properties AssemblyInfo.cs
App.config wolfSSL-DTLS-PSK-Server.cs wolfSSL-DTLS-PSK-Server.csproj
wolfSSL-DTLS-Server
Properties AssemblyInfo.cs
App.config wolfSSL-DTLS-Server.cs wolfSSL-DTLS-Server.csproj
wolfSSL-Example-IOCallbacks
Properties AssemblyInfo.cs
App.config wolfSSL-Example-IOCallbacks.cs wolfSSL-Example-IOCallbacks.csproj
wolfSSL-TLS-Client
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-Client.cs wolfSSL-TLS-Client.csproj
wolfSSL-TLS-PSK-Client
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-PSK-Client.cs wolfSSL-TLS-PSK-Client.csproj
wolfSSL-TLS-PSK-Server
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-PSK-Server.cs wolfSSL-TLS-PSK-Server.csproj
wolfSSL-TLS-Server
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-Server.cs wolfSSL-TLS-Server.csproj
wolfSSL-TLS-ServerThreaded
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-ServerThreaded.cs wolfSSL-TLS-ServerThreaded.csproj
wolfSSL_CSharp
Properties AssemblyInfo.cs Resources.Designer.cs Resources.resx
X509.cs wolfCrypt.cs wolfSSL.cs wolfSSL_CSharp.csproj
README.md include.am user_settings.h wolfSSL_CSharp.sln wolfssl.vcxproj
python README.md
rust
wolfssl-wolfcrypt
src aes.rs blake2.rs chacha20_poly1305.rs cmac.rs cmac_mac.rs curve25519.rs dh.rs dilithium.rs ecc.rs ecdsa.rs ed25519.rs ed448.rs fips.rs hkdf.rs hmac.rs hmac_mac.rs kdf.rs lib.rs lms.rs mlkem.rs mlkem_kem.rs pbkdf2_password_hash.rs prf.rs random.rs rsa.rs rsa_pkcs1v15.rs sha.rs sha_digest.rs sys.rs
tests
common mod.rs
test_aes.rs test_blake2.rs test_chacha20_poly1305.rs test_cmac.rs test_cmac_mac.rs test_curve25519.rs test_dh.rs test_dilithium.rs test_ecc.rs test_ecdsa.rs test_ed25519.rs test_ed448.rs test_hkdf.rs test_hmac.rs test_hmac_mac.rs test_kdf.rs test_lms.rs test_mlkem.rs test_mlkem_kem.rs test_pbkdf2_password_hash.rs test_prf.rs test_random.rs test_rsa.rs test_rsa_pkcs1v15.rs test_sha.rs test_sha_digest.rs test_wolfcrypt.rs
CHANGELOG.md Cargo.lock Cargo.toml Makefile README.md build.rs headers.h
Makefile README.md include.am
include.am
zephyr
samples
wolfssl_benchmark
boards native_sim.conf nrf5340dk_nrf5340_cpuapp.conf nrf5340dk_nrf5340_cpuapp_ns.conf
CMakeLists.txt README install_test.sh prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl_test
boards native_sim.conf nrf5340dk_nrf5340_cpuapp.conf nrf5340dk_nrf5340_cpuapp_ns.conf
CMakeLists.txt README install_test.sh prj-no-malloc.conf prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl_tls_sock
boards native_sim.conf
src tls_sock.c
CMakeLists.txt README install_sample.sh prj-no-malloc.conf prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl_tls_thread
boards native_sim.conf nrf5340dk_nrf5340_cpuapp.conf nrf5340dk_nrf5340_cpuapp_ns.conf
src tls_threaded.c
CMakeLists.txt README install_sample.sh prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl options.h
CMakeLists.txt Kconfig Kconfig.tls-generic README.md include.am module.yml user_settings-no-malloc.h user_settings.h zephyr_init.c
.codespellexcludelines .cyignore .editorconfig .gitignore .wolfssl_known_macro_extras AUTHORS CMakeLists.txt CMakePresets.json CMakeSettings.json COPYING ChangeLog.md INSTALL LICENSING LPCExpresso.cproject LPCExpresso.project Makefile.am README README-async.md README.md SCRIPTS-LIST SECURITY-POLICY.md SECURITY-REPORT-TEMPLATE.md Vagrantfile autogen.sh commit-tests.sh configure.ac fips-check.sh fips-hash.sh gencertbuf.pl input pull_to_vagrant.sh quit resource.h stamp-h.in valgrind-bash.supp valgrind-error.sh wnr-example.conf wolfssl-VS2022.vcxproj wolfssl.rc wolfssl.vcproj wolfssl.vcxproj wolfssl64.sln
.clangd .gitignore DOCS.md Makefile README.md assert.c core.c crypto.c env.c fs.c http.c ini.c json.c log.c luna.h main.c makext.mk path.c process.c request.c sqlite.c stash.c template.c util.c
wolfssl/wolfcrypt/src/aes_xts_asm.S raw
   1/* aes_xts_asm.S */
   2/*
   3 * Copyright (C) 2006-2026 wolfSSL Inc.
   4 *
   5 * This file is part of wolfSSL.
   6 *
   7 * wolfSSL is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License as published by
   9 * the Free Software Foundation; either version 3 of the License, or
  10 * (at your option) any later version.
  11 *
  12 * wolfSSL is distributed in the hope that it will be useful,
  13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15 * GNU General Public License for more details.
  16 *
  17 * You should have received a copy of the GNU General Public License
  18 * along with this program; if not, write to the Free Software
  19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
  20 */
  21
  22#ifdef WOLFSSL_USER_SETTINGS
  23#ifdef WOLFSSL_USER_SETTINGS_ASM
  24/*
  25 * user_settings_asm.h is a file generated by the script user_settings_asm.sh.
  26 * The script takes in a user_settings.h and produces user_settings_asm.h, which
  27 * is a stripped down version of user_settings.h containing only preprocessor
  28 * directives. This makes the header safe to include in assembly (.S) files.
  29 */
  30#include "user_settings_asm.h"
  31#else
  32/*
  33 * Note: if user_settings.h contains any C code (e.g. a typedef or function
  34 * prototype), including it here in an assembly (.S) file will cause an
  35 * assembler failure. See user_settings_asm.h above.
  36 */
  37#include "user_settings.h"
  38#endif /* WOLFSSL_USER_SETTINGS_ASM */
  39#endif /* WOLFSSL_USER_SETTINGS */
  40
  41#ifndef HAVE_INTEL_AVX1
  42#define HAVE_INTEL_AVX1
  43#endif /* HAVE_INTEL_AVX1 */
  44#ifndef NO_AVX2_SUPPORT
  45#ifndef HAVE_INTEL_AVX2
  46#define HAVE_INTEL_AVX2
  47#endif /* HAVE_INTEL_AVX2 */
  48#endif /* NO_AVX2_SUPPORT */
  49
  50#ifdef WOLFSSL_AES_XTS
  51#ifdef WOLFSSL_X86_64_BUILD
  52#ifndef __APPLE__
  53.text
  54.globl	AES_XTS_init_aesni
  55.type	AES_XTS_init_aesni,@function
  56.align	16
  57AES_XTS_init_aesni:
  58#else
  59.section	__TEXT,__text
  60.globl	_AES_XTS_init_aesni
  61.p2align	4
  62_AES_XTS_init_aesni:
  63#endif /* __APPLE__ */
  64        movdqu	(%rdi), %xmm0
  65        # aes_enc_block
  66        pxor	(%rsi), %xmm0
  67        movdqu	16(%rsi), %xmm2
  68        aesenc	%xmm2, %xmm0
  69        movdqu	32(%rsi), %xmm2
  70        aesenc	%xmm2, %xmm0
  71        movdqu	48(%rsi), %xmm2
  72        aesenc	%xmm2, %xmm0
  73        movdqu	64(%rsi), %xmm2
  74        aesenc	%xmm2, %xmm0
  75        movdqu	80(%rsi), %xmm2
  76        aesenc	%xmm2, %xmm0
  77        movdqu	96(%rsi), %xmm2
  78        aesenc	%xmm2, %xmm0
  79        movdqu	112(%rsi), %xmm2
  80        aesenc	%xmm2, %xmm0
  81        movdqu	128(%rsi), %xmm2
  82        aesenc	%xmm2, %xmm0
  83        movdqu	144(%rsi), %xmm2
  84        aesenc	%xmm2, %xmm0
  85        cmpl	$11, %edx
  86        movdqu	160(%rsi), %xmm2
  87        jl	L_AES_XTS_init_aesni_tweak_aes_enc_block_last
  88        aesenc	%xmm2, %xmm0
  89        movdqu	176(%rsi), %xmm3
  90        aesenc	%xmm3, %xmm0
  91        cmpl	$13, %edx
  92        movdqu	192(%rsi), %xmm2
  93        jl	L_AES_XTS_init_aesni_tweak_aes_enc_block_last
  94        aesenc	%xmm2, %xmm0
  95        movdqu	208(%rsi), %xmm3
  96        aesenc	%xmm3, %xmm0
  97        movdqu	224(%rsi), %xmm2
  98L_AES_XTS_init_aesni_tweak_aes_enc_block_last:
  99        aesenclast	%xmm2, %xmm0
 100        movdqu	%xmm0, (%rdi)
 101        repz retq
 102#ifndef __APPLE__
 103.size	AES_XTS_init_aesni,.-AES_XTS_init_aesni
 104#endif /* __APPLE__ */
 105#ifndef __APPLE__
 106.data
 107#else
 108.section	__DATA,__data
 109#endif /* __APPLE__ */
 110#ifndef __APPLE__
 111.align	16
 112#else
 113.p2align	4
 114#endif /* __APPLE__ */
 115L_aes_xts_gc_xts:
 116.long	0x00000087,0x00000001,0x00000001,0x00000001
 117#ifndef __APPLE__
 118.text
 119.globl	AES_XTS_encrypt_aesni
 120.type	AES_XTS_encrypt_aesni,@function
 121.align	16
 122AES_XTS_encrypt_aesni:
 123#else
 124.section	__TEXT,__text
 125.globl	_AES_XTS_encrypt_aesni
 126.p2align	4
 127_AES_XTS_encrypt_aesni:
 128#endif /* __APPLE__ */
 129        pushq	%r12
 130        pushq	%r13
 131        movq	%rdx, %rax
 132        movq	%rcx, %r12
 133        movl	24(%rsp), %r10d
 134        subq	$0x40, %rsp
 135        movdqu	L_aes_xts_gc_xts(%rip), %xmm12
 136        movdqu	(%r12), %xmm0
 137        # aes_enc_block
 138        pxor	(%r9), %xmm0
 139        movdqu	16(%r9), %xmm5
 140        aesenc	%xmm5, %xmm0
 141        movdqu	32(%r9), %xmm5
 142        aesenc	%xmm5, %xmm0
 143        movdqu	48(%r9), %xmm5
 144        aesenc	%xmm5, %xmm0
 145        movdqu	64(%r9), %xmm5
 146        aesenc	%xmm5, %xmm0
 147        movdqu	80(%r9), %xmm5
 148        aesenc	%xmm5, %xmm0
 149        movdqu	96(%r9), %xmm5
 150        aesenc	%xmm5, %xmm0
 151        movdqu	112(%r9), %xmm5
 152        aesenc	%xmm5, %xmm0
 153        movdqu	128(%r9), %xmm5
 154        aesenc	%xmm5, %xmm0
 155        movdqu	144(%r9), %xmm5
 156        aesenc	%xmm5, %xmm0
 157        cmpl	$11, %r10d
 158        movdqu	160(%r9), %xmm5
 159        jl	L_AES_XTS_encrypt_aesni_tweak_aes_enc_block_last
 160        aesenc	%xmm5, %xmm0
 161        movdqu	176(%r9), %xmm6
 162        aesenc	%xmm6, %xmm0
 163        cmpl	$13, %r10d
 164        movdqu	192(%r9), %xmm5
 165        jl	L_AES_XTS_encrypt_aesni_tweak_aes_enc_block_last
 166        aesenc	%xmm5, %xmm0
 167        movdqu	208(%r9), %xmm6
 168        aesenc	%xmm6, %xmm0
 169        movdqu	224(%r9), %xmm5
 170L_AES_XTS_encrypt_aesni_tweak_aes_enc_block_last:
 171        aesenclast	%xmm5, %xmm0
 172        xorl	%r13d, %r13d
 173        cmpl	$0x40, %eax
 174        movl	%eax, %r11d
 175        jl	L_AES_XTS_encrypt_aesni_done_64
 176        andl	$0xffffffc0, %r11d
 177L_AES_XTS_encrypt_aesni_enc_64:
 178        # 64 bytes of input
 179        # aes_enc_64
 180        leaq	(%rdi,%r13,1), %rcx
 181        leaq	(%rsi,%r13,1), %rdx
 182        movdqu	(%rcx), %xmm8
 183        movdqu	16(%rcx), %xmm9
 184        movdqu	32(%rcx), %xmm10
 185        movdqu	48(%rcx), %xmm11
 186        movdqa	%xmm0, %xmm4
 187        movdqa	%xmm0, %xmm1
 188        psrad	$31, %xmm4
 189        pslld	$0x01, %xmm1
 190        pshufd	$0x93, %xmm4, %xmm4
 191        pand	%xmm12, %xmm4
 192        pxor	%xmm4, %xmm1
 193        movdqa	%xmm1, %xmm4
 194        movdqa	%xmm1, %xmm2
 195        psrad	$31, %xmm4
 196        pslld	$0x01, %xmm2
 197        pshufd	$0x93, %xmm4, %xmm4
 198        pand	%xmm12, %xmm4
 199        pxor	%xmm4, %xmm2
 200        movdqa	%xmm2, %xmm4
 201        movdqa	%xmm2, %xmm3
 202        psrad	$31, %xmm4
 203        pslld	$0x01, %xmm3
 204        pshufd	$0x93, %xmm4, %xmm4
 205        pand	%xmm12, %xmm4
 206        pxor	%xmm4, %xmm3
 207        pxor	%xmm0, %xmm8
 208        pxor	%xmm1, %xmm9
 209        pxor	%xmm2, %xmm10
 210        pxor	%xmm3, %xmm11
 211        # aes_enc_block
 212        movdqu	(%r8), %xmm4
 213        pxor	%xmm4, %xmm8
 214        pxor	%xmm4, %xmm9
 215        pxor	%xmm4, %xmm10
 216        pxor	%xmm4, %xmm11
 217        movdqu	16(%r8), %xmm4
 218        aesenc	%xmm4, %xmm8
 219        aesenc	%xmm4, %xmm9
 220        aesenc	%xmm4, %xmm10
 221        aesenc	%xmm4, %xmm11
 222        movdqu	32(%r8), %xmm4
 223        aesenc	%xmm4, %xmm8
 224        aesenc	%xmm4, %xmm9
 225        aesenc	%xmm4, %xmm10
 226        aesenc	%xmm4, %xmm11
 227        movdqu	48(%r8), %xmm4
 228        aesenc	%xmm4, %xmm8
 229        aesenc	%xmm4, %xmm9
 230        aesenc	%xmm4, %xmm10
 231        aesenc	%xmm4, %xmm11
 232        movdqu	64(%r8), %xmm4
 233        aesenc	%xmm4, %xmm8
 234        aesenc	%xmm4, %xmm9
 235        aesenc	%xmm4, %xmm10
 236        aesenc	%xmm4, %xmm11
 237        movdqu	80(%r8), %xmm4
 238        aesenc	%xmm4, %xmm8
 239        aesenc	%xmm4, %xmm9
 240        aesenc	%xmm4, %xmm10
 241        aesenc	%xmm4, %xmm11
 242        movdqu	96(%r8), %xmm4
 243        aesenc	%xmm4, %xmm8
 244        aesenc	%xmm4, %xmm9
 245        aesenc	%xmm4, %xmm10
 246        aesenc	%xmm4, %xmm11
 247        movdqu	112(%r8), %xmm4
 248        aesenc	%xmm4, %xmm8
 249        aesenc	%xmm4, %xmm9
 250        aesenc	%xmm4, %xmm10
 251        aesenc	%xmm4, %xmm11
 252        movdqu	128(%r8), %xmm4
 253        aesenc	%xmm4, %xmm8
 254        aesenc	%xmm4, %xmm9
 255        aesenc	%xmm4, %xmm10
 256        aesenc	%xmm4, %xmm11
 257        movdqu	144(%r8), %xmm4
 258        aesenc	%xmm4, %xmm8
 259        aesenc	%xmm4, %xmm9
 260        aesenc	%xmm4, %xmm10
 261        aesenc	%xmm4, %xmm11
 262        cmpl	$11, %r10d
 263        movdqu	160(%r8), %xmm4
 264        jl	L_AES_XTS_encrypt_aesni_aes_enc_64_aes_enc_block_last
 265        aesenc	%xmm4, %xmm8
 266        aesenc	%xmm4, %xmm9
 267        aesenc	%xmm4, %xmm10
 268        aesenc	%xmm4, %xmm11
 269        movdqu	176(%r8), %xmm4
 270        aesenc	%xmm4, %xmm8
 271        aesenc	%xmm4, %xmm9
 272        aesenc	%xmm4, %xmm10
 273        aesenc	%xmm4, %xmm11
 274        cmpl	$13, %r10d
 275        movdqu	192(%r8), %xmm4
 276        jl	L_AES_XTS_encrypt_aesni_aes_enc_64_aes_enc_block_last
 277        aesenc	%xmm4, %xmm8
 278        aesenc	%xmm4, %xmm9
 279        aesenc	%xmm4, %xmm10
 280        aesenc	%xmm4, %xmm11
 281        movdqu	208(%r8), %xmm4
 282        aesenc	%xmm4, %xmm8
 283        aesenc	%xmm4, %xmm9
 284        aesenc	%xmm4, %xmm10
 285        aesenc	%xmm4, %xmm11
 286        movdqu	224(%r8), %xmm4
 287L_AES_XTS_encrypt_aesni_aes_enc_64_aes_enc_block_last:
 288        aesenclast	%xmm4, %xmm8
 289        aesenclast	%xmm4, %xmm9
 290        aesenclast	%xmm4, %xmm10
 291        aesenclast	%xmm4, %xmm11
 292        pxor	%xmm0, %xmm8
 293        pxor	%xmm1, %xmm9
 294        pxor	%xmm2, %xmm10
 295        pxor	%xmm3, %xmm11
 296        movdqu	%xmm8, (%rdx)
 297        movdqu	%xmm9, 16(%rdx)
 298        movdqu	%xmm10, 32(%rdx)
 299        movdqu	%xmm11, 48(%rdx)
 300        movdqa	%xmm3, %xmm4
 301        movdqa	%xmm3, %xmm0
 302        psrad	$31, %xmm4
 303        pslld	$0x01, %xmm0
 304        pshufd	$0x93, %xmm4, %xmm4
 305        pand	%xmm12, %xmm4
 306        pxor	%xmm4, %xmm0
 307        addl	$0x40, %r13d
 308        cmpl	%r11d, %r13d
 309        jl	L_AES_XTS_encrypt_aesni_enc_64
 310L_AES_XTS_encrypt_aesni_done_64:
 311        cmpl	%eax, %r13d
 312        movl	%eax, %r11d
 313        je	L_AES_XTS_encrypt_aesni_done_enc
 314        subl	%r13d, %r11d
 315        cmpl	$16, %r11d
 316        movl	%eax, %r11d
 317        jl	L_AES_XTS_encrypt_aesni_last_15
 318        andl	$0xfffffff0, %r11d
 319        # 16 bytes of input
 320L_AES_XTS_encrypt_aesni_enc_16:
 321        leaq	(%rdi,%r13,1), %rcx
 322        movdqu	(%rcx), %xmm8
 323        pxor	%xmm0, %xmm8
 324        # aes_enc_block
 325        pxor	(%r8), %xmm8
 326        movdqu	16(%r8), %xmm5
 327        aesenc	%xmm5, %xmm8
 328        movdqu	32(%r8), %xmm5
 329        aesenc	%xmm5, %xmm8
 330        movdqu	48(%r8), %xmm5
 331        aesenc	%xmm5, %xmm8
 332        movdqu	64(%r8), %xmm5
 333        aesenc	%xmm5, %xmm8
 334        movdqu	80(%r8), %xmm5
 335        aesenc	%xmm5, %xmm8
 336        movdqu	96(%r8), %xmm5
 337        aesenc	%xmm5, %xmm8
 338        movdqu	112(%r8), %xmm5
 339        aesenc	%xmm5, %xmm8
 340        movdqu	128(%r8), %xmm5
 341        aesenc	%xmm5, %xmm8
 342        movdqu	144(%r8), %xmm5
 343        aesenc	%xmm5, %xmm8
 344        cmpl	$11, %r10d
 345        movdqu	160(%r8), %xmm5
 346        jl	L_AES_XTS_encrypt_aesni_aes_enc_block_last
 347        aesenc	%xmm5, %xmm8
 348        movdqu	176(%r8), %xmm6
 349        aesenc	%xmm6, %xmm8
 350        cmpl	$13, %r10d
 351        movdqu	192(%r8), %xmm5
 352        jl	L_AES_XTS_encrypt_aesni_aes_enc_block_last
 353        aesenc	%xmm5, %xmm8
 354        movdqu	208(%r8), %xmm6
 355        aesenc	%xmm6, %xmm8
 356        movdqu	224(%r8), %xmm5
 357L_AES_XTS_encrypt_aesni_aes_enc_block_last:
 358        aesenclast	%xmm5, %xmm8
 359        pxor	%xmm0, %xmm8
 360        leaq	(%rsi,%r13,1), %rcx
 361        movdqu	%xmm8, (%rcx)
 362        movdqa	%xmm0, %xmm4
 363        psrad	$31, %xmm4
 364        pslld	$0x01, %xmm0
 365        pshufd	$0x93, %xmm4, %xmm4
 366        pand	%xmm12, %xmm4
 367        pxor	%xmm4, %xmm0
 368        addl	$16, %r13d
 369        cmpl	%r11d, %r13d
 370        jl	L_AES_XTS_encrypt_aesni_enc_16
 371        cmpl	%eax, %r13d
 372        je	L_AES_XTS_encrypt_aesni_done_enc
 373L_AES_XTS_encrypt_aesni_last_15:
 374        subq	$16, %r13
 375        leaq	(%rsi,%r13,1), %rcx
 376        movdqu	(%rcx), %xmm8
 377        addq	$16, %r13
 378        movdqu	%xmm8, (%rsp)
 379        xorq	%rdx, %rdx
 380L_AES_XTS_encrypt_aesni_last_15_byte_loop:
 381        movb	(%rsp,%rdx,1), %r11b
 382        movb	(%rdi,%r13,1), %cl
 383        movb	%r11b, (%rsi,%r13,1)
 384        movb	%cl, (%rsp,%rdx,1)
 385        incl	%r13d
 386        incl	%edx
 387        cmpl	%eax, %r13d
 388        jl	L_AES_XTS_encrypt_aesni_last_15_byte_loop
 389        subq	%rdx, %r13
 390        movdqu	(%rsp), %xmm8
 391        subq	$16, %r13
 392        pxor	%xmm0, %xmm8
 393        # aes_enc_block
 394        pxor	(%r8), %xmm8
 395        movdqu	16(%r8), %xmm5
 396        aesenc	%xmm5, %xmm8
 397        movdqu	32(%r8), %xmm5
 398        aesenc	%xmm5, %xmm8
 399        movdqu	48(%r8), %xmm5
 400        aesenc	%xmm5, %xmm8
 401        movdqu	64(%r8), %xmm5
 402        aesenc	%xmm5, %xmm8
 403        movdqu	80(%r8), %xmm5
 404        aesenc	%xmm5, %xmm8
 405        movdqu	96(%r8), %xmm5
 406        aesenc	%xmm5, %xmm8
 407        movdqu	112(%r8), %xmm5
 408        aesenc	%xmm5, %xmm8
 409        movdqu	128(%r8), %xmm5
 410        aesenc	%xmm5, %xmm8
 411        movdqu	144(%r8), %xmm5
 412        aesenc	%xmm5, %xmm8
 413        cmpl	$11, %r10d
 414        movdqu	160(%r8), %xmm5
 415        jl	L_AES_XTS_encrypt_aesni_last_15_aes_enc_block_last
 416        aesenc	%xmm5, %xmm8
 417        movdqu	176(%r8), %xmm6
 418        aesenc	%xmm6, %xmm8
 419        cmpl	$13, %r10d
 420        movdqu	192(%r8), %xmm5
 421        jl	L_AES_XTS_encrypt_aesni_last_15_aes_enc_block_last
 422        aesenc	%xmm5, %xmm8
 423        movdqu	208(%r8), %xmm6
 424        aesenc	%xmm6, %xmm8
 425        movdqu	224(%r8), %xmm5
 426L_AES_XTS_encrypt_aesni_last_15_aes_enc_block_last:
 427        aesenclast	%xmm5, %xmm8
 428        pxor	%xmm0, %xmm8
 429        leaq	(%rsi,%r13,1), %rcx
 430        movdqu	%xmm8, (%rcx)
 431L_AES_XTS_encrypt_aesni_done_enc:
 432        addq	$0x40, %rsp
 433        popq	%r13
 434        popq	%r12
 435        repz retq
 436#ifndef __APPLE__
 437.size	AES_XTS_encrypt_aesni,.-AES_XTS_encrypt_aesni
 438#endif /* __APPLE__ */
 439#ifndef __APPLE__
 440.text
 441.globl	AES_XTS_encrypt_update_aesni
 442.type	AES_XTS_encrypt_update_aesni,@function
 443.align	16
 444AES_XTS_encrypt_update_aesni:
 445#else
 446.section	__TEXT,__text
 447.globl	_AES_XTS_encrypt_update_aesni
 448.p2align	4
 449_AES_XTS_encrypt_update_aesni:
 450#endif /* __APPLE__ */
 451        pushq	%r12
 452        movq	%rdx, %rax
 453        movq	%rcx, %r10
 454        subq	$0x40, %rsp
 455        movdqu	L_aes_xts_gc_xts(%rip), %xmm12
 456        movdqu	(%r8), %xmm0
 457        xorl	%r12d, %r12d
 458        cmpl	$0x40, %eax
 459        movl	%eax, %r11d
 460        jl	L_AES_XTS_encrypt_update_aesni_done_64
 461        andl	$0xffffffc0, %r11d
 462L_AES_XTS_encrypt_update_aesni_enc_64:
 463        # 64 bytes of input
 464        # aes_enc_64
 465        leaq	(%rdi,%r12,1), %rcx
 466        leaq	(%rsi,%r12,1), %rdx
 467        movdqu	(%rcx), %xmm8
 468        movdqu	16(%rcx), %xmm9
 469        movdqu	32(%rcx), %xmm10
 470        movdqu	48(%rcx), %xmm11
 471        movdqa	%xmm0, %xmm4
 472        movdqa	%xmm0, %xmm1
 473        psrad	$31, %xmm4
 474        pslld	$0x01, %xmm1
 475        pshufd	$0x93, %xmm4, %xmm4
 476        pand	%xmm12, %xmm4
 477        pxor	%xmm4, %xmm1
 478        movdqa	%xmm1, %xmm4
 479        movdqa	%xmm1, %xmm2
 480        psrad	$31, %xmm4
 481        pslld	$0x01, %xmm2
 482        pshufd	$0x93, %xmm4, %xmm4
 483        pand	%xmm12, %xmm4
 484        pxor	%xmm4, %xmm2
 485        movdqa	%xmm2, %xmm4
 486        movdqa	%xmm2, %xmm3
 487        psrad	$31, %xmm4
 488        pslld	$0x01, %xmm3
 489        pshufd	$0x93, %xmm4, %xmm4
 490        pand	%xmm12, %xmm4
 491        pxor	%xmm4, %xmm3
 492        pxor	%xmm0, %xmm8
 493        pxor	%xmm1, %xmm9
 494        pxor	%xmm2, %xmm10
 495        pxor	%xmm3, %xmm11
 496        # aes_enc_block
 497        movdqu	(%r10), %xmm4
 498        pxor	%xmm4, %xmm8
 499        pxor	%xmm4, %xmm9
 500        pxor	%xmm4, %xmm10
 501        pxor	%xmm4, %xmm11
 502        movdqu	16(%r10), %xmm4
 503        aesenc	%xmm4, %xmm8
 504        aesenc	%xmm4, %xmm9
 505        aesenc	%xmm4, %xmm10
 506        aesenc	%xmm4, %xmm11
 507        movdqu	32(%r10), %xmm4
 508        aesenc	%xmm4, %xmm8
 509        aesenc	%xmm4, %xmm9
 510        aesenc	%xmm4, %xmm10
 511        aesenc	%xmm4, %xmm11
 512        movdqu	48(%r10), %xmm4
 513        aesenc	%xmm4, %xmm8
 514        aesenc	%xmm4, %xmm9
 515        aesenc	%xmm4, %xmm10
 516        aesenc	%xmm4, %xmm11
 517        movdqu	64(%r10), %xmm4
 518        aesenc	%xmm4, %xmm8
 519        aesenc	%xmm4, %xmm9
 520        aesenc	%xmm4, %xmm10
 521        aesenc	%xmm4, %xmm11
 522        movdqu	80(%r10), %xmm4
 523        aesenc	%xmm4, %xmm8
 524        aesenc	%xmm4, %xmm9
 525        aesenc	%xmm4, %xmm10
 526        aesenc	%xmm4, %xmm11
 527        movdqu	96(%r10), %xmm4
 528        aesenc	%xmm4, %xmm8
 529        aesenc	%xmm4, %xmm9
 530        aesenc	%xmm4, %xmm10
 531        aesenc	%xmm4, %xmm11
 532        movdqu	112(%r10), %xmm4
 533        aesenc	%xmm4, %xmm8
 534        aesenc	%xmm4, %xmm9
 535        aesenc	%xmm4, %xmm10
 536        aesenc	%xmm4, %xmm11
 537        movdqu	128(%r10), %xmm4
 538        aesenc	%xmm4, %xmm8
 539        aesenc	%xmm4, %xmm9
 540        aesenc	%xmm4, %xmm10
 541        aesenc	%xmm4, %xmm11
 542        movdqu	144(%r10), %xmm4
 543        aesenc	%xmm4, %xmm8
 544        aesenc	%xmm4, %xmm9
 545        aesenc	%xmm4, %xmm10
 546        aesenc	%xmm4, %xmm11
 547        cmpl	$11, %r9d
 548        movdqu	160(%r10), %xmm4
 549        jl	L_AES_XTS_encrypt_update_aesni_aes_enc_64_aes_enc_block_last
 550        aesenc	%xmm4, %xmm8
 551        aesenc	%xmm4, %xmm9
 552        aesenc	%xmm4, %xmm10
 553        aesenc	%xmm4, %xmm11
 554        movdqu	176(%r10), %xmm4
 555        aesenc	%xmm4, %xmm8
 556        aesenc	%xmm4, %xmm9
 557        aesenc	%xmm4, %xmm10
 558        aesenc	%xmm4, %xmm11
 559        cmpl	$13, %r9d
 560        movdqu	192(%r10), %xmm4
 561        jl	L_AES_XTS_encrypt_update_aesni_aes_enc_64_aes_enc_block_last
 562        aesenc	%xmm4, %xmm8
 563        aesenc	%xmm4, %xmm9
 564        aesenc	%xmm4, %xmm10
 565        aesenc	%xmm4, %xmm11
 566        movdqu	208(%r10), %xmm4
 567        aesenc	%xmm4, %xmm8
 568        aesenc	%xmm4, %xmm9
 569        aesenc	%xmm4, %xmm10
 570        aesenc	%xmm4, %xmm11
 571        movdqu	224(%r10), %xmm4
 572L_AES_XTS_encrypt_update_aesni_aes_enc_64_aes_enc_block_last:
 573        aesenclast	%xmm4, %xmm8
 574        aesenclast	%xmm4, %xmm9
 575        aesenclast	%xmm4, %xmm10
 576        aesenclast	%xmm4, %xmm11
 577        pxor	%xmm0, %xmm8
 578        pxor	%xmm1, %xmm9
 579        pxor	%xmm2, %xmm10
 580        pxor	%xmm3, %xmm11
 581        movdqu	%xmm8, (%rdx)
 582        movdqu	%xmm9, 16(%rdx)
 583        movdqu	%xmm10, 32(%rdx)
 584        movdqu	%xmm11, 48(%rdx)
 585        movdqa	%xmm3, %xmm4
 586        movdqa	%xmm3, %xmm0
 587        psrad	$31, %xmm4
 588        pslld	$0x01, %xmm0
 589        pshufd	$0x93, %xmm4, %xmm4
 590        pand	%xmm12, %xmm4
 591        pxor	%xmm4, %xmm0
 592        addl	$0x40, %r12d
 593        cmpl	%r11d, %r12d
 594        jl	L_AES_XTS_encrypt_update_aesni_enc_64
 595L_AES_XTS_encrypt_update_aesni_done_64:
 596        cmpl	%eax, %r12d
 597        movl	%eax, %r11d
 598        je	L_AES_XTS_encrypt_update_aesni_done_enc
 599        subl	%r12d, %r11d
 600        cmpl	$16, %r11d
 601        movl	%eax, %r11d
 602        jl	L_AES_XTS_encrypt_update_aesni_last_15
 603        andl	$0xfffffff0, %r11d
 604        # 16 bytes of input
 605L_AES_XTS_encrypt_update_aesni_enc_16:
 606        leaq	(%rdi,%r12,1), %rcx
 607        movdqu	(%rcx), %xmm8
 608        pxor	%xmm0, %xmm8
 609        # aes_enc_block
 610        pxor	(%r10), %xmm8
 611        movdqu	16(%r10), %xmm5
 612        aesenc	%xmm5, %xmm8
 613        movdqu	32(%r10), %xmm5
 614        aesenc	%xmm5, %xmm8
 615        movdqu	48(%r10), %xmm5
 616        aesenc	%xmm5, %xmm8
 617        movdqu	64(%r10), %xmm5
 618        aesenc	%xmm5, %xmm8
 619        movdqu	80(%r10), %xmm5
 620        aesenc	%xmm5, %xmm8
 621        movdqu	96(%r10), %xmm5
 622        aesenc	%xmm5, %xmm8
 623        movdqu	112(%r10), %xmm5
 624        aesenc	%xmm5, %xmm8
 625        movdqu	128(%r10), %xmm5
 626        aesenc	%xmm5, %xmm8
 627        movdqu	144(%r10), %xmm5
 628        aesenc	%xmm5, %xmm8
 629        cmpl	$11, %r9d
 630        movdqu	160(%r10), %xmm5
 631        jl	L_AES_XTS_encrypt_update_aesni_aes_enc_block_last
 632        aesenc	%xmm5, %xmm8
 633        movdqu	176(%r10), %xmm6
 634        aesenc	%xmm6, %xmm8
 635        cmpl	$13, %r9d
 636        movdqu	192(%r10), %xmm5
 637        jl	L_AES_XTS_encrypt_update_aesni_aes_enc_block_last
 638        aesenc	%xmm5, %xmm8
 639        movdqu	208(%r10), %xmm6
 640        aesenc	%xmm6, %xmm8
 641        movdqu	224(%r10), %xmm5
 642L_AES_XTS_encrypt_update_aesni_aes_enc_block_last:
 643        aesenclast	%xmm5, %xmm8
 644        pxor	%xmm0, %xmm8
 645        leaq	(%rsi,%r12,1), %rcx
 646        movdqu	%xmm8, (%rcx)
 647        movdqa	%xmm0, %xmm4
 648        psrad	$31, %xmm4
 649        pslld	$0x01, %xmm0
 650        pshufd	$0x93, %xmm4, %xmm4
 651        pand	%xmm12, %xmm4
 652        pxor	%xmm4, %xmm0
 653        addl	$16, %r12d
 654        cmpl	%r11d, %r12d
 655        jl	L_AES_XTS_encrypt_update_aesni_enc_16
 656        cmpl	%eax, %r12d
 657        je	L_AES_XTS_encrypt_update_aesni_done_enc
 658L_AES_XTS_encrypt_update_aesni_last_15:
 659        subq	$16, %r12
 660        leaq	(%rsi,%r12,1), %rcx
 661        movdqu	(%rcx), %xmm8
 662        addq	$16, %r12
 663        movdqu	%xmm8, (%rsp)
 664        xorq	%rdx, %rdx
 665L_AES_XTS_encrypt_update_aesni_last_15_byte_loop:
 666        movb	(%rsp,%rdx,1), %r11b
 667        movb	(%rdi,%r12,1), %cl
 668        movb	%r11b, (%rsi,%r12,1)
 669        movb	%cl, (%rsp,%rdx,1)
 670        incl	%r12d
 671        incl	%edx
 672        cmpl	%eax, %r12d
 673        jl	L_AES_XTS_encrypt_update_aesni_last_15_byte_loop
 674        subq	%rdx, %r12
 675        movdqu	(%rsp), %xmm8
 676        subq	$16, %r12
 677        pxor	%xmm0, %xmm8
 678        # aes_enc_block
 679        pxor	(%r10), %xmm8
 680        movdqu	16(%r10), %xmm5
 681        aesenc	%xmm5, %xmm8
 682        movdqu	32(%r10), %xmm5
 683        aesenc	%xmm5, %xmm8
 684        movdqu	48(%r10), %xmm5
 685        aesenc	%xmm5, %xmm8
 686        movdqu	64(%r10), %xmm5
 687        aesenc	%xmm5, %xmm8
 688        movdqu	80(%r10), %xmm5
 689        aesenc	%xmm5, %xmm8
 690        movdqu	96(%r10), %xmm5
 691        aesenc	%xmm5, %xmm8
 692        movdqu	112(%r10), %xmm5
 693        aesenc	%xmm5, %xmm8
 694        movdqu	128(%r10), %xmm5
 695        aesenc	%xmm5, %xmm8
 696        movdqu	144(%r10), %xmm5
 697        aesenc	%xmm5, %xmm8
 698        cmpl	$11, %r9d
 699        movdqu	160(%r10), %xmm5
 700        jl	L_AES_XTS_encrypt_update_aesni_last_15_aes_enc_block_last
 701        aesenc	%xmm5, %xmm8
 702        movdqu	176(%r10), %xmm6
 703        aesenc	%xmm6, %xmm8
 704        cmpl	$13, %r9d
 705        movdqu	192(%r10), %xmm5
 706        jl	L_AES_XTS_encrypt_update_aesni_last_15_aes_enc_block_last
 707        aesenc	%xmm5, %xmm8
 708        movdqu	208(%r10), %xmm6
 709        aesenc	%xmm6, %xmm8
 710        movdqu	224(%r10), %xmm5
 711L_AES_XTS_encrypt_update_aesni_last_15_aes_enc_block_last:
 712        aesenclast	%xmm5, %xmm8
 713        pxor	%xmm0, %xmm8
 714        leaq	(%rsi,%r12,1), %rcx
 715        movdqu	%xmm8, (%rcx)
 716L_AES_XTS_encrypt_update_aesni_done_enc:
 717        movdqu	%xmm0, (%r8)
 718        addq	$0x40, %rsp
 719        popq	%r12
 720        repz retq
 721#ifndef __APPLE__
 722.size	AES_XTS_encrypt_update_aesni,.-AES_XTS_encrypt_update_aesni
 723#endif /* __APPLE__ */
 724#ifndef __APPLE__
 725.text
 726.globl	AES_XTS_decrypt_aesni
 727.type	AES_XTS_decrypt_aesni,@function
 728.align	16
 729AES_XTS_decrypt_aesni:
 730#else
 731.section	__TEXT,__text
 732.globl	_AES_XTS_decrypt_aesni
 733.p2align	4
 734_AES_XTS_decrypt_aesni:
 735#endif /* __APPLE__ */
 736        pushq	%r12
 737        pushq	%r13
 738        movq	%rdx, %rax
 739        movq	%rcx, %r12
 740        movl	24(%rsp), %r10d
 741        subq	$16, %rsp
 742        movdqu	L_aes_xts_gc_xts(%rip), %xmm12
 743        movdqu	(%r12), %xmm0
 744        # aes_enc_block
 745        pxor	(%r9), %xmm0
 746        movdqu	16(%r9), %xmm5
 747        aesenc	%xmm5, %xmm0
 748        movdqu	32(%r9), %xmm5
 749        aesenc	%xmm5, %xmm0
 750        movdqu	48(%r9), %xmm5
 751        aesenc	%xmm5, %xmm0
 752        movdqu	64(%r9), %xmm5
 753        aesenc	%xmm5, %xmm0
 754        movdqu	80(%r9), %xmm5
 755        aesenc	%xmm5, %xmm0
 756        movdqu	96(%r9), %xmm5
 757        aesenc	%xmm5, %xmm0
 758        movdqu	112(%r9), %xmm5
 759        aesenc	%xmm5, %xmm0
 760        movdqu	128(%r9), %xmm5
 761        aesenc	%xmm5, %xmm0
 762        movdqu	144(%r9), %xmm5
 763        aesenc	%xmm5, %xmm0
 764        cmpl	$11, %r10d
 765        movdqu	160(%r9), %xmm5
 766        jl	L_AES_XTS_decrypt_aesni_tweak_aes_enc_block_last
 767        aesenc	%xmm5, %xmm0
 768        movdqu	176(%r9), %xmm6
 769        aesenc	%xmm6, %xmm0
 770        cmpl	$13, %r10d
 771        movdqu	192(%r9), %xmm5
 772        jl	L_AES_XTS_decrypt_aesni_tweak_aes_enc_block_last
 773        aesenc	%xmm5, %xmm0
 774        movdqu	208(%r9), %xmm6
 775        aesenc	%xmm6, %xmm0
 776        movdqu	224(%r9), %xmm5
 777L_AES_XTS_decrypt_aesni_tweak_aes_enc_block_last:
 778        aesenclast	%xmm5, %xmm0
 779        xorl	%r13d, %r13d
 780        movl	%eax, %r11d
 781        andl	$0xfffffff0, %r11d
 782        cmpl	%eax, %r11d
 783        je	L_AES_XTS_decrypt_aesni_mul16_64
 784        subl	$16, %r11d
 785        cmpl	$16, %r11d
 786        jl	L_AES_XTS_decrypt_aesni_last_31_start
 787L_AES_XTS_decrypt_aesni_mul16_64:
 788        cmpl	$0x40, %r11d
 789        jl	L_AES_XTS_decrypt_aesni_done_64
 790        andl	$0xffffffc0, %r11d
 791L_AES_XTS_decrypt_aesni_dec_64:
 792        # 64 bytes of input
 793        # aes_dec_64
 794        leaq	(%rdi,%r13,1), %rcx
 795        leaq	(%rsi,%r13,1), %rdx
 796        movdqu	(%rcx), %xmm8
 797        movdqu	16(%rcx), %xmm9
 798        movdqu	32(%rcx), %xmm10
 799        movdqu	48(%rcx), %xmm11
 800        movdqa	%xmm0, %xmm4
 801        movdqa	%xmm0, %xmm1
 802        psrad	$31, %xmm4
 803        pslld	$0x01, %xmm1
 804        pshufd	$0x93, %xmm4, %xmm4
 805        pand	%xmm12, %xmm4
 806        pxor	%xmm4, %xmm1
 807        movdqa	%xmm1, %xmm4
 808        movdqa	%xmm1, %xmm2
 809        psrad	$31, %xmm4
 810        pslld	$0x01, %xmm2
 811        pshufd	$0x93, %xmm4, %xmm4
 812        pand	%xmm12, %xmm4
 813        pxor	%xmm4, %xmm2
 814        movdqa	%xmm2, %xmm4
 815        movdqa	%xmm2, %xmm3
 816        psrad	$31, %xmm4
 817        pslld	$0x01, %xmm3
 818        pshufd	$0x93, %xmm4, %xmm4
 819        pand	%xmm12, %xmm4
 820        pxor	%xmm4, %xmm3
 821        pxor	%xmm0, %xmm8
 822        pxor	%xmm1, %xmm9
 823        pxor	%xmm2, %xmm10
 824        pxor	%xmm3, %xmm11
 825        # aes_dec_block
 826        movdqu	(%r8), %xmm4
 827        pxor	%xmm4, %xmm8
 828        pxor	%xmm4, %xmm9
 829        pxor	%xmm4, %xmm10
 830        pxor	%xmm4, %xmm11
 831        movdqu	16(%r8), %xmm4
 832        aesdec	%xmm4, %xmm8
 833        aesdec	%xmm4, %xmm9
 834        aesdec	%xmm4, %xmm10
 835        aesdec	%xmm4, %xmm11
 836        movdqu	32(%r8), %xmm4
 837        aesdec	%xmm4, %xmm8
 838        aesdec	%xmm4, %xmm9
 839        aesdec	%xmm4, %xmm10
 840        aesdec	%xmm4, %xmm11
 841        movdqu	48(%r8), %xmm4
 842        aesdec	%xmm4, %xmm8
 843        aesdec	%xmm4, %xmm9
 844        aesdec	%xmm4, %xmm10
 845        aesdec	%xmm4, %xmm11
 846        movdqu	64(%r8), %xmm4
 847        aesdec	%xmm4, %xmm8
 848        aesdec	%xmm4, %xmm9
 849        aesdec	%xmm4, %xmm10
 850        aesdec	%xmm4, %xmm11
 851        movdqu	80(%r8), %xmm4
 852        aesdec	%xmm4, %xmm8
 853        aesdec	%xmm4, %xmm9
 854        aesdec	%xmm4, %xmm10
 855        aesdec	%xmm4, %xmm11
 856        movdqu	96(%r8), %xmm4
 857        aesdec	%xmm4, %xmm8
 858        aesdec	%xmm4, %xmm9
 859        aesdec	%xmm4, %xmm10
 860        aesdec	%xmm4, %xmm11
 861        movdqu	112(%r8), %xmm4
 862        aesdec	%xmm4, %xmm8
 863        aesdec	%xmm4, %xmm9
 864        aesdec	%xmm4, %xmm10
 865        aesdec	%xmm4, %xmm11
 866        movdqu	128(%r8), %xmm4
 867        aesdec	%xmm4, %xmm8
 868        aesdec	%xmm4, %xmm9
 869        aesdec	%xmm4, %xmm10
 870        aesdec	%xmm4, %xmm11
 871        movdqu	144(%r8), %xmm4
 872        aesdec	%xmm4, %xmm8
 873        aesdec	%xmm4, %xmm9
 874        aesdec	%xmm4, %xmm10
 875        aesdec	%xmm4, %xmm11
 876        cmpl	$11, %r10d
 877        movdqu	160(%r8), %xmm4
 878        jl	L_AES_XTS_decrypt_aesni_aes_dec_64_aes_dec_block_last
 879        aesdec	%xmm4, %xmm8
 880        aesdec	%xmm4, %xmm9
 881        aesdec	%xmm4, %xmm10
 882        aesdec	%xmm4, %xmm11
 883        movdqu	176(%r8), %xmm4
 884        aesdec	%xmm4, %xmm8
 885        aesdec	%xmm4, %xmm9
 886        aesdec	%xmm4, %xmm10
 887        aesdec	%xmm4, %xmm11
 888        cmpl	$13, %r10d
 889        movdqu	192(%r8), %xmm4
 890        jl	L_AES_XTS_decrypt_aesni_aes_dec_64_aes_dec_block_last
 891        aesdec	%xmm4, %xmm8
 892        aesdec	%xmm4, %xmm9
 893        aesdec	%xmm4, %xmm10
 894        aesdec	%xmm4, %xmm11
 895        movdqu	208(%r8), %xmm4
 896        aesdec	%xmm4, %xmm8
 897        aesdec	%xmm4, %xmm9
 898        aesdec	%xmm4, %xmm10
 899        aesdec	%xmm4, %xmm11
 900        movdqu	224(%r8), %xmm4
 901L_AES_XTS_decrypt_aesni_aes_dec_64_aes_dec_block_last:
 902        aesdeclast	%xmm4, %xmm8
 903        aesdeclast	%xmm4, %xmm9
 904        aesdeclast	%xmm4, %xmm10
 905        aesdeclast	%xmm4, %xmm11
 906        pxor	%xmm0, %xmm8
 907        pxor	%xmm1, %xmm9
 908        pxor	%xmm2, %xmm10
 909        pxor	%xmm3, %xmm11
 910        movdqu	%xmm8, (%rdx)
 911        movdqu	%xmm9, 16(%rdx)
 912        movdqu	%xmm10, 32(%rdx)
 913        movdqu	%xmm11, 48(%rdx)
 914        movdqa	%xmm3, %xmm4
 915        movdqa	%xmm3, %xmm0
 916        psrad	$31, %xmm4
 917        pslld	$0x01, %xmm0
 918        pshufd	$0x93, %xmm4, %xmm4
 919        pand	%xmm12, %xmm4
 920        pxor	%xmm4, %xmm0
 921        addl	$0x40, %r13d
 922        cmpl	%r11d, %r13d
 923        jl	L_AES_XTS_decrypt_aesni_dec_64
 924L_AES_XTS_decrypt_aesni_done_64:
 925        cmpl	%eax, %r13d
 926        movl	%eax, %r11d
 927        je	L_AES_XTS_decrypt_aesni_done_dec
 928        andl	$0xfffffff0, %r11d
 929        cmpl	%eax, %r11d
 930        je	L_AES_XTS_decrypt_aesni_mul16
 931        subl	$16, %r11d
 932        subl	%r13d, %r11d
 933        cmpl	$16, %r11d
 934        jl	L_AES_XTS_decrypt_aesni_last_31_start
 935        addl	%r13d, %r11d
 936L_AES_XTS_decrypt_aesni_mul16:
 937L_AES_XTS_decrypt_aesni_dec_16:
 938        # 16 bytes of input
 939        leaq	(%rdi,%r13,1), %rcx
 940        movdqu	(%rcx), %xmm8
 941        pxor	%xmm0, %xmm8
 942        # aes_dec_block
 943        pxor	(%r8), %xmm8
 944        movdqu	16(%r8), %xmm5
 945        aesdec	%xmm5, %xmm8
 946        movdqu	32(%r8), %xmm5
 947        aesdec	%xmm5, %xmm8
 948        movdqu	48(%r8), %xmm5
 949        aesdec	%xmm5, %xmm8
 950        movdqu	64(%r8), %xmm5
 951        aesdec	%xmm5, %xmm8
 952        movdqu	80(%r8), %xmm5
 953        aesdec	%xmm5, %xmm8
 954        movdqu	96(%r8), %xmm5
 955        aesdec	%xmm5, %xmm8
 956        movdqu	112(%r8), %xmm5
 957        aesdec	%xmm5, %xmm8
 958        movdqu	128(%r8), %xmm5
 959        aesdec	%xmm5, %xmm8
 960        movdqu	144(%r8), %xmm5
 961        aesdec	%xmm5, %xmm8
 962        cmpl	$11, %r10d
 963        movdqu	160(%r8), %xmm5
 964        jl	L_AES_XTS_decrypt_aesni_aes_dec_block_last
 965        aesdec	%xmm5, %xmm8
 966        movdqu	176(%r8), %xmm6
 967        aesdec	%xmm6, %xmm8
 968        cmpl	$13, %r10d
 969        movdqu	192(%r8), %xmm5
 970        jl	L_AES_XTS_decrypt_aesni_aes_dec_block_last
 971        aesdec	%xmm5, %xmm8
 972        movdqu	208(%r8), %xmm6
 973        aesdec	%xmm6, %xmm8
 974        movdqu	224(%r8), %xmm5
 975L_AES_XTS_decrypt_aesni_aes_dec_block_last:
 976        aesdeclast	%xmm5, %xmm8
 977        pxor	%xmm0, %xmm8
 978        leaq	(%rsi,%r13,1), %rcx
 979        movdqu	%xmm8, (%rcx)
 980        movdqa	%xmm0, %xmm4
 981        psrad	$31, %xmm4
 982        pslld	$0x01, %xmm0
 983        pshufd	$0x93, %xmm4, %xmm4
 984        pand	%xmm12, %xmm4
 985        pxor	%xmm4, %xmm0
 986        addl	$16, %r13d
 987        cmpl	%r11d, %r13d
 988        jl	L_AES_XTS_decrypt_aesni_dec_16
 989        cmpl	%eax, %r13d
 990        je	L_AES_XTS_decrypt_aesni_done_dec
 991L_AES_XTS_decrypt_aesni_last_31_start:
 992        movdqa	%xmm0, %xmm4
 993        movdqa	%xmm0, %xmm7
 994        psrad	$31, %xmm4
 995        pslld	$0x01, %xmm7
 996        pshufd	$0x93, %xmm4, %xmm4
 997        pand	%xmm12, %xmm4
 998        pxor	%xmm4, %xmm7
 999        leaq	(%rdi,%r13,1), %rcx
1000        movdqu	(%rcx), %xmm8
1001        pxor	%xmm7, %xmm8
1002        # aes_dec_block
1003        pxor	(%r8), %xmm8
1004        movdqu	16(%r8), %xmm5
1005        aesdec	%xmm5, %xmm8
1006        movdqu	32(%r8), %xmm5
1007        aesdec	%xmm5, %xmm8
1008        movdqu	48(%r8), %xmm5
1009        aesdec	%xmm5, %xmm8
1010        movdqu	64(%r8), %xmm5
1011        aesdec	%xmm5, %xmm8
1012        movdqu	80(%r8), %xmm5
1013        aesdec	%xmm5, %xmm8
1014        movdqu	96(%r8), %xmm5
1015        aesdec	%xmm5, %xmm8
1016        movdqu	112(%r8), %xmm5
1017        aesdec	%xmm5, %xmm8
1018        movdqu	128(%r8), %xmm5
1019        aesdec	%xmm5, %xmm8
1020        movdqu	144(%r8), %xmm5
1021        aesdec	%xmm5, %xmm8
1022        cmpl	$11, %r10d
1023        movdqu	160(%r8), %xmm5
1024        jl	L_AES_XTS_decrypt_aesni_last_31_aes_dec_block_last
1025        aesdec	%xmm5, %xmm8
1026        movdqu	176(%r8), %xmm6
1027        aesdec	%xmm6, %xmm8
1028        cmpl	$13, %r10d
1029        movdqu	192(%r8), %xmm5
1030        jl	L_AES_XTS_decrypt_aesni_last_31_aes_dec_block_last
1031        aesdec	%xmm5, %xmm8
1032        movdqu	208(%r8), %xmm6
1033        aesdec	%xmm6, %xmm8
1034        movdqu	224(%r8), %xmm5
1035L_AES_XTS_decrypt_aesni_last_31_aes_dec_block_last:
1036        aesdeclast	%xmm5, %xmm8
1037        pxor	%xmm7, %xmm8
1038        movdqu	%xmm8, (%rsp)
1039        addq	$16, %r13
1040        xorq	%rdx, %rdx
1041L_AES_XTS_decrypt_aesni_last_31_byte_loop:
1042        movb	(%rsp,%rdx,1), %r11b
1043        movb	(%rdi,%r13,1), %cl
1044        movb	%r11b, (%rsi,%r13,1)
1045        movb	%cl, (%rsp,%rdx,1)
1046        incl	%r13d
1047        incl	%edx
1048        cmpl	%eax, %r13d
1049        jl	L_AES_XTS_decrypt_aesni_last_31_byte_loop
1050        subq	%rdx, %r13
1051        movdqu	(%rsp), %xmm8
1052        pxor	%xmm0, %xmm8
1053        # aes_dec_block
1054        pxor	(%r8), %xmm8
1055        movdqu	16(%r8), %xmm5
1056        aesdec	%xmm5, %xmm8
1057        movdqu	32(%r8), %xmm5
1058        aesdec	%xmm5, %xmm8
1059        movdqu	48(%r8), %xmm5
1060        aesdec	%xmm5, %xmm8
1061        movdqu	64(%r8), %xmm5
1062        aesdec	%xmm5, %xmm8
1063        movdqu	80(%r8), %xmm5
1064        aesdec	%xmm5, %xmm8
1065        movdqu	96(%r8), %xmm5
1066        aesdec	%xmm5, %xmm8
1067        movdqu	112(%r8), %xmm5
1068        aesdec	%xmm5, %xmm8
1069        movdqu	128(%r8), %xmm5
1070        aesdec	%xmm5, %xmm8
1071        movdqu	144(%r8), %xmm5
1072        aesdec	%xmm5, %xmm8
1073        cmpl	$11, %r10d
1074        movdqu	160(%r8), %xmm5
1075        jl	L_AES_XTS_decrypt_aesni_last_31_2_aes_dec_block_last
1076        aesdec	%xmm5, %xmm8
1077        movdqu	176(%r8), %xmm6
1078        aesdec	%xmm6, %xmm8
1079        cmpl	$13, %r10d
1080        movdqu	192(%r8), %xmm5
1081        jl	L_AES_XTS_decrypt_aesni_last_31_2_aes_dec_block_last
1082        aesdec	%xmm5, %xmm8
1083        movdqu	208(%r8), %xmm6
1084        aesdec	%xmm6, %xmm8
1085        movdqu	224(%r8), %xmm5
1086L_AES_XTS_decrypt_aesni_last_31_2_aes_dec_block_last:
1087        aesdeclast	%xmm5, %xmm8
1088        pxor	%xmm0, %xmm8
1089        subq	$16, %r13
1090        leaq	(%rsi,%r13,1), %rcx
1091        movdqu	%xmm8, (%rcx)
1092L_AES_XTS_decrypt_aesni_done_dec:
1093        addq	$16, %rsp
1094        popq	%r13
1095        popq	%r12
1096        repz retq
1097#ifndef __APPLE__
1098.size	AES_XTS_decrypt_aesni,.-AES_XTS_decrypt_aesni
1099#endif /* __APPLE__ */
1100#ifndef __APPLE__
1101.text
1102.globl	AES_XTS_decrypt_update_aesni
1103.type	AES_XTS_decrypt_update_aesni,@function
1104.align	16
1105AES_XTS_decrypt_update_aesni:
1106#else
1107.section	__TEXT,__text
1108.globl	_AES_XTS_decrypt_update_aesni
1109.p2align	4
1110_AES_XTS_decrypt_update_aesni:
1111#endif /* __APPLE__ */
1112        pushq	%r12
1113        movq	%rdx, %rax
1114        movq	%rcx, %r10
1115        subq	$16, %rsp
1116        movdqu	L_aes_xts_gc_xts(%rip), %xmm12
1117        movdqu	(%r8), %xmm0
1118        xorl	%r12d, %r12d
1119        movl	%eax, %r11d
1120        andl	$0xfffffff0, %r11d
1121        cmpl	%eax, %r11d
1122        je	L_AES_XTS_decrypt_update_aesni_mul16_64
1123        subl	$16, %r11d
1124        cmpl	$16, %r11d
1125        jl	L_AES_XTS_decrypt_update_aesni_last_31_start
1126L_AES_XTS_decrypt_update_aesni_mul16_64:
1127        cmpl	$0x40, %r11d
1128        jl	L_AES_XTS_decrypt_update_aesni_done_64
1129        andl	$0xffffffc0, %r11d
1130L_AES_XTS_decrypt_update_aesni_dec_64:
1131        # 64 bytes of input
1132        # aes_dec_64
1133        leaq	(%rdi,%r12,1), %rcx
1134        leaq	(%rsi,%r12,1), %rdx
1135        movdqu	(%rcx), %xmm8
1136        movdqu	16(%rcx), %xmm9
1137        movdqu	32(%rcx), %xmm10
1138        movdqu	48(%rcx), %xmm11
1139        movdqa	%xmm0, %xmm4
1140        movdqa	%xmm0, %xmm1
1141        psrad	$31, %xmm4
1142        pslld	$0x01, %xmm1
1143        pshufd	$0x93, %xmm4, %xmm4
1144        pand	%xmm12, %xmm4
1145        pxor	%xmm4, %xmm1
1146        movdqa	%xmm1, %xmm4
1147        movdqa	%xmm1, %xmm2
1148        psrad	$31, %xmm4
1149        pslld	$0x01, %xmm2
1150        pshufd	$0x93, %xmm4, %xmm4
1151        pand	%xmm12, %xmm4
1152        pxor	%xmm4, %xmm2
1153        movdqa	%xmm2, %xmm4
1154        movdqa	%xmm2, %xmm3
1155        psrad	$31, %xmm4
1156        pslld	$0x01, %xmm3
1157        pshufd	$0x93, %xmm4, %xmm4
1158        pand	%xmm12, %xmm4
1159        pxor	%xmm4, %xmm3
1160        pxor	%xmm0, %xmm8
1161        pxor	%xmm1, %xmm9
1162        pxor	%xmm2, %xmm10
1163        pxor	%xmm3, %xmm11
1164        # aes_dec_block
1165        movdqu	(%r10), %xmm4
1166        pxor	%xmm4, %xmm8
1167        pxor	%xmm4, %xmm9
1168        pxor	%xmm4, %xmm10
1169        pxor	%xmm4, %xmm11
1170        movdqu	16(%r10), %xmm4
1171        aesdec	%xmm4, %xmm8
1172        aesdec	%xmm4, %xmm9
1173        aesdec	%xmm4, %xmm10
1174        aesdec	%xmm4, %xmm11
1175        movdqu	32(%r10), %xmm4
1176        aesdec	%xmm4, %xmm8
1177        aesdec	%xmm4, %xmm9
1178        aesdec	%xmm4, %xmm10
1179        aesdec	%xmm4, %xmm11
1180        movdqu	48(%r10), %xmm4
1181        aesdec	%xmm4, %xmm8
1182        aesdec	%xmm4, %xmm9
1183        aesdec	%xmm4, %xmm10
1184        aesdec	%xmm4, %xmm11
1185        movdqu	64(%r10), %xmm4
1186        aesdec	%xmm4, %xmm8
1187        aesdec	%xmm4, %xmm9
1188        aesdec	%xmm4, %xmm10
1189        aesdec	%xmm4, %xmm11
1190        movdqu	80(%r10), %xmm4
1191        aesdec	%xmm4, %xmm8
1192        aesdec	%xmm4, %xmm9
1193        aesdec	%xmm4, %xmm10
1194        aesdec	%xmm4, %xmm11
1195        movdqu	96(%r10), %xmm4
1196        aesdec	%xmm4, %xmm8
1197        aesdec	%xmm4, %xmm9
1198        aesdec	%xmm4, %xmm10
1199        aesdec	%xmm4, %xmm11
1200        movdqu	112(%r10), %xmm4
1201        aesdec	%xmm4, %xmm8
1202        aesdec	%xmm4, %xmm9
1203        aesdec	%xmm4, %xmm10
1204        aesdec	%xmm4, %xmm11
1205        movdqu	128(%r10), %xmm4
1206        aesdec	%xmm4, %xmm8
1207        aesdec	%xmm4, %xmm9
1208        aesdec	%xmm4, %xmm10
1209        aesdec	%xmm4, %xmm11
1210        movdqu	144(%r10), %xmm4
1211        aesdec	%xmm4, %xmm8
1212        aesdec	%xmm4, %xmm9
1213        aesdec	%xmm4, %xmm10
1214        aesdec	%xmm4, %xmm11
1215        cmpl	$11, %r9d
1216        movdqu	160(%r10), %xmm4
1217        jl	L_AES_XTS_decrypt_update_aesni_aes_dec_64_aes_dec_block_last
1218        aesdec	%xmm4, %xmm8
1219        aesdec	%xmm4, %xmm9
1220        aesdec	%xmm4, %xmm10
1221        aesdec	%xmm4, %xmm11
1222        movdqu	176(%r10), %xmm4
1223        aesdec	%xmm4, %xmm8
1224        aesdec	%xmm4, %xmm9
1225        aesdec	%xmm4, %xmm10
1226        aesdec	%xmm4, %xmm11
1227        cmpl	$13, %r9d
1228        movdqu	192(%r10), %xmm4
1229        jl	L_AES_XTS_decrypt_update_aesni_aes_dec_64_aes_dec_block_last
1230        aesdec	%xmm4, %xmm8
1231        aesdec	%xmm4, %xmm9
1232        aesdec	%xmm4, %xmm10
1233        aesdec	%xmm4, %xmm11
1234        movdqu	208(%r10), %xmm4
1235        aesdec	%xmm4, %xmm8
1236        aesdec	%xmm4, %xmm9
1237        aesdec	%xmm4, %xmm10
1238        aesdec	%xmm4, %xmm11
1239        movdqu	224(%r10), %xmm4
1240L_AES_XTS_decrypt_update_aesni_aes_dec_64_aes_dec_block_last:
1241        aesdeclast	%xmm4, %xmm8
1242        aesdeclast	%xmm4, %xmm9
1243        aesdeclast	%xmm4, %xmm10
1244        aesdeclast	%xmm4, %xmm11
1245        pxor	%xmm0, %xmm8
1246        pxor	%xmm1, %xmm9
1247        pxor	%xmm2, %xmm10
1248        pxor	%xmm3, %xmm11
1249        movdqu	%xmm8, (%rdx)
1250        movdqu	%xmm9, 16(%rdx)
1251        movdqu	%xmm10, 32(%rdx)
1252        movdqu	%xmm11, 48(%rdx)
1253        movdqa	%xmm3, %xmm4
1254        movdqa	%xmm3, %xmm0
1255        psrad	$31, %xmm4
1256        pslld	$0x01, %xmm0
1257        pshufd	$0x93, %xmm4, %xmm4
1258        pand	%xmm12, %xmm4
1259        pxor	%xmm4, %xmm0
1260        addl	$0x40, %r12d
1261        cmpl	%r11d, %r12d
1262        jl	L_AES_XTS_decrypt_update_aesni_dec_64
1263L_AES_XTS_decrypt_update_aesni_done_64:
1264        cmpl	%eax, %r12d
1265        movl	%eax, %r11d
1266        je	L_AES_XTS_decrypt_update_aesni_done_dec
1267        andl	$0xfffffff0, %r11d
1268        cmpl	%eax, %r11d
1269        je	L_AES_XTS_decrypt_update_aesni_mul16
1270        subl	$16, %r11d
1271        subl	%r12d, %r11d
1272        cmpl	$16, %r11d
1273        jl	L_AES_XTS_decrypt_update_aesni_last_31_start
1274        addl	%r12d, %r11d
1275L_AES_XTS_decrypt_update_aesni_mul16:
1276L_AES_XTS_decrypt_update_aesni_dec_16:
1277        # 16 bytes of input
1278        leaq	(%rdi,%r12,1), %rcx
1279        movdqu	(%rcx), %xmm8
1280        pxor	%xmm0, %xmm8
1281        # aes_dec_block
1282        pxor	(%r10), %xmm8
1283        movdqu	16(%r10), %xmm5
1284        aesdec	%xmm5, %xmm8
1285        movdqu	32(%r10), %xmm5
1286        aesdec	%xmm5, %xmm8
1287        movdqu	48(%r10), %xmm5
1288        aesdec	%xmm5, %xmm8
1289        movdqu	64(%r10), %xmm5
1290        aesdec	%xmm5, %xmm8
1291        movdqu	80(%r10), %xmm5
1292        aesdec	%xmm5, %xmm8
1293        movdqu	96(%r10), %xmm5
1294        aesdec	%xmm5, %xmm8
1295        movdqu	112(%r10), %xmm5
1296        aesdec	%xmm5, %xmm8
1297        movdqu	128(%r10), %xmm5
1298        aesdec	%xmm5, %xmm8
1299        movdqu	144(%r10), %xmm5
1300        aesdec	%xmm5, %xmm8
1301        cmpl	$11, %r9d
1302        movdqu	160(%r10), %xmm5
1303        jl	L_AES_XTS_decrypt_update_aesni_aes_dec_block_last
1304        aesdec	%xmm5, %xmm8
1305        movdqu	176(%r10), %xmm6
1306        aesdec	%xmm6, %xmm8
1307        cmpl	$13, %r9d
1308        movdqu	192(%r10), %xmm5
1309        jl	L_AES_XTS_decrypt_update_aesni_aes_dec_block_last
1310        aesdec	%xmm5, %xmm8
1311        movdqu	208(%r10), %xmm6
1312        aesdec	%xmm6, %xmm8
1313        movdqu	224(%r10), %xmm5
1314L_AES_XTS_decrypt_update_aesni_aes_dec_block_last:
1315        aesdeclast	%xmm5, %xmm8
1316        pxor	%xmm0, %xmm8
1317        leaq	(%rsi,%r12,1), %rcx
1318        movdqu	%xmm8, (%rcx)
1319        movdqa	%xmm0, %xmm4
1320        psrad	$31, %xmm4
1321        pslld	$0x01, %xmm0
1322        pshufd	$0x93, %xmm4, %xmm4
1323        pand	%xmm12, %xmm4
1324        pxor	%xmm4, %xmm0
1325        addl	$16, %r12d
1326        cmpl	%r11d, %r12d
1327        jl	L_AES_XTS_decrypt_update_aesni_dec_16
1328        cmpl	%eax, %r12d
1329        je	L_AES_XTS_decrypt_update_aesni_done_dec
1330L_AES_XTS_decrypt_update_aesni_last_31_start:
1331        movdqa	%xmm0, %xmm4
1332        movdqa	%xmm0, %xmm7
1333        psrad	$31, %xmm4
1334        pslld	$0x01, %xmm7
1335        pshufd	$0x93, %xmm4, %xmm4
1336        pand	%xmm12, %xmm4
1337        pxor	%xmm4, %xmm7
1338        leaq	(%rdi,%r12,1), %rcx
1339        movdqu	(%rcx), %xmm8
1340        pxor	%xmm7, %xmm8
1341        # aes_dec_block
1342        pxor	(%r10), %xmm8
1343        movdqu	16(%r10), %xmm5
1344        aesdec	%xmm5, %xmm8
1345        movdqu	32(%r10), %xmm5
1346        aesdec	%xmm5, %xmm8
1347        movdqu	48(%r10), %xmm5
1348        aesdec	%xmm5, %xmm8
1349        movdqu	64(%r10), %xmm5
1350        aesdec	%xmm5, %xmm8
1351        movdqu	80(%r10), %xmm5
1352        aesdec	%xmm5, %xmm8
1353        movdqu	96(%r10), %xmm5
1354        aesdec	%xmm5, %xmm8
1355        movdqu	112(%r10), %xmm5
1356        aesdec	%xmm5, %xmm8
1357        movdqu	128(%r10), %xmm5
1358        aesdec	%xmm5, %xmm8
1359        movdqu	144(%r10), %xmm5
1360        aesdec	%xmm5, %xmm8
1361        cmpl	$11, %r9d
1362        movdqu	160(%r10), %xmm5
1363        jl	L_AES_XTS_decrypt_update_aesni_last_31_aes_dec_block_last
1364        aesdec	%xmm5, %xmm8
1365        movdqu	176(%r10), %xmm6
1366        aesdec	%xmm6, %xmm8
1367        cmpl	$13, %r9d
1368        movdqu	192(%r10), %xmm5
1369        jl	L_AES_XTS_decrypt_update_aesni_last_31_aes_dec_block_last
1370        aesdec	%xmm5, %xmm8
1371        movdqu	208(%r10), %xmm6
1372        aesdec	%xmm6, %xmm8
1373        movdqu	224(%r10), %xmm5
1374L_AES_XTS_decrypt_update_aesni_last_31_aes_dec_block_last:
1375        aesdeclast	%xmm5, %xmm8
1376        pxor	%xmm7, %xmm8
1377        movdqu	%xmm8, (%rsp)
1378        addq	$16, %r12
1379        xorq	%rdx, %rdx
1380L_AES_XTS_decrypt_update_aesni_last_31_byte_loop:
1381        movb	(%rsp,%rdx,1), %r11b
1382        movb	(%rdi,%r12,1), %cl
1383        movb	%r11b, (%rsi,%r12,1)
1384        movb	%cl, (%rsp,%rdx,1)
1385        incl	%r12d
1386        incl	%edx
1387        cmpl	%eax, %r12d
1388        jl	L_AES_XTS_decrypt_update_aesni_last_31_byte_loop
1389        subq	%rdx, %r12
1390        movdqu	(%rsp), %xmm8
1391        pxor	%xmm0, %xmm8
1392        # aes_dec_block
1393        pxor	(%r10), %xmm8
1394        movdqu	16(%r10), %xmm5
1395        aesdec	%xmm5, %xmm8
1396        movdqu	32(%r10), %xmm5
1397        aesdec	%xmm5, %xmm8
1398        movdqu	48(%r10), %xmm5
1399        aesdec	%xmm5, %xmm8
1400        movdqu	64(%r10), %xmm5
1401        aesdec	%xmm5, %xmm8
1402        movdqu	80(%r10), %xmm5
1403        aesdec	%xmm5, %xmm8
1404        movdqu	96(%r10), %xmm5
1405        aesdec	%xmm5, %xmm8
1406        movdqu	112(%r10), %xmm5
1407        aesdec	%xmm5, %xmm8
1408        movdqu	128(%r10), %xmm5
1409        aesdec	%xmm5, %xmm8
1410        movdqu	144(%r10), %xmm5
1411        aesdec	%xmm5, %xmm8
1412        cmpl	$11, %r9d
1413        movdqu	160(%r10), %xmm5
1414        jl	L_AES_XTS_decrypt_update_aesni_last_31_2_aes_dec_block_last
1415        aesdec	%xmm5, %xmm8
1416        movdqu	176(%r10), %xmm6
1417        aesdec	%xmm6, %xmm8
1418        cmpl	$13, %r9d
1419        movdqu	192(%r10), %xmm5
1420        jl	L_AES_XTS_decrypt_update_aesni_last_31_2_aes_dec_block_last
1421        aesdec	%xmm5, %xmm8
1422        movdqu	208(%r10), %xmm6
1423        aesdec	%xmm6, %xmm8
1424        movdqu	224(%r10), %xmm5
1425L_AES_XTS_decrypt_update_aesni_last_31_2_aes_dec_block_last:
1426        aesdeclast	%xmm5, %xmm8
1427        pxor	%xmm0, %xmm8
1428        subq	$16, %r12
1429        leaq	(%rsi,%r12,1), %rcx
1430        movdqu	%xmm8, (%rcx)
1431L_AES_XTS_decrypt_update_aesni_done_dec:
1432        movdqu	%xmm0, (%r8)
1433        addq	$16, %rsp
1434        popq	%r12
1435        repz retq
1436#ifndef __APPLE__
1437.size	AES_XTS_decrypt_update_aesni,.-AES_XTS_decrypt_update_aesni
1438#endif /* __APPLE__ */
1439#ifdef HAVE_INTEL_AVX1
1440#ifndef __APPLE__
1441.text
1442.globl	AES_XTS_init_avx1
1443.type	AES_XTS_init_avx1,@function
1444.align	16
1445AES_XTS_init_avx1:
1446#else
1447.section	__TEXT,__text
1448.globl	_AES_XTS_init_avx1
1449.p2align	4
1450_AES_XTS_init_avx1:
1451#endif /* __APPLE__ */
1452        vmovdqu	(%rdi), %xmm0
1453        # aes_enc_block
1454        vpxor	(%rsi), %xmm0, %xmm0
1455        vmovdqu	16(%rsi), %xmm2
1456        vaesenc	%xmm2, %xmm0, %xmm0
1457        vmovdqu	32(%rsi), %xmm2
1458        vaesenc	%xmm2, %xmm0, %xmm0
1459        vmovdqu	48(%rsi), %xmm2
1460        vaesenc	%xmm2, %xmm0, %xmm0
1461        vmovdqu	64(%rsi), %xmm2
1462        vaesenc	%xmm2, %xmm0, %xmm0
1463        vmovdqu	80(%rsi), %xmm2
1464        vaesenc	%xmm2, %xmm0, %xmm0
1465        vmovdqu	96(%rsi), %xmm2
1466        vaesenc	%xmm2, %xmm0, %xmm0
1467        vmovdqu	112(%rsi), %xmm2
1468        vaesenc	%xmm2, %xmm0, %xmm0
1469        vmovdqu	128(%rsi), %xmm2
1470        vaesenc	%xmm2, %xmm0, %xmm0
1471        vmovdqu	144(%rsi), %xmm2
1472        vaesenc	%xmm2, %xmm0, %xmm0
1473        cmpl	$11, %edx
1474        vmovdqu	160(%rsi), %xmm2
1475        jl	L_AES_XTS_init_avx1_tweak_aes_enc_block_last
1476        vaesenc	%xmm2, %xmm0, %xmm0
1477        vmovdqu	176(%rsi), %xmm3
1478        vaesenc	%xmm3, %xmm0, %xmm0
1479        cmpl	$13, %edx
1480        vmovdqu	192(%rsi), %xmm2
1481        jl	L_AES_XTS_init_avx1_tweak_aes_enc_block_last
1482        vaesenc	%xmm2, %xmm0, %xmm0
1483        vmovdqu	208(%rsi), %xmm3
1484        vaesenc	%xmm3, %xmm0, %xmm0
1485        vmovdqu	224(%rsi), %xmm2
1486L_AES_XTS_init_avx1_tweak_aes_enc_block_last:
1487        vaesenclast	%xmm2, %xmm0, %xmm0
1488        vmovdqu	%xmm0, (%rdi)
1489        repz retq
1490#ifndef __APPLE__
1491.size	AES_XTS_init_avx1,.-AES_XTS_init_avx1
1492#endif /* __APPLE__ */
1493#ifndef __APPLE__
1494.data
1495#else
1496.section	__DATA,__data
1497#endif /* __APPLE__ */
1498#ifndef __APPLE__
1499.align	16
1500#else
1501.p2align	4
1502#endif /* __APPLE__ */
1503L_avx1_aes_xts_gc_xts:
1504.long	0x00000087,0x00000001,0x00000001,0x00000001
1505#ifndef __APPLE__
1506.text
1507.globl	AES_XTS_encrypt_avx1
1508.type	AES_XTS_encrypt_avx1,@function
1509.align	16
1510AES_XTS_encrypt_avx1:
1511#else
1512.section	__TEXT,__text
1513.globl	_AES_XTS_encrypt_avx1
1514.p2align	4
1515_AES_XTS_encrypt_avx1:
1516#endif /* __APPLE__ */
1517        pushq	%r12
1518        pushq	%r13
1519        movq	%rdx, %rax
1520        movq	%rcx, %r12
1521        movl	24(%rsp), %r10d
1522        subq	$0x40, %rsp
1523        vmovdqu	L_avx1_aes_xts_gc_xts(%rip), %xmm12
1524        vmovdqu	(%r12), %xmm0
1525        # aes_enc_block
1526        vpxor	(%r9), %xmm0, %xmm0
1527        vmovdqu	16(%r9), %xmm5
1528        vaesenc	%xmm5, %xmm0, %xmm0
1529        vmovdqu	32(%r9), %xmm5
1530        vaesenc	%xmm5, %xmm0, %xmm0
1531        vmovdqu	48(%r9), %xmm5
1532        vaesenc	%xmm5, %xmm0, %xmm0
1533        vmovdqu	64(%r9), %xmm5
1534        vaesenc	%xmm5, %xmm0, %xmm0
1535        vmovdqu	80(%r9), %xmm5
1536        vaesenc	%xmm5, %xmm0, %xmm0
1537        vmovdqu	96(%r9), %xmm5
1538        vaesenc	%xmm5, %xmm0, %xmm0
1539        vmovdqu	112(%r9), %xmm5
1540        vaesenc	%xmm5, %xmm0, %xmm0
1541        vmovdqu	128(%r9), %xmm5
1542        vaesenc	%xmm5, %xmm0, %xmm0
1543        vmovdqu	144(%r9), %xmm5
1544        vaesenc	%xmm5, %xmm0, %xmm0
1545        cmpl	$11, %r10d
1546        vmovdqu	160(%r9), %xmm5
1547        jl	L_AES_XTS_encrypt_avx1_tweak_aes_enc_block_last
1548        vaesenc	%xmm5, %xmm0, %xmm0
1549        vmovdqu	176(%r9), %xmm6
1550        vaesenc	%xmm6, %xmm0, %xmm0
1551        cmpl	$13, %r10d
1552        vmovdqu	192(%r9), %xmm5
1553        jl	L_AES_XTS_encrypt_avx1_tweak_aes_enc_block_last
1554        vaesenc	%xmm5, %xmm0, %xmm0
1555        vmovdqu	208(%r9), %xmm6
1556        vaesenc	%xmm6, %xmm0, %xmm0
1557        vmovdqu	224(%r9), %xmm5
1558L_AES_XTS_encrypt_avx1_tweak_aes_enc_block_last:
1559        vaesenclast	%xmm5, %xmm0, %xmm0
1560        xorl	%r13d, %r13d
1561        cmpl	$0x40, %eax
1562        movl	%eax, %r11d
1563        jl	L_AES_XTS_encrypt_avx1_done_64
1564        andl	$0xffffffc0, %r11d
1565L_AES_XTS_encrypt_avx1_enc_64:
1566        # 64 bytes of input
1567        # aes_enc_64
1568        leaq	(%rdi,%r13,1), %rcx
1569        leaq	(%rsi,%r13,1), %rdx
1570        vmovdqu	(%rcx), %xmm8
1571        vmovdqu	16(%rcx), %xmm9
1572        vmovdqu	32(%rcx), %xmm10
1573        vmovdqu	48(%rcx), %xmm11
1574        vpsrad	$31, %xmm0, %xmm4
1575        vpslld	$0x01, %xmm0, %xmm1
1576        vpshufd	$0x93, %xmm4, %xmm4
1577        vpand	%xmm12, %xmm4, %xmm4
1578        vpxor	%xmm4, %xmm1, %xmm1
1579        vpsrad	$31, %xmm1, %xmm4
1580        vpslld	$0x01, %xmm1, %xmm2
1581        vpshufd	$0x93, %xmm4, %xmm4
1582        vpand	%xmm12, %xmm4, %xmm4
1583        vpxor	%xmm4, %xmm2, %xmm2
1584        vpsrad	$31, %xmm2, %xmm4
1585        vpslld	$0x01, %xmm2, %xmm3
1586        vpshufd	$0x93, %xmm4, %xmm4
1587        vpand	%xmm12, %xmm4, %xmm4
1588        vpxor	%xmm4, %xmm3, %xmm3
1589        vpxor	%xmm0, %xmm8, %xmm8
1590        vpxor	%xmm1, %xmm9, %xmm9
1591        vpxor	%xmm2, %xmm10, %xmm10
1592        vpxor	%xmm3, %xmm11, %xmm11
1593        # aes_enc_block
1594        vmovdqu	(%r8), %xmm4
1595        vpxor	%xmm4, %xmm8, %xmm8
1596        vpxor	%xmm4, %xmm9, %xmm9
1597        vpxor	%xmm4, %xmm10, %xmm10
1598        vpxor	%xmm4, %xmm11, %xmm11
1599        vmovdqu	16(%r8), %xmm4
1600        vaesenc	%xmm4, %xmm8, %xmm8
1601        vaesenc	%xmm4, %xmm9, %xmm9
1602        vaesenc	%xmm4, %xmm10, %xmm10
1603        vaesenc	%xmm4, %xmm11, %xmm11
1604        vmovdqu	32(%r8), %xmm4
1605        vaesenc	%xmm4, %xmm8, %xmm8
1606        vaesenc	%xmm4, %xmm9, %xmm9
1607        vaesenc	%xmm4, %xmm10, %xmm10
1608        vaesenc	%xmm4, %xmm11, %xmm11
1609        vmovdqu	48(%r8), %xmm4
1610        vaesenc	%xmm4, %xmm8, %xmm8
1611        vaesenc	%xmm4, %xmm9, %xmm9
1612        vaesenc	%xmm4, %xmm10, %xmm10
1613        vaesenc	%xmm4, %xmm11, %xmm11
1614        vmovdqu	64(%r8), %xmm4
1615        vaesenc	%xmm4, %xmm8, %xmm8
1616        vaesenc	%xmm4, %xmm9, %xmm9
1617        vaesenc	%xmm4, %xmm10, %xmm10
1618        vaesenc	%xmm4, %xmm11, %xmm11
1619        vmovdqu	80(%r8), %xmm4
1620        vaesenc	%xmm4, %xmm8, %xmm8
1621        vaesenc	%xmm4, %xmm9, %xmm9
1622        vaesenc	%xmm4, %xmm10, %xmm10
1623        vaesenc	%xmm4, %xmm11, %xmm11
1624        vmovdqu	96(%r8), %xmm4
1625        vaesenc	%xmm4, %xmm8, %xmm8
1626        vaesenc	%xmm4, %xmm9, %xmm9
1627        vaesenc	%xmm4, %xmm10, %xmm10
1628        vaesenc	%xmm4, %xmm11, %xmm11
1629        vmovdqu	112(%r8), %xmm4
1630        vaesenc	%xmm4, %xmm8, %xmm8
1631        vaesenc	%xmm4, %xmm9, %xmm9
1632        vaesenc	%xmm4, %xmm10, %xmm10
1633        vaesenc	%xmm4, %xmm11, %xmm11
1634        vmovdqu	128(%r8), %xmm4
1635        vaesenc	%xmm4, %xmm8, %xmm8
1636        vaesenc	%xmm4, %xmm9, %xmm9
1637        vaesenc	%xmm4, %xmm10, %xmm10
1638        vaesenc	%xmm4, %xmm11, %xmm11
1639        vmovdqu	144(%r8), %xmm4
1640        vaesenc	%xmm4, %xmm8, %xmm8
1641        vaesenc	%xmm4, %xmm9, %xmm9
1642        vaesenc	%xmm4, %xmm10, %xmm10
1643        vaesenc	%xmm4, %xmm11, %xmm11
1644        cmpl	$11, %r10d
1645        vmovdqu	160(%r8), %xmm4
1646        jl	L_AES_XTS_encrypt_avx1_aes_enc_64_aes_enc_block_last
1647        vaesenc	%xmm4, %xmm8, %xmm8
1648        vaesenc	%xmm4, %xmm9, %xmm9
1649        vaesenc	%xmm4, %xmm10, %xmm10
1650        vaesenc	%xmm4, %xmm11, %xmm11
1651        vmovdqu	176(%r8), %xmm4
1652        vaesenc	%xmm4, %xmm8, %xmm8
1653        vaesenc	%xmm4, %xmm9, %xmm9
1654        vaesenc	%xmm4, %xmm10, %xmm10
1655        vaesenc	%xmm4, %xmm11, %xmm11
1656        cmpl	$13, %r10d
1657        vmovdqu	192(%r8), %xmm4
1658        jl	L_AES_XTS_encrypt_avx1_aes_enc_64_aes_enc_block_last
1659        vaesenc	%xmm4, %xmm8, %xmm8
1660        vaesenc	%xmm4, %xmm9, %xmm9
1661        vaesenc	%xmm4, %xmm10, %xmm10
1662        vaesenc	%xmm4, %xmm11, %xmm11
1663        vmovdqu	208(%r8), %xmm4
1664        vaesenc	%xmm4, %xmm8, %xmm8
1665        vaesenc	%xmm4, %xmm9, %xmm9
1666        vaesenc	%xmm4, %xmm10, %xmm10
1667        vaesenc	%xmm4, %xmm11, %xmm11
1668        vmovdqu	224(%r8), %xmm4
1669L_AES_XTS_encrypt_avx1_aes_enc_64_aes_enc_block_last:
1670        vaesenclast	%xmm4, %xmm8, %xmm8
1671        vaesenclast	%xmm4, %xmm9, %xmm9
1672        vaesenclast	%xmm4, %xmm10, %xmm10
1673        vaesenclast	%xmm4, %xmm11, %xmm11
1674        vpxor	%xmm0, %xmm8, %xmm8
1675        vpxor	%xmm1, %xmm9, %xmm9
1676        vpxor	%xmm2, %xmm10, %xmm10
1677        vpxor	%xmm3, %xmm11, %xmm11
1678        vmovdqu	%xmm8, (%rdx)
1679        vmovdqu	%xmm9, 16(%rdx)
1680        vmovdqu	%xmm10, 32(%rdx)
1681        vmovdqu	%xmm11, 48(%rdx)
1682        vpsrad	$31, %xmm3, %xmm4
1683        vpslld	$0x01, %xmm3, %xmm0
1684        vpshufd	$0x93, %xmm4, %xmm4
1685        vpand	%xmm12, %xmm4, %xmm4
1686        vpxor	%xmm4, %xmm0, %xmm0
1687        addl	$0x40, %r13d
1688        cmpl	%r11d, %r13d
1689        jl	L_AES_XTS_encrypt_avx1_enc_64
1690L_AES_XTS_encrypt_avx1_done_64:
1691        cmpl	%eax, %r13d
1692        movl	%eax, %r11d
1693        je	L_AES_XTS_encrypt_avx1_done_enc
1694        subl	%r13d, %r11d
1695        cmpl	$16, %r11d
1696        movl	%eax, %r11d
1697        jl	L_AES_XTS_encrypt_avx1_last_15
1698        andl	$0xfffffff0, %r11d
1699        # 16 bytes of input
1700L_AES_XTS_encrypt_avx1_enc_16:
1701        leaq	(%rdi,%r13,1), %rcx
1702        vmovdqu	(%rcx), %xmm8
1703        vpxor	%xmm0, %xmm8, %xmm8
1704        # aes_enc_block
1705        vpxor	(%r8), %xmm8, %xmm8
1706        vmovdqu	16(%r8), %xmm5
1707        vaesenc	%xmm5, %xmm8, %xmm8
1708        vmovdqu	32(%r8), %xmm5
1709        vaesenc	%xmm5, %xmm8, %xmm8
1710        vmovdqu	48(%r8), %xmm5
1711        vaesenc	%xmm5, %xmm8, %xmm8
1712        vmovdqu	64(%r8), %xmm5
1713        vaesenc	%xmm5, %xmm8, %xmm8
1714        vmovdqu	80(%r8), %xmm5
1715        vaesenc	%xmm5, %xmm8, %xmm8
1716        vmovdqu	96(%r8), %xmm5
1717        vaesenc	%xmm5, %xmm8, %xmm8
1718        vmovdqu	112(%r8), %xmm5
1719        vaesenc	%xmm5, %xmm8, %xmm8
1720        vmovdqu	128(%r8), %xmm5
1721        vaesenc	%xmm5, %xmm8, %xmm8
1722        vmovdqu	144(%r8), %xmm5
1723        vaesenc	%xmm5, %xmm8, %xmm8
1724        cmpl	$11, %r10d
1725        vmovdqu	160(%r8), %xmm5
1726        jl	L_AES_XTS_encrypt_avx1_aes_enc_block_last
1727        vaesenc	%xmm5, %xmm8, %xmm8
1728        vmovdqu	176(%r8), %xmm6
1729        vaesenc	%xmm6, %xmm8, %xmm8
1730        cmpl	$13, %r10d
1731        vmovdqu	192(%r8), %xmm5
1732        jl	L_AES_XTS_encrypt_avx1_aes_enc_block_last
1733        vaesenc	%xmm5, %xmm8, %xmm8
1734        vmovdqu	208(%r8), %xmm6
1735        vaesenc	%xmm6, %xmm8, %xmm8
1736        vmovdqu	224(%r8), %xmm5
1737L_AES_XTS_encrypt_avx1_aes_enc_block_last:
1738        vaesenclast	%xmm5, %xmm8, %xmm8
1739        vpxor	%xmm0, %xmm8, %xmm8
1740        leaq	(%rsi,%r13,1), %rcx
1741        vmovdqu	%xmm8, (%rcx)
1742        vpsrad	$31, %xmm0, %xmm4
1743        vpslld	$0x01, %xmm0, %xmm0
1744        vpshufd	$0x93, %xmm4, %xmm4
1745        vpand	%xmm12, %xmm4, %xmm4
1746        vpxor	%xmm4, %xmm0, %xmm0
1747        addl	$16, %r13d
1748        cmpl	%r11d, %r13d
1749        jl	L_AES_XTS_encrypt_avx1_enc_16
1750        cmpl	%eax, %r13d
1751        je	L_AES_XTS_encrypt_avx1_done_enc
1752L_AES_XTS_encrypt_avx1_last_15:
1753        subq	$16, %r13
1754        leaq	(%rsi,%r13,1), %rcx
1755        vmovdqu	(%rcx), %xmm8
1756        addq	$16, %r13
1757        vmovdqu	%xmm8, (%rsp)
1758        xorq	%rdx, %rdx
1759L_AES_XTS_encrypt_avx1_last_15_byte_loop:
1760        movb	(%rsp,%rdx,1), %r11b
1761        movb	(%rdi,%r13,1), %cl
1762        movb	%r11b, (%rsi,%r13,1)
1763        movb	%cl, (%rsp,%rdx,1)
1764        incl	%r13d
1765        incl	%edx
1766        cmpl	%eax, %r13d
1767        jl	L_AES_XTS_encrypt_avx1_last_15_byte_loop
1768        subq	%rdx, %r13
1769        vmovdqu	(%rsp), %xmm8
1770        subq	$16, %r13
1771        vpxor	%xmm0, %xmm8, %xmm8
1772        # aes_enc_block
1773        vpxor	(%r8), %xmm8, %xmm8
1774        vmovdqu	16(%r8), %xmm5
1775        vaesenc	%xmm5, %xmm8, %xmm8
1776        vmovdqu	32(%r8), %xmm5
1777        vaesenc	%xmm5, %xmm8, %xmm8
1778        vmovdqu	48(%r8), %xmm5
1779        vaesenc	%xmm5, %xmm8, %xmm8
1780        vmovdqu	64(%r8), %xmm5
1781        vaesenc	%xmm5, %xmm8, %xmm8
1782        vmovdqu	80(%r8), %xmm5
1783        vaesenc	%xmm5, %xmm8, %xmm8
1784        vmovdqu	96(%r8), %xmm5
1785        vaesenc	%xmm5, %xmm8, %xmm8
1786        vmovdqu	112(%r8), %xmm5
1787        vaesenc	%xmm5, %xmm8, %xmm8
1788        vmovdqu	128(%r8), %xmm5
1789        vaesenc	%xmm5, %xmm8, %xmm8
1790        vmovdqu	144(%r8), %xmm5
1791        vaesenc	%xmm5, %xmm8, %xmm8
1792        cmpl	$11, %r10d
1793        vmovdqu	160(%r8), %xmm5
1794        jl	L_AES_XTS_encrypt_avx1_last_15_aes_enc_block_last
1795        vaesenc	%xmm5, %xmm8, %xmm8
1796        vmovdqu	176(%r8), %xmm6
1797        vaesenc	%xmm6, %xmm8, %xmm8
1798        cmpl	$13, %r10d
1799        vmovdqu	192(%r8), %xmm5
1800        jl	L_AES_XTS_encrypt_avx1_last_15_aes_enc_block_last
1801        vaesenc	%xmm5, %xmm8, %xmm8
1802        vmovdqu	208(%r8), %xmm6
1803        vaesenc	%xmm6, %xmm8, %xmm8
1804        vmovdqu	224(%r8), %xmm5
1805L_AES_XTS_encrypt_avx1_last_15_aes_enc_block_last:
1806        vaesenclast	%xmm5, %xmm8, %xmm8
1807        vpxor	%xmm0, %xmm8, %xmm8
1808        leaq	(%rsi,%r13,1), %rcx
1809        vmovdqu	%xmm8, (%rcx)
1810L_AES_XTS_encrypt_avx1_done_enc:
1811        addq	$0x40, %rsp
1812        popq	%r13
1813        popq	%r12
1814        repz retq
1815#ifndef __APPLE__
1816.size	AES_XTS_encrypt_avx1,.-AES_XTS_encrypt_avx1
1817#endif /* __APPLE__ */
1818#ifndef __APPLE__
1819.text
1820.globl	AES_XTS_encrypt_update_avx1
1821.type	AES_XTS_encrypt_update_avx1,@function
1822.align	16
1823AES_XTS_encrypt_update_avx1:
1824#else
1825.section	__TEXT,__text
1826.globl	_AES_XTS_encrypt_update_avx1
1827.p2align	4
1828_AES_XTS_encrypt_update_avx1:
1829#endif /* __APPLE__ */
1830        pushq	%r12
1831        movq	%rdx, %rax
1832        movq	%rcx, %r10
1833        subq	$0x40, %rsp
1834        vmovdqu	L_avx1_aes_xts_gc_xts(%rip), %xmm12
1835        vmovdqu	(%r8), %xmm0
1836        xorl	%r12d, %r12d
1837        cmpl	$0x40, %eax
1838        movl	%eax, %r11d
1839        jl	L_AES_XTS_encrypt_update_avx1_done_64
1840        andl	$0xffffffc0, %r11d
1841L_AES_XTS_encrypt_update_avx1_enc_64:
1842        # 64 bytes of input
1843        # aes_enc_64
1844        leaq	(%rdi,%r12,1), %rcx
1845        leaq	(%rsi,%r12,1), %rdx
1846        vmovdqu	(%rcx), %xmm8
1847        vmovdqu	16(%rcx), %xmm9
1848        vmovdqu	32(%rcx), %xmm10
1849        vmovdqu	48(%rcx), %xmm11
1850        vpsrad	$31, %xmm0, %xmm4
1851        vpslld	$0x01, %xmm0, %xmm1
1852        vpshufd	$0x93, %xmm4, %xmm4
1853        vpand	%xmm12, %xmm4, %xmm4
1854        vpxor	%xmm4, %xmm1, %xmm1
1855        vpsrad	$31, %xmm1, %xmm4
1856        vpslld	$0x01, %xmm1, %xmm2
1857        vpshufd	$0x93, %xmm4, %xmm4
1858        vpand	%xmm12, %xmm4, %xmm4
1859        vpxor	%xmm4, %xmm2, %xmm2
1860        vpsrad	$31, %xmm2, %xmm4
1861        vpslld	$0x01, %xmm2, %xmm3
1862        vpshufd	$0x93, %xmm4, %xmm4
1863        vpand	%xmm12, %xmm4, %xmm4
1864        vpxor	%xmm4, %xmm3, %xmm3
1865        vpxor	%xmm0, %xmm8, %xmm8
1866        vpxor	%xmm1, %xmm9, %xmm9
1867        vpxor	%xmm2, %xmm10, %xmm10
1868        vpxor	%xmm3, %xmm11, %xmm11
1869        # aes_enc_block
1870        vmovdqu	(%r10), %xmm4
1871        vpxor	%xmm4, %xmm8, %xmm8
1872        vpxor	%xmm4, %xmm9, %xmm9
1873        vpxor	%xmm4, %xmm10, %xmm10
1874        vpxor	%xmm4, %xmm11, %xmm11
1875        vmovdqu	16(%r10), %xmm4
1876        vaesenc	%xmm4, %xmm8, %xmm8
1877        vaesenc	%xmm4, %xmm9, %xmm9
1878        vaesenc	%xmm4, %xmm10, %xmm10
1879        vaesenc	%xmm4, %xmm11, %xmm11
1880        vmovdqu	32(%r10), %xmm4
1881        vaesenc	%xmm4, %xmm8, %xmm8
1882        vaesenc	%xmm4, %xmm9, %xmm9
1883        vaesenc	%xmm4, %xmm10, %xmm10
1884        vaesenc	%xmm4, %xmm11, %xmm11
1885        vmovdqu	48(%r10), %xmm4
1886        vaesenc	%xmm4, %xmm8, %xmm8
1887        vaesenc	%xmm4, %xmm9, %xmm9
1888        vaesenc	%xmm4, %xmm10, %xmm10
1889        vaesenc	%xmm4, %xmm11, %xmm11
1890        vmovdqu	64(%r10), %xmm4
1891        vaesenc	%xmm4, %xmm8, %xmm8
1892        vaesenc	%xmm4, %xmm9, %xmm9
1893        vaesenc	%xmm4, %xmm10, %xmm10
1894        vaesenc	%xmm4, %xmm11, %xmm11
1895        vmovdqu	80(%r10), %xmm4
1896        vaesenc	%xmm4, %xmm8, %xmm8
1897        vaesenc	%xmm4, %xmm9, %xmm9
1898        vaesenc	%xmm4, %xmm10, %xmm10
1899        vaesenc	%xmm4, %xmm11, %xmm11
1900        vmovdqu	96(%r10), %xmm4
1901        vaesenc	%xmm4, %xmm8, %xmm8
1902        vaesenc	%xmm4, %xmm9, %xmm9
1903        vaesenc	%xmm4, %xmm10, %xmm10
1904        vaesenc	%xmm4, %xmm11, %xmm11
1905        vmovdqu	112(%r10), %xmm4
1906        vaesenc	%xmm4, %xmm8, %xmm8
1907        vaesenc	%xmm4, %xmm9, %xmm9
1908        vaesenc	%xmm4, %xmm10, %xmm10
1909        vaesenc	%xmm4, %xmm11, %xmm11
1910        vmovdqu	128(%r10), %xmm4
1911        vaesenc	%xmm4, %xmm8, %xmm8
1912        vaesenc	%xmm4, %xmm9, %xmm9
1913        vaesenc	%xmm4, %xmm10, %xmm10
1914        vaesenc	%xmm4, %xmm11, %xmm11
1915        vmovdqu	144(%r10), %xmm4
1916        vaesenc	%xmm4, %xmm8, %xmm8
1917        vaesenc	%xmm4, %xmm9, %xmm9
1918        vaesenc	%xmm4, %xmm10, %xmm10
1919        vaesenc	%xmm4, %xmm11, %xmm11
1920        cmpl	$11, %r9d
1921        vmovdqu	160(%r10), %xmm4
1922        jl	L_AES_XTS_encrypt_update_avx1_aes_enc_64_aes_enc_block_last
1923        vaesenc	%xmm4, %xmm8, %xmm8
1924        vaesenc	%xmm4, %xmm9, %xmm9
1925        vaesenc	%xmm4, %xmm10, %xmm10
1926        vaesenc	%xmm4, %xmm11, %xmm11
1927        vmovdqu	176(%r10), %xmm4
1928        vaesenc	%xmm4, %xmm8, %xmm8
1929        vaesenc	%xmm4, %xmm9, %xmm9
1930        vaesenc	%xmm4, %xmm10, %xmm10
1931        vaesenc	%xmm4, %xmm11, %xmm11
1932        cmpl	$13, %r9d
1933        vmovdqu	192(%r10), %xmm4
1934        jl	L_AES_XTS_encrypt_update_avx1_aes_enc_64_aes_enc_block_last
1935        vaesenc	%xmm4, %xmm8, %xmm8
1936        vaesenc	%xmm4, %xmm9, %xmm9
1937        vaesenc	%xmm4, %xmm10, %xmm10
1938        vaesenc	%xmm4, %xmm11, %xmm11
1939        vmovdqu	208(%r10), %xmm4
1940        vaesenc	%xmm4, %xmm8, %xmm8
1941        vaesenc	%xmm4, %xmm9, %xmm9
1942        vaesenc	%xmm4, %xmm10, %xmm10
1943        vaesenc	%xmm4, %xmm11, %xmm11
1944        vmovdqu	224(%r10), %xmm4
1945L_AES_XTS_encrypt_update_avx1_aes_enc_64_aes_enc_block_last:
1946        vaesenclast	%xmm4, %xmm8, %xmm8
1947        vaesenclast	%xmm4, %xmm9, %xmm9
1948        vaesenclast	%xmm4, %xmm10, %xmm10
1949        vaesenclast	%xmm4, %xmm11, %xmm11
1950        vpxor	%xmm0, %xmm8, %xmm8
1951        vpxor	%xmm1, %xmm9, %xmm9
1952        vpxor	%xmm2, %xmm10, %xmm10
1953        vpxor	%xmm3, %xmm11, %xmm11
1954        vmovdqu	%xmm8, (%rdx)
1955        vmovdqu	%xmm9, 16(%rdx)
1956        vmovdqu	%xmm10, 32(%rdx)
1957        vmovdqu	%xmm11, 48(%rdx)
1958        vpsrad	$31, %xmm3, %xmm4
1959        vpslld	$0x01, %xmm3, %xmm0
1960        vpshufd	$0x93, %xmm4, %xmm4
1961        vpand	%xmm12, %xmm4, %xmm4
1962        vpxor	%xmm4, %xmm0, %xmm0
1963        addl	$0x40, %r12d
1964        cmpl	%r11d, %r12d
1965        jl	L_AES_XTS_encrypt_update_avx1_enc_64
1966L_AES_XTS_encrypt_update_avx1_done_64:
1967        cmpl	%eax, %r12d
1968        movl	%eax, %r11d
1969        je	L_AES_XTS_encrypt_update_avx1_done_enc
1970        subl	%r12d, %r11d
1971        cmpl	$16, %r11d
1972        movl	%eax, %r11d
1973        jl	L_AES_XTS_encrypt_update_avx1_last_15
1974        andl	$0xfffffff0, %r11d
1975        # 16 bytes of input
1976L_AES_XTS_encrypt_update_avx1_enc_16:
1977        leaq	(%rdi,%r12,1), %rcx
1978        vmovdqu	(%rcx), %xmm8
1979        vpxor	%xmm0, %xmm8, %xmm8
1980        # aes_enc_block
1981        vpxor	(%r10), %xmm8, %xmm8
1982        vmovdqu	16(%r10), %xmm5
1983        vaesenc	%xmm5, %xmm8, %xmm8
1984        vmovdqu	32(%r10), %xmm5
1985        vaesenc	%xmm5, %xmm8, %xmm8
1986        vmovdqu	48(%r10), %xmm5
1987        vaesenc	%xmm5, %xmm8, %xmm8
1988        vmovdqu	64(%r10), %xmm5
1989        vaesenc	%xmm5, %xmm8, %xmm8
1990        vmovdqu	80(%r10), %xmm5
1991        vaesenc	%xmm5, %xmm8, %xmm8
1992        vmovdqu	96(%r10), %xmm5
1993        vaesenc	%xmm5, %xmm8, %xmm8
1994        vmovdqu	112(%r10), %xmm5
1995        vaesenc	%xmm5, %xmm8, %xmm8
1996        vmovdqu	128(%r10), %xmm5
1997        vaesenc	%xmm5, %xmm8, %xmm8
1998        vmovdqu	144(%r10), %xmm5
1999        vaesenc	%xmm5, %xmm8, %xmm8
2000        cmpl	$11, %r9d
2001        vmovdqu	160(%r10), %xmm5
2002        jl	L_AES_XTS_encrypt_update_avx1_aes_enc_block_last
2003        vaesenc	%xmm5, %xmm8, %xmm8
2004        vmovdqu	176(%r10), %xmm6
2005        vaesenc	%xmm6, %xmm8, %xmm8
2006        cmpl	$13, %r9d
2007        vmovdqu	192(%r10), %xmm5
2008        jl	L_AES_XTS_encrypt_update_avx1_aes_enc_block_last
2009        vaesenc	%xmm5, %xmm8, %xmm8
2010        vmovdqu	208(%r10), %xmm6
2011        vaesenc	%xmm6, %xmm8, %xmm8
2012        vmovdqu	224(%r10), %xmm5
2013L_AES_XTS_encrypt_update_avx1_aes_enc_block_last:
2014        vaesenclast	%xmm5, %xmm8, %xmm8
2015        vpxor	%xmm0, %xmm8, %xmm8
2016        leaq	(%rsi,%r12,1), %rcx
2017        vmovdqu	%xmm8, (%rcx)
2018        vpsrad	$31, %xmm0, %xmm4
2019        vpslld	$0x01, %xmm0, %xmm0
2020        vpshufd	$0x93, %xmm4, %xmm4
2021        vpand	%xmm12, %xmm4, %xmm4
2022        vpxor	%xmm4, %xmm0, %xmm0
2023        addl	$16, %r12d
2024        cmpl	%r11d, %r12d
2025        jl	L_AES_XTS_encrypt_update_avx1_enc_16
2026        cmpl	%eax, %r12d
2027        je	L_AES_XTS_encrypt_update_avx1_done_enc
2028L_AES_XTS_encrypt_update_avx1_last_15:
2029        subq	$16, %r12
2030        leaq	(%rsi,%r12,1), %rcx
2031        vmovdqu	(%rcx), %xmm8
2032        addq	$16, %r12
2033        vmovdqu	%xmm8, (%rsp)
2034        xorq	%rdx, %rdx
2035L_AES_XTS_encrypt_update_avx1_last_15_byte_loop:
2036        movb	(%rsp,%rdx,1), %r11b
2037        movb	(%rdi,%r12,1), %cl
2038        movb	%r11b, (%rsi,%r12,1)
2039        movb	%cl, (%rsp,%rdx,1)
2040        incl	%r12d
2041        incl	%edx
2042        cmpl	%eax, %r12d
2043        jl	L_AES_XTS_encrypt_update_avx1_last_15_byte_loop
2044        subq	%rdx, %r12
2045        vmovdqu	(%rsp), %xmm8
2046        subq	$16, %r12
2047        vpxor	%xmm0, %xmm8, %xmm8
2048        # aes_enc_block
2049        vpxor	(%r10), %xmm8, %xmm8
2050        vmovdqu	16(%r10), %xmm5
2051        vaesenc	%xmm5, %xmm8, %xmm8
2052        vmovdqu	32(%r10), %xmm5
2053        vaesenc	%xmm5, %xmm8, %xmm8
2054        vmovdqu	48(%r10), %xmm5
2055        vaesenc	%xmm5, %xmm8, %xmm8
2056        vmovdqu	64(%r10), %xmm5
2057        vaesenc	%xmm5, %xmm8, %xmm8
2058        vmovdqu	80(%r10), %xmm5
2059        vaesenc	%xmm5, %xmm8, %xmm8
2060        vmovdqu	96(%r10), %xmm5
2061        vaesenc	%xmm5, %xmm8, %xmm8
2062        vmovdqu	112(%r10), %xmm5
2063        vaesenc	%xmm5, %xmm8, %xmm8
2064        vmovdqu	128(%r10), %xmm5
2065        vaesenc	%xmm5, %xmm8, %xmm8
2066        vmovdqu	144(%r10), %xmm5
2067        vaesenc	%xmm5, %xmm8, %xmm8
2068        cmpl	$11, %r9d
2069        vmovdqu	160(%r10), %xmm5
2070        jl	L_AES_XTS_encrypt_update_avx1_last_15_aes_enc_block_last
2071        vaesenc	%xmm5, %xmm8, %xmm8
2072        vmovdqu	176(%r10), %xmm6
2073        vaesenc	%xmm6, %xmm8, %xmm8
2074        cmpl	$13, %r9d
2075        vmovdqu	192(%r10), %xmm5
2076        jl	L_AES_XTS_encrypt_update_avx1_last_15_aes_enc_block_last
2077        vaesenc	%xmm5, %xmm8, %xmm8
2078        vmovdqu	208(%r10), %xmm6
2079        vaesenc	%xmm6, %xmm8, %xmm8
2080        vmovdqu	224(%r10), %xmm5
2081L_AES_XTS_encrypt_update_avx1_last_15_aes_enc_block_last:
2082        vaesenclast	%xmm5, %xmm8, %xmm8
2083        vpxor	%xmm0, %xmm8, %xmm8
2084        leaq	(%rsi,%r12,1), %rcx
2085        vmovdqu	%xmm8, (%rcx)
2086L_AES_XTS_encrypt_update_avx1_done_enc:
2087        vmovdqu	%xmm0, (%r8)
2088        addq	$0x40, %rsp
2089        popq	%r12
2090        repz retq
2091#ifndef __APPLE__
2092.size	AES_XTS_encrypt_update_avx1,.-AES_XTS_encrypt_update_avx1
2093#endif /* __APPLE__ */
2094#ifndef __APPLE__
2095.text
2096.globl	AES_XTS_decrypt_avx1
2097.type	AES_XTS_decrypt_avx1,@function
2098.align	16
2099AES_XTS_decrypt_avx1:
2100#else
2101.section	__TEXT,__text
2102.globl	_AES_XTS_decrypt_avx1
2103.p2align	4
2104_AES_XTS_decrypt_avx1:
2105#endif /* __APPLE__ */
2106        pushq	%r12
2107        pushq	%r13
2108        movq	%rdx, %rax
2109        movq	%rcx, %r12
2110        movl	24(%rsp), %r10d
2111        subq	$16, %rsp
2112        vmovdqu	L_avx1_aes_xts_gc_xts(%rip), %xmm12
2113        vmovdqu	(%r12), %xmm0
2114        # aes_enc_block
2115        vpxor	(%r9), %xmm0, %xmm0
2116        vmovdqu	16(%r9), %xmm5
2117        vaesenc	%xmm5, %xmm0, %xmm0
2118        vmovdqu	32(%r9), %xmm5
2119        vaesenc	%xmm5, %xmm0, %xmm0
2120        vmovdqu	48(%r9), %xmm5
2121        vaesenc	%xmm5, %xmm0, %xmm0
2122        vmovdqu	64(%r9), %xmm5
2123        vaesenc	%xmm5, %xmm0, %xmm0
2124        vmovdqu	80(%r9), %xmm5
2125        vaesenc	%xmm5, %xmm0, %xmm0
2126        vmovdqu	96(%r9), %xmm5
2127        vaesenc	%xmm5, %xmm0, %xmm0
2128        vmovdqu	112(%r9), %xmm5
2129        vaesenc	%xmm5, %xmm0, %xmm0
2130        vmovdqu	128(%r9), %xmm5
2131        vaesenc	%xmm5, %xmm0, %xmm0
2132        vmovdqu	144(%r9), %xmm5
2133        vaesenc	%xmm5, %xmm0, %xmm0
2134        cmpl	$11, %r10d
2135        vmovdqu	160(%r9), %xmm5
2136        jl	L_AES_XTS_decrypt_avx1_tweak_aes_enc_block_last
2137        vaesenc	%xmm5, %xmm0, %xmm0
2138        vmovdqu	176(%r9), %xmm6
2139        vaesenc	%xmm6, %xmm0, %xmm0
2140        cmpl	$13, %r10d
2141        vmovdqu	192(%r9), %xmm5
2142        jl	L_AES_XTS_decrypt_avx1_tweak_aes_enc_block_last
2143        vaesenc	%xmm5, %xmm0, %xmm0
2144        vmovdqu	208(%r9), %xmm6
2145        vaesenc	%xmm6, %xmm0, %xmm0
2146        vmovdqu	224(%r9), %xmm5
2147L_AES_XTS_decrypt_avx1_tweak_aes_enc_block_last:
2148        vaesenclast	%xmm5, %xmm0, %xmm0
2149        xorl	%r13d, %r13d
2150        movl	%eax, %r11d
2151        andl	$0xfffffff0, %r11d
2152        cmpl	%eax, %r11d
2153        je	L_AES_XTS_decrypt_avx1_mul16_64
2154        subl	$16, %r11d
2155        cmpl	$16, %r11d
2156        jl	L_AES_XTS_decrypt_avx1_last_31_start
2157L_AES_XTS_decrypt_avx1_mul16_64:
2158        cmpl	$0x40, %r11d
2159        jl	L_AES_XTS_decrypt_avx1_done_64
2160        andl	$0xffffffc0, %r11d
2161L_AES_XTS_decrypt_avx1_dec_64:
2162        # 64 bytes of input
2163        # aes_dec_64
2164        leaq	(%rdi,%r13,1), %rcx
2165        leaq	(%rsi,%r13,1), %rdx
2166        vmovdqu	(%rcx), %xmm8
2167        vmovdqu	16(%rcx), %xmm9
2168        vmovdqu	32(%rcx), %xmm10
2169        vmovdqu	48(%rcx), %xmm11
2170        vpsrad	$31, %xmm0, %xmm4
2171        vpslld	$0x01, %xmm0, %xmm1
2172        vpshufd	$0x93, %xmm4, %xmm4
2173        vpand	%xmm12, %xmm4, %xmm4
2174        vpxor	%xmm4, %xmm1, %xmm1
2175        vpsrad	$31, %xmm1, %xmm4
2176        vpslld	$0x01, %xmm1, %xmm2
2177        vpshufd	$0x93, %xmm4, %xmm4
2178        vpand	%xmm12, %xmm4, %xmm4
2179        vpxor	%xmm4, %xmm2, %xmm2
2180        vpsrad	$31, %xmm2, %xmm4
2181        vpslld	$0x01, %xmm2, %xmm3
2182        vpshufd	$0x93, %xmm4, %xmm4
2183        vpand	%xmm12, %xmm4, %xmm4
2184        vpxor	%xmm4, %xmm3, %xmm3
2185        vpxor	%xmm0, %xmm8, %xmm8
2186        vpxor	%xmm1, %xmm9, %xmm9
2187        vpxor	%xmm2, %xmm10, %xmm10
2188        vpxor	%xmm3, %xmm11, %xmm11
2189        # aes_dec_block
2190        vmovdqu	(%r8), %xmm4
2191        vpxor	%xmm4, %xmm8, %xmm8
2192        vpxor	%xmm4, %xmm9, %xmm9
2193        vpxor	%xmm4, %xmm10, %xmm10
2194        vpxor	%xmm4, %xmm11, %xmm11
2195        vmovdqu	16(%r8), %xmm4
2196        vaesdec	%xmm4, %xmm8, %xmm8
2197        vaesdec	%xmm4, %xmm9, %xmm9
2198        vaesdec	%xmm4, %xmm10, %xmm10
2199        vaesdec	%xmm4, %xmm11, %xmm11
2200        vmovdqu	32(%r8), %xmm4
2201        vaesdec	%xmm4, %xmm8, %xmm8
2202        vaesdec	%xmm4, %xmm9, %xmm9
2203        vaesdec	%xmm4, %xmm10, %xmm10
2204        vaesdec	%xmm4, %xmm11, %xmm11
2205        vmovdqu	48(%r8), %xmm4
2206        vaesdec	%xmm4, %xmm8, %xmm8
2207        vaesdec	%xmm4, %xmm9, %xmm9
2208        vaesdec	%xmm4, %xmm10, %xmm10
2209        vaesdec	%xmm4, %xmm11, %xmm11
2210        vmovdqu	64(%r8), %xmm4
2211        vaesdec	%xmm4, %xmm8, %xmm8
2212        vaesdec	%xmm4, %xmm9, %xmm9
2213        vaesdec	%xmm4, %xmm10, %xmm10
2214        vaesdec	%xmm4, %xmm11, %xmm11
2215        vmovdqu	80(%r8), %xmm4
2216        vaesdec	%xmm4, %xmm8, %xmm8
2217        vaesdec	%xmm4, %xmm9, %xmm9
2218        vaesdec	%xmm4, %xmm10, %xmm10
2219        vaesdec	%xmm4, %xmm11, %xmm11
2220        vmovdqu	96(%r8), %xmm4
2221        vaesdec	%xmm4, %xmm8, %xmm8
2222        vaesdec	%xmm4, %xmm9, %xmm9
2223        vaesdec	%xmm4, %xmm10, %xmm10
2224        vaesdec	%xmm4, %xmm11, %xmm11
2225        vmovdqu	112(%r8), %xmm4
2226        vaesdec	%xmm4, %xmm8, %xmm8
2227        vaesdec	%xmm4, %xmm9, %xmm9
2228        vaesdec	%xmm4, %xmm10, %xmm10
2229        vaesdec	%xmm4, %xmm11, %xmm11
2230        vmovdqu	128(%r8), %xmm4
2231        vaesdec	%xmm4, %xmm8, %xmm8
2232        vaesdec	%xmm4, %xmm9, %xmm9
2233        vaesdec	%xmm4, %xmm10, %xmm10
2234        vaesdec	%xmm4, %xmm11, %xmm11
2235        vmovdqu	144(%r8), %xmm4
2236        vaesdec	%xmm4, %xmm8, %xmm8
2237        vaesdec	%xmm4, %xmm9, %xmm9
2238        vaesdec	%xmm4, %xmm10, %xmm10
2239        vaesdec	%xmm4, %xmm11, %xmm11
2240        cmpl	$11, %r10d
2241        vmovdqu	160(%r8), %xmm4
2242        jl	L_AES_XTS_decrypt_avx1_aes_dec_64_aes_dec_block_last
2243        vaesdec	%xmm4, %xmm8, %xmm8
2244        vaesdec	%xmm4, %xmm9, %xmm9
2245        vaesdec	%xmm4, %xmm10, %xmm10
2246        vaesdec	%xmm4, %xmm11, %xmm11
2247        vmovdqu	176(%r8), %xmm4
2248        vaesdec	%xmm4, %xmm8, %xmm8
2249        vaesdec	%xmm4, %xmm9, %xmm9
2250        vaesdec	%xmm4, %xmm10, %xmm10
2251        vaesdec	%xmm4, %xmm11, %xmm11
2252        cmpl	$13, %r10d
2253        vmovdqu	192(%r8), %xmm4
2254        jl	L_AES_XTS_decrypt_avx1_aes_dec_64_aes_dec_block_last
2255        vaesdec	%xmm4, %xmm8, %xmm8
2256        vaesdec	%xmm4, %xmm9, %xmm9
2257        vaesdec	%xmm4, %xmm10, %xmm10
2258        vaesdec	%xmm4, %xmm11, %xmm11
2259        vmovdqu	208(%r8), %xmm4
2260        vaesdec	%xmm4, %xmm8, %xmm8
2261        vaesdec	%xmm4, %xmm9, %xmm9
2262        vaesdec	%xmm4, %xmm10, %xmm10
2263        vaesdec	%xmm4, %xmm11, %xmm11
2264        vmovdqu	224(%r8), %xmm4
2265L_AES_XTS_decrypt_avx1_aes_dec_64_aes_dec_block_last:
2266        vaesdeclast	%xmm4, %xmm8, %xmm8
2267        vaesdeclast	%xmm4, %xmm9, %xmm9
2268        vaesdeclast	%xmm4, %xmm10, %xmm10
2269        vaesdeclast	%xmm4, %xmm11, %xmm11
2270        vpxor	%xmm0, %xmm8, %xmm8
2271        vpxor	%xmm1, %xmm9, %xmm9
2272        vpxor	%xmm2, %xmm10, %xmm10
2273        vpxor	%xmm3, %xmm11, %xmm11
2274        vmovdqu	%xmm8, (%rdx)
2275        vmovdqu	%xmm9, 16(%rdx)
2276        vmovdqu	%xmm10, 32(%rdx)
2277        vmovdqu	%xmm11, 48(%rdx)
2278        vpsrad	$31, %xmm3, %xmm4
2279        vpslld	$0x01, %xmm3, %xmm0
2280        vpshufd	$0x93, %xmm4, %xmm4
2281        vpand	%xmm12, %xmm4, %xmm4
2282        vpxor	%xmm4, %xmm0, %xmm0
2283        addl	$0x40, %r13d
2284        cmpl	%r11d, %r13d
2285        jl	L_AES_XTS_decrypt_avx1_dec_64
2286L_AES_XTS_decrypt_avx1_done_64:
2287        cmpl	%eax, %r13d
2288        movl	%eax, %r11d
2289        je	L_AES_XTS_decrypt_avx1_done_dec
2290        andl	$0xfffffff0, %r11d
2291        cmpl	%eax, %r11d
2292        je	L_AES_XTS_decrypt_avx1_mul16
2293        subl	$16, %r11d
2294        subl	%r13d, %r11d
2295        cmpl	$16, %r11d
2296        jl	L_AES_XTS_decrypt_avx1_last_31_start
2297        addl	%r13d, %r11d
2298L_AES_XTS_decrypt_avx1_mul16:
2299L_AES_XTS_decrypt_avx1_dec_16:
2300        # 16 bytes of input
2301        leaq	(%rdi,%r13,1), %rcx
2302        vmovdqu	(%rcx), %xmm8
2303        vpxor	%xmm0, %xmm8, %xmm8
2304        # aes_dec_block
2305        vpxor	(%r8), %xmm8, %xmm8
2306        vmovdqu	16(%r8), %xmm5
2307        vaesdec	%xmm5, %xmm8, %xmm8
2308        vmovdqu	32(%r8), %xmm5
2309        vaesdec	%xmm5, %xmm8, %xmm8
2310        vmovdqu	48(%r8), %xmm5
2311        vaesdec	%xmm5, %xmm8, %xmm8
2312        vmovdqu	64(%r8), %xmm5
2313        vaesdec	%xmm5, %xmm8, %xmm8
2314        vmovdqu	80(%r8), %xmm5
2315        vaesdec	%xmm5, %xmm8, %xmm8
2316        vmovdqu	96(%r8), %xmm5
2317        vaesdec	%xmm5, %xmm8, %xmm8
2318        vmovdqu	112(%r8), %xmm5
2319        vaesdec	%xmm5, %xmm8, %xmm8
2320        vmovdqu	128(%r8), %xmm5
2321        vaesdec	%xmm5, %xmm8, %xmm8
2322        vmovdqu	144(%r8), %xmm5
2323        vaesdec	%xmm5, %xmm8, %xmm8
2324        cmpl	$11, %r10d
2325        vmovdqu	160(%r8), %xmm5
2326        jl	L_AES_XTS_decrypt_avx1_aes_dec_block_last
2327        vaesdec	%xmm5, %xmm8, %xmm8
2328        vmovdqu	176(%r8), %xmm6
2329        vaesdec	%xmm6, %xmm8, %xmm8
2330        cmpl	$13, %r10d
2331        vmovdqu	192(%r8), %xmm5
2332        jl	L_AES_XTS_decrypt_avx1_aes_dec_block_last
2333        vaesdec	%xmm5, %xmm8, %xmm8
2334        vmovdqu	208(%r8), %xmm6
2335        vaesdec	%xmm6, %xmm8, %xmm8
2336        vmovdqu	224(%r8), %xmm5
2337L_AES_XTS_decrypt_avx1_aes_dec_block_last:
2338        vaesdeclast	%xmm5, %xmm8, %xmm8
2339        vpxor	%xmm0, %xmm8, %xmm8
2340        leaq	(%rsi,%r13,1), %rcx
2341        vmovdqu	%xmm8, (%rcx)
2342        vpsrad	$31, %xmm0, %xmm4
2343        vpslld	$0x01, %xmm0, %xmm0
2344        vpshufd	$0x93, %xmm4, %xmm4
2345        vpand	%xmm12, %xmm4, %xmm4
2346        vpxor	%xmm4, %xmm0, %xmm0
2347        addl	$16, %r13d
2348        cmpl	%r11d, %r13d
2349        jl	L_AES_XTS_decrypt_avx1_dec_16
2350        cmpl	%eax, %r13d
2351        je	L_AES_XTS_decrypt_avx1_done_dec
2352L_AES_XTS_decrypt_avx1_last_31_start:
2353        vpsrad	$31, %xmm0, %xmm4
2354        vpslld	$0x01, %xmm0, %xmm7
2355        vpshufd	$0x93, %xmm4, %xmm4
2356        vpand	%xmm12, %xmm4, %xmm4
2357        vpxor	%xmm4, %xmm7, %xmm7
2358        leaq	(%rdi,%r13,1), %rcx
2359        vmovdqu	(%rcx), %xmm8
2360        vpxor	%xmm7, %xmm8, %xmm8
2361        # aes_dec_block
2362        vpxor	(%r8), %xmm8, %xmm8
2363        vmovdqu	16(%r8), %xmm5
2364        vaesdec	%xmm5, %xmm8, %xmm8
2365        vmovdqu	32(%r8), %xmm5
2366        vaesdec	%xmm5, %xmm8, %xmm8
2367        vmovdqu	48(%r8), %xmm5
2368        vaesdec	%xmm5, %xmm8, %xmm8
2369        vmovdqu	64(%r8), %xmm5
2370        vaesdec	%xmm5, %xmm8, %xmm8
2371        vmovdqu	80(%r8), %xmm5
2372        vaesdec	%xmm5, %xmm8, %xmm8
2373        vmovdqu	96(%r8), %xmm5
2374        vaesdec	%xmm5, %xmm8, %xmm8
2375        vmovdqu	112(%r8), %xmm5
2376        vaesdec	%xmm5, %xmm8, %xmm8
2377        vmovdqu	128(%r8), %xmm5
2378        vaesdec	%xmm5, %xmm8, %xmm8
2379        vmovdqu	144(%r8), %xmm5
2380        vaesdec	%xmm5, %xmm8, %xmm8
2381        cmpl	$11, %r10d
2382        vmovdqu	160(%r8), %xmm5
2383        jl	L_AES_XTS_decrypt_avx1_last_31_aes_dec_block_last
2384        vaesdec	%xmm5, %xmm8, %xmm8
2385        vmovdqu	176(%r8), %xmm6
2386        vaesdec	%xmm6, %xmm8, %xmm8
2387        cmpl	$13, %r10d
2388        vmovdqu	192(%r8), %xmm5
2389        jl	L_AES_XTS_decrypt_avx1_last_31_aes_dec_block_last
2390        vaesdec	%xmm5, %xmm8, %xmm8
2391        vmovdqu	208(%r8), %xmm6
2392        vaesdec	%xmm6, %xmm8, %xmm8
2393        vmovdqu	224(%r8), %xmm5
2394L_AES_XTS_decrypt_avx1_last_31_aes_dec_block_last:
2395        vaesdeclast	%xmm5, %xmm8, %xmm8
2396        vpxor	%xmm7, %xmm8, %xmm8
2397        vmovdqu	%xmm8, (%rsp)
2398        addq	$16, %r13
2399        xorq	%rdx, %rdx
2400L_AES_XTS_decrypt_avx1_last_31_byte_loop:
2401        movb	(%rsp,%rdx,1), %r11b
2402        movb	(%rdi,%r13,1), %cl
2403        movb	%r11b, (%rsi,%r13,1)
2404        movb	%cl, (%rsp,%rdx,1)
2405        incl	%r13d
2406        incl	%edx
2407        cmpl	%eax, %r13d
2408        jl	L_AES_XTS_decrypt_avx1_last_31_byte_loop
2409        subq	%rdx, %r13
2410        vmovdqu	(%rsp), %xmm8
2411        vpxor	%xmm0, %xmm8, %xmm8
2412        # aes_dec_block
2413        vpxor	(%r8), %xmm8, %xmm8
2414        vmovdqu	16(%r8), %xmm5
2415        vaesdec	%xmm5, %xmm8, %xmm8
2416        vmovdqu	32(%r8), %xmm5
2417        vaesdec	%xmm5, %xmm8, %xmm8
2418        vmovdqu	48(%r8), %xmm5
2419        vaesdec	%xmm5, %xmm8, %xmm8
2420        vmovdqu	64(%r8), %xmm5
2421        vaesdec	%xmm5, %xmm8, %xmm8
2422        vmovdqu	80(%r8), %xmm5
2423        vaesdec	%xmm5, %xmm8, %xmm8
2424        vmovdqu	96(%r8), %xmm5
2425        vaesdec	%xmm5, %xmm8, %xmm8
2426        vmovdqu	112(%r8), %xmm5
2427        vaesdec	%xmm5, %xmm8, %xmm8
2428        vmovdqu	128(%r8), %xmm5
2429        vaesdec	%xmm5, %xmm8, %xmm8
2430        vmovdqu	144(%r8), %xmm5
2431        vaesdec	%xmm5, %xmm8, %xmm8
2432        cmpl	$11, %r10d
2433        vmovdqu	160(%r8), %xmm5
2434        jl	L_AES_XTS_decrypt_avx1_last_31_2_aes_dec_block_last
2435        vaesdec	%xmm5, %xmm8, %xmm8
2436        vmovdqu	176(%r8), %xmm6
2437        vaesdec	%xmm6, %xmm8, %xmm8
2438        cmpl	$13, %r10d
2439        vmovdqu	192(%r8), %xmm5
2440        jl	L_AES_XTS_decrypt_avx1_last_31_2_aes_dec_block_last
2441        vaesdec	%xmm5, %xmm8, %xmm8
2442        vmovdqu	208(%r8), %xmm6
2443        vaesdec	%xmm6, %xmm8, %xmm8
2444        vmovdqu	224(%r8), %xmm5
2445L_AES_XTS_decrypt_avx1_last_31_2_aes_dec_block_last:
2446        vaesdeclast	%xmm5, %xmm8, %xmm8
2447        vpxor	%xmm0, %xmm8, %xmm8
2448        subq	$16, %r13
2449        leaq	(%rsi,%r13,1), %rcx
2450        vmovdqu	%xmm8, (%rcx)
2451L_AES_XTS_decrypt_avx1_done_dec:
2452        addq	$16, %rsp
2453        popq	%r13
2454        popq	%r12
2455        repz retq
2456#ifndef __APPLE__
2457.size	AES_XTS_decrypt_avx1,.-AES_XTS_decrypt_avx1
2458#endif /* __APPLE__ */
2459#ifndef __APPLE__
2460.text
2461.globl	AES_XTS_decrypt_update_avx1
2462.type	AES_XTS_decrypt_update_avx1,@function
2463.align	16
2464AES_XTS_decrypt_update_avx1:
2465#else
2466.section	__TEXT,__text
2467.globl	_AES_XTS_decrypt_update_avx1
2468.p2align	4
2469_AES_XTS_decrypt_update_avx1:
2470#endif /* __APPLE__ */
2471        pushq	%r12
2472        movq	%rdx, %rax
2473        movq	%rcx, %r10
2474        subq	$16, %rsp
2475        vmovdqu	L_avx1_aes_xts_gc_xts(%rip), %xmm12
2476        vmovdqu	(%r8), %xmm0
2477        xorl	%r12d, %r12d
2478        movl	%eax, %r11d
2479        andl	$0xfffffff0, %r11d
2480        cmpl	%eax, %r11d
2481        je	L_AES_XTS_decrypt_update_avx1_mul16_64
2482        subl	$16, %r11d
2483        cmpl	$16, %r11d
2484        jl	L_AES_XTS_decrypt_update_avx1_last_31_start
2485L_AES_XTS_decrypt_update_avx1_mul16_64:
2486        cmpl	$0x40, %r11d
2487        jl	L_AES_XTS_decrypt_update_avx1_done_64
2488        andl	$0xffffffc0, %r11d
2489L_AES_XTS_decrypt_update_avx1_dec_64:
2490        # 64 bytes of input
2491        # aes_dec_64
2492        leaq	(%rdi,%r12,1), %rcx
2493        leaq	(%rsi,%r12,1), %rdx
2494        vmovdqu	(%rcx), %xmm8
2495        vmovdqu	16(%rcx), %xmm9
2496        vmovdqu	32(%rcx), %xmm10
2497        vmovdqu	48(%rcx), %xmm11
2498        vpsrad	$31, %xmm0, %xmm4
2499        vpslld	$0x01, %xmm0, %xmm1
2500        vpshufd	$0x93, %xmm4, %xmm4
2501        vpand	%xmm12, %xmm4, %xmm4
2502        vpxor	%xmm4, %xmm1, %xmm1
2503        vpsrad	$31, %xmm1, %xmm4
2504        vpslld	$0x01, %xmm1, %xmm2
2505        vpshufd	$0x93, %xmm4, %xmm4
2506        vpand	%xmm12, %xmm4, %xmm4
2507        vpxor	%xmm4, %xmm2, %xmm2
2508        vpsrad	$31, %xmm2, %xmm4
2509        vpslld	$0x01, %xmm2, %xmm3
2510        vpshufd	$0x93, %xmm4, %xmm4
2511        vpand	%xmm12, %xmm4, %xmm4
2512        vpxor	%xmm4, %xmm3, %xmm3
2513        vpxor	%xmm0, %xmm8, %xmm8
2514        vpxor	%xmm1, %xmm9, %xmm9
2515        vpxor	%xmm2, %xmm10, %xmm10
2516        vpxor	%xmm3, %xmm11, %xmm11
2517        # aes_dec_block
2518        vmovdqu	(%r10), %xmm4
2519        vpxor	%xmm4, %xmm8, %xmm8
2520        vpxor	%xmm4, %xmm9, %xmm9
2521        vpxor	%xmm4, %xmm10, %xmm10
2522        vpxor	%xmm4, %xmm11, %xmm11
2523        vmovdqu	16(%r10), %xmm4
2524        vaesdec	%xmm4, %xmm8, %xmm8
2525        vaesdec	%xmm4, %xmm9, %xmm9
2526        vaesdec	%xmm4, %xmm10, %xmm10
2527        vaesdec	%xmm4, %xmm11, %xmm11
2528        vmovdqu	32(%r10), %xmm4
2529        vaesdec	%xmm4, %xmm8, %xmm8
2530        vaesdec	%xmm4, %xmm9, %xmm9
2531        vaesdec	%xmm4, %xmm10, %xmm10
2532        vaesdec	%xmm4, %xmm11, %xmm11
2533        vmovdqu	48(%r10), %xmm4
2534        vaesdec	%xmm4, %xmm8, %xmm8
2535        vaesdec	%xmm4, %xmm9, %xmm9
2536        vaesdec	%xmm4, %xmm10, %xmm10
2537        vaesdec	%xmm4, %xmm11, %xmm11
2538        vmovdqu	64(%r10), %xmm4
2539        vaesdec	%xmm4, %xmm8, %xmm8
2540        vaesdec	%xmm4, %xmm9, %xmm9
2541        vaesdec	%xmm4, %xmm10, %xmm10
2542        vaesdec	%xmm4, %xmm11, %xmm11
2543        vmovdqu	80(%r10), %xmm4
2544        vaesdec	%xmm4, %xmm8, %xmm8
2545        vaesdec	%xmm4, %xmm9, %xmm9
2546        vaesdec	%xmm4, %xmm10, %xmm10
2547        vaesdec	%xmm4, %xmm11, %xmm11
2548        vmovdqu	96(%r10), %xmm4
2549        vaesdec	%xmm4, %xmm8, %xmm8
2550        vaesdec	%xmm4, %xmm9, %xmm9
2551        vaesdec	%xmm4, %xmm10, %xmm10
2552        vaesdec	%xmm4, %xmm11, %xmm11
2553        vmovdqu	112(%r10), %xmm4
2554        vaesdec	%xmm4, %xmm8, %xmm8
2555        vaesdec	%xmm4, %xmm9, %xmm9
2556        vaesdec	%xmm4, %xmm10, %xmm10
2557        vaesdec	%xmm4, %xmm11, %xmm11
2558        vmovdqu	128(%r10), %xmm4
2559        vaesdec	%xmm4, %xmm8, %xmm8
2560        vaesdec	%xmm4, %xmm9, %xmm9
2561        vaesdec	%xmm4, %xmm10, %xmm10
2562        vaesdec	%xmm4, %xmm11, %xmm11
2563        vmovdqu	144(%r10), %xmm4
2564        vaesdec	%xmm4, %xmm8, %xmm8
2565        vaesdec	%xmm4, %xmm9, %xmm9
2566        vaesdec	%xmm4, %xmm10, %xmm10
2567        vaesdec	%xmm4, %xmm11, %xmm11
2568        cmpl	$11, %r9d
2569        vmovdqu	160(%r10), %xmm4
2570        jl	L_AES_XTS_decrypt_update_avx1_aes_dec_64_aes_dec_block_last
2571        vaesdec	%xmm4, %xmm8, %xmm8
2572        vaesdec	%xmm4, %xmm9, %xmm9
2573        vaesdec	%xmm4, %xmm10, %xmm10
2574        vaesdec	%xmm4, %xmm11, %xmm11
2575        vmovdqu	176(%r10), %xmm4
2576        vaesdec	%xmm4, %xmm8, %xmm8
2577        vaesdec	%xmm4, %xmm9, %xmm9
2578        vaesdec	%xmm4, %xmm10, %xmm10
2579        vaesdec	%xmm4, %xmm11, %xmm11
2580        cmpl	$13, %r9d
2581        vmovdqu	192(%r10), %xmm4
2582        jl	L_AES_XTS_decrypt_update_avx1_aes_dec_64_aes_dec_block_last
2583        vaesdec	%xmm4, %xmm8, %xmm8
2584        vaesdec	%xmm4, %xmm9, %xmm9
2585        vaesdec	%xmm4, %xmm10, %xmm10
2586        vaesdec	%xmm4, %xmm11, %xmm11
2587        vmovdqu	208(%r10), %xmm4
2588        vaesdec	%xmm4, %xmm8, %xmm8
2589        vaesdec	%xmm4, %xmm9, %xmm9
2590        vaesdec	%xmm4, %xmm10, %xmm10
2591        vaesdec	%xmm4, %xmm11, %xmm11
2592        vmovdqu	224(%r10), %xmm4
2593L_AES_XTS_decrypt_update_avx1_aes_dec_64_aes_dec_block_last:
2594        vaesdeclast	%xmm4, %xmm8, %xmm8
2595        vaesdeclast	%xmm4, %xmm9, %xmm9
2596        vaesdeclast	%xmm4, %xmm10, %xmm10
2597        vaesdeclast	%xmm4, %xmm11, %xmm11
2598        vpxor	%xmm0, %xmm8, %xmm8
2599        vpxor	%xmm1, %xmm9, %xmm9
2600        vpxor	%xmm2, %xmm10, %xmm10
2601        vpxor	%xmm3, %xmm11, %xmm11
2602        vmovdqu	%xmm8, (%rdx)
2603        vmovdqu	%xmm9, 16(%rdx)
2604        vmovdqu	%xmm10, 32(%rdx)
2605        vmovdqu	%xmm11, 48(%rdx)
2606        vpsrad	$31, %xmm3, %xmm4
2607        vpslld	$0x01, %xmm3, %xmm0
2608        vpshufd	$0x93, %xmm4, %xmm4
2609        vpand	%xmm12, %xmm4, %xmm4
2610        vpxor	%xmm4, %xmm0, %xmm0
2611        addl	$0x40, %r12d
2612        cmpl	%r11d, %r12d
2613        jl	L_AES_XTS_decrypt_update_avx1_dec_64
2614L_AES_XTS_decrypt_update_avx1_done_64:
2615        cmpl	%eax, %r12d
2616        movl	%eax, %r11d
2617        je	L_AES_XTS_decrypt_update_avx1_done_dec
2618        andl	$0xfffffff0, %r11d
2619        cmpl	%eax, %r11d
2620        je	L_AES_XTS_decrypt_update_avx1_mul16
2621        subl	$16, %r11d
2622        subl	%r12d, %r11d
2623        cmpl	$16, %r11d
2624        jl	L_AES_XTS_decrypt_update_avx1_last_31_start
2625        addl	%r12d, %r11d
2626L_AES_XTS_decrypt_update_avx1_mul16:
2627L_AES_XTS_decrypt_update_avx1_dec_16:
2628        # 16 bytes of input
2629        leaq	(%rdi,%r12,1), %rcx
2630        vmovdqu	(%rcx), %xmm8
2631        vpxor	%xmm0, %xmm8, %xmm8
2632        # aes_dec_block
2633        vpxor	(%r10), %xmm8, %xmm8
2634        vmovdqu	16(%r10), %xmm5
2635        vaesdec	%xmm5, %xmm8, %xmm8
2636        vmovdqu	32(%r10), %xmm5
2637        vaesdec	%xmm5, %xmm8, %xmm8
2638        vmovdqu	48(%r10), %xmm5
2639        vaesdec	%xmm5, %xmm8, %xmm8
2640        vmovdqu	64(%r10), %xmm5
2641        vaesdec	%xmm5, %xmm8, %xmm8
2642        vmovdqu	80(%r10), %xmm5
2643        vaesdec	%xmm5, %xmm8, %xmm8
2644        vmovdqu	96(%r10), %xmm5
2645        vaesdec	%xmm5, %xmm8, %xmm8
2646        vmovdqu	112(%r10), %xmm5
2647        vaesdec	%xmm5, %xmm8, %xmm8
2648        vmovdqu	128(%r10), %xmm5
2649        vaesdec	%xmm5, %xmm8, %xmm8
2650        vmovdqu	144(%r10), %xmm5
2651        vaesdec	%xmm5, %xmm8, %xmm8
2652        cmpl	$11, %r9d
2653        vmovdqu	160(%r10), %xmm5
2654        jl	L_AES_XTS_decrypt_update_avx1_aes_dec_block_last
2655        vaesdec	%xmm5, %xmm8, %xmm8
2656        vmovdqu	176(%r10), %xmm6
2657        vaesdec	%xmm6, %xmm8, %xmm8
2658        cmpl	$13, %r9d
2659        vmovdqu	192(%r10), %xmm5
2660        jl	L_AES_XTS_decrypt_update_avx1_aes_dec_block_last
2661        vaesdec	%xmm5, %xmm8, %xmm8
2662        vmovdqu	208(%r10), %xmm6
2663        vaesdec	%xmm6, %xmm8, %xmm8
2664        vmovdqu	224(%r10), %xmm5
2665L_AES_XTS_decrypt_update_avx1_aes_dec_block_last:
2666        vaesdeclast	%xmm5, %xmm8, %xmm8
2667        vpxor	%xmm0, %xmm8, %xmm8
2668        leaq	(%rsi,%r12,1), %rcx
2669        vmovdqu	%xmm8, (%rcx)
2670        vpsrad	$31, %xmm0, %xmm4
2671        vpslld	$0x01, %xmm0, %xmm0
2672        vpshufd	$0x93, %xmm4, %xmm4
2673        vpand	%xmm12, %xmm4, %xmm4
2674        vpxor	%xmm4, %xmm0, %xmm0
2675        addl	$16, %r12d
2676        cmpl	%r11d, %r12d
2677        jl	L_AES_XTS_decrypt_update_avx1_dec_16
2678        cmpl	%eax, %r12d
2679        je	L_AES_XTS_decrypt_update_avx1_done_dec
2680L_AES_XTS_decrypt_update_avx1_last_31_start:
2681        vpsrad	$31, %xmm0, %xmm4
2682        vpslld	$0x01, %xmm0, %xmm7
2683        vpshufd	$0x93, %xmm4, %xmm4
2684        vpand	%xmm12, %xmm4, %xmm4
2685        vpxor	%xmm4, %xmm7, %xmm7
2686        leaq	(%rdi,%r12,1), %rcx
2687        vmovdqu	(%rcx), %xmm8
2688        vpxor	%xmm7, %xmm8, %xmm8
2689        # aes_dec_block
2690        vpxor	(%r10), %xmm8, %xmm8
2691        vmovdqu	16(%r10), %xmm5
2692        vaesdec	%xmm5, %xmm8, %xmm8
2693        vmovdqu	32(%r10), %xmm5
2694        vaesdec	%xmm5, %xmm8, %xmm8
2695        vmovdqu	48(%r10), %xmm5
2696        vaesdec	%xmm5, %xmm8, %xmm8
2697        vmovdqu	64(%r10), %xmm5
2698        vaesdec	%xmm5, %xmm8, %xmm8
2699        vmovdqu	80(%r10), %xmm5
2700        vaesdec	%xmm5, %xmm8, %xmm8
2701        vmovdqu	96(%r10), %xmm5
2702        vaesdec	%xmm5, %xmm8, %xmm8
2703        vmovdqu	112(%r10), %xmm5
2704        vaesdec	%xmm5, %xmm8, %xmm8
2705        vmovdqu	128(%r10), %xmm5
2706        vaesdec	%xmm5, %xmm8, %xmm8
2707        vmovdqu	144(%r10), %xmm5
2708        vaesdec	%xmm5, %xmm8, %xmm8
2709        cmpl	$11, %r9d
2710        vmovdqu	160(%r10), %xmm5
2711        jl	L_AES_XTS_decrypt_update_avx1_last_31_aes_dec_block_last
2712        vaesdec	%xmm5, %xmm8, %xmm8
2713        vmovdqu	176(%r10), %xmm6
2714        vaesdec	%xmm6, %xmm8, %xmm8
2715        cmpl	$13, %r9d
2716        vmovdqu	192(%r10), %xmm5
2717        jl	L_AES_XTS_decrypt_update_avx1_last_31_aes_dec_block_last
2718        vaesdec	%xmm5, %xmm8, %xmm8
2719        vmovdqu	208(%r10), %xmm6
2720        vaesdec	%xmm6, %xmm8, %xmm8
2721        vmovdqu	224(%r10), %xmm5
2722L_AES_XTS_decrypt_update_avx1_last_31_aes_dec_block_last:
2723        vaesdeclast	%xmm5, %xmm8, %xmm8
2724        vpxor	%xmm7, %xmm8, %xmm8
2725        vmovdqu	%xmm8, (%rsp)
2726        addq	$16, %r12
2727        xorq	%rdx, %rdx
2728L_AES_XTS_decrypt_update_avx1_last_31_byte_loop:
2729        movb	(%rsp,%rdx,1), %r11b
2730        movb	(%rdi,%r12,1), %cl
2731        movb	%r11b, (%rsi,%r12,1)
2732        movb	%cl, (%rsp,%rdx,1)
2733        incl	%r12d
2734        incl	%edx
2735        cmpl	%eax, %r12d
2736        jl	L_AES_XTS_decrypt_update_avx1_last_31_byte_loop
2737        subq	%rdx, %r12
2738        vmovdqu	(%rsp), %xmm8
2739        vpxor	%xmm0, %xmm8, %xmm8
2740        # aes_dec_block
2741        vpxor	(%r10), %xmm8, %xmm8
2742        vmovdqu	16(%r10), %xmm5
2743        vaesdec	%xmm5, %xmm8, %xmm8
2744        vmovdqu	32(%r10), %xmm5
2745        vaesdec	%xmm5, %xmm8, %xmm8
2746        vmovdqu	48(%r10), %xmm5
2747        vaesdec	%xmm5, %xmm8, %xmm8
2748        vmovdqu	64(%r10), %xmm5
2749        vaesdec	%xmm5, %xmm8, %xmm8
2750        vmovdqu	80(%r10), %xmm5
2751        vaesdec	%xmm5, %xmm8, %xmm8
2752        vmovdqu	96(%r10), %xmm5
2753        vaesdec	%xmm5, %xmm8, %xmm8
2754        vmovdqu	112(%r10), %xmm5
2755        vaesdec	%xmm5, %xmm8, %xmm8
2756        vmovdqu	128(%r10), %xmm5
2757        vaesdec	%xmm5, %xmm8, %xmm8
2758        vmovdqu	144(%r10), %xmm5
2759        vaesdec	%xmm5, %xmm8, %xmm8
2760        cmpl	$11, %r9d
2761        vmovdqu	160(%r10), %xmm5
2762        jl	L_AES_XTS_decrypt_update_avx1_last_31_2_aes_dec_block_last
2763        vaesdec	%xmm5, %xmm8, %xmm8
2764        vmovdqu	176(%r10), %xmm6
2765        vaesdec	%xmm6, %xmm8, %xmm8
2766        cmpl	$13, %r9d
2767        vmovdqu	192(%r10), %xmm5
2768        jl	L_AES_XTS_decrypt_update_avx1_last_31_2_aes_dec_block_last
2769        vaesdec	%xmm5, %xmm8, %xmm8
2770        vmovdqu	208(%r10), %xmm6
2771        vaesdec	%xmm6, %xmm8, %xmm8
2772        vmovdqu	224(%r10), %xmm5
2773L_AES_XTS_decrypt_update_avx1_last_31_2_aes_dec_block_last:
2774        vaesdeclast	%xmm5, %xmm8, %xmm8
2775        vpxor	%xmm0, %xmm8, %xmm8
2776        subq	$16, %r12
2777        leaq	(%rsi,%r12,1), %rcx
2778        vmovdqu	%xmm8, (%rcx)
2779L_AES_XTS_decrypt_update_avx1_done_dec:
2780        vmovdqu	%xmm0, (%r8)
2781        addq	$16, %rsp
2782        popq	%r12
2783        repz retq
2784#ifndef __APPLE__
2785.size	AES_XTS_decrypt_update_avx1,.-AES_XTS_decrypt_update_avx1
2786#endif /* __APPLE__ */
2787#endif /* HAVE_INTEL_AVX1 */
2788#endif /* WOLFSSL_X86_64_BUILD */
2789#endif /* WOLFSSL_AES_XTS */
2790
2791#if defined(__linux__) && defined(__ELF__)
2792.section	.note.GNU-stack,"",%progbits
2793#endif