react-native-queue-player 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1218) hide show
  1. package/LICENSE +201 -0
  2. package/QueuePlayer.podspec +114 -0
  3. package/README.md +194 -0
  4. package/android/CMakeLists.txt +41 -0
  5. package/android/build.gradle +257 -0
  6. package/android/src/androidTest/java/com/margelo/nitro/queueplayer/SignalsmithStretchNativeTest.kt +136 -0
  7. package/android/src/main/AndroidManifest.xml +173 -0
  8. package/android/src/main/cpp/CMakeLists.txt +221 -0
  9. package/android/src/main/cpp/THIRD_PARTY_LICENSES +128 -0
  10. package/android/src/main/cpp/THIRD_PARTY_VERSIONS.txt +32 -0
  11. package/android/src/main/cpp/airplay2_audio.c +537 -0
  12. package/android/src/main/cpp/airplay2_audio.h +66 -0
  13. package/android/src/main/cpp/airplay2_control.c +680 -0
  14. package/android/src/main/cpp/airplay2_control.h +101 -0
  15. package/android/src/main/cpp/airplay2_crypto.c +548 -0
  16. package/android/src/main/cpp/airplay2_crypto.h +213 -0
  17. package/android/src/main/cpp/airplay2_dmap.c +81 -0
  18. package/android/src/main/cpp/airplay2_dmap.h +53 -0
  19. package/android/src/main/cpp/airplay2_filelog.h +100 -0
  20. package/android/src/main/cpp/airplay2_jni.cpp +579 -0
  21. package/android/src/main/cpp/airplay2_ntp.c +203 -0
  22. package/android/src/main/cpp/airplay2_ntp.h +39 -0
  23. package/android/src/main/cpp/airplay2_pair.c +653 -0
  24. package/android/src/main/cpp/airplay2_pair.h +114 -0
  25. package/android/src/main/cpp/airplay2_plist.c +840 -0
  26. package/android/src/main/cpp/airplay2_plist.h +184 -0
  27. package/android/src/main/cpp/airplay2_ptp.c +509 -0
  28. package/android/src/main/cpp/airplay2_ptp.h +40 -0
  29. package/android/src/main/cpp/airplay2_rtsp.c +693 -0
  30. package/android/src/main/cpp/airplay2_rtsp.h +90 -0
  31. package/android/src/main/cpp/airplay2_session.c +196 -0
  32. package/android/src/main/cpp/airplay2_session.h +197 -0
  33. package/android/src/main/cpp/airplay2_tlv.c +135 -0
  34. package/android/src/main/cpp/airplay2_tlv.h +87 -0
  35. package/android/src/main/cpp/airplay_jni.cpp +589 -0
  36. package/android/src/main/cpp/build-openssl-android.sh +94 -0
  37. package/android/src/main/cpp/cpp-adapter.cpp +11 -0
  38. package/android/src/main/cpp/prebuilt/libsodium/arm64-v8a/lib/libsodium.a +0 -0
  39. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/core.h +28 -0
  40. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_aead_aegis128l.h +92 -0
  41. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_aead_aegis256.h +92 -0
  42. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_aead_aes256gcm.h +179 -0
  43. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +180 -0
  44. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +100 -0
  45. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_auth.h +46 -0
  46. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_auth_hmacsha256.h +70 -0
  47. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_auth_hmacsha512.h +68 -0
  48. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_auth_hmacsha512256.h +65 -0
  49. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_box.h +177 -0
  50. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +164 -0
  51. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +112 -0
  52. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_core_ed25519.h +104 -0
  53. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_core_hchacha20.h +36 -0
  54. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_core_hsalsa20.h +36 -0
  55. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_core_ristretto255.h +100 -0
  56. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_core_salsa20.h +36 -0
  57. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_core_salsa2012.h +36 -0
  58. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_core_salsa208.h +40 -0
  59. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_generichash.h +84 -0
  60. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_generichash_blake2b.h +122 -0
  61. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_hash.h +40 -0
  62. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_hash_sha256.h +60 -0
  63. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_hash_sha512.h +60 -0
  64. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_kdf.h +53 -0
  65. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_kdf_blake2b.h +44 -0
  66. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_kdf_hkdf_sha256.h +74 -0
  67. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_kdf_hkdf_sha512.h +75 -0
  68. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_kx.h +66 -0
  69. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_onetimeauth.h +65 -0
  70. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +72 -0
  71. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_pwhash.h +147 -0
  72. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_pwhash_argon2i.h +122 -0
  73. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_pwhash_argon2id.h +122 -0
  74. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +120 -0
  75. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_scalarmult.h +46 -0
  76. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_scalarmult_curve25519.h +42 -0
  77. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_scalarmult_ed25519.h +51 -0
  78. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_scalarmult_ristretto255.h +43 -0
  79. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_secretbox.h +93 -0
  80. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +70 -0
  81. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +69 -0
  82. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +108 -0
  83. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_shorthash.h +41 -0
  84. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_shorthash_siphash24.h +50 -0
  85. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_sign.h +107 -0
  86. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_sign_ed25519.h +124 -0
  87. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +55 -0
  88. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_stream.h +59 -0
  89. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_stream_chacha20.h +106 -0
  90. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_stream_salsa20.h +61 -0
  91. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_stream_salsa2012.h +53 -0
  92. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_stream_salsa208.h +56 -0
  93. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_stream_xchacha20.h +61 -0
  94. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_stream_xsalsa20.h +61 -0
  95. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_verify_16.h +23 -0
  96. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_verify_32.h +23 -0
  97. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/crypto_verify_64.h +23 -0
  98. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/export.h +57 -0
  99. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/randombytes.h +72 -0
  100. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/randombytes_internal_random.h +22 -0
  101. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/randombytes_sysrandom.h +19 -0
  102. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/runtime.h +55 -0
  103. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/utils.h +179 -0
  104. package/android/src/main/cpp/prebuilt/libsodium/include/sodium/version.h +33 -0
  105. package/android/src/main/cpp/prebuilt/libsodium/include/sodium.h +75 -0
  106. package/android/src/main/cpp/prebuilt/libsodium/x86_64/lib/libsodium.a +0 -0
  107. package/android/src/main/cpp/prebuilt/openssl/arm64-v8a/lib/libcrypto.a +0 -0
  108. package/android/src/main/cpp/prebuilt/openssl/arm64-v8a/lib/libssl.a +0 -0
  109. package/android/src/main/cpp/prebuilt/openssl/x86_64/lib/libcrypto.a +0 -0
  110. package/android/src/main/cpp/prebuilt/openssl/x86_64/lib/libssl.a +0 -0
  111. package/android/src/main/cpp/stretch_jni.cpp +171 -0
  112. package/android/src/main/cpp/third_party/alac/addons/alac_wrapper.cpp +198 -0
  113. package/android/src/main/cpp/third_party/alac/addons/alac_wrapper.h +46 -0
  114. package/android/src/main/cpp/third_party/alac/codec/ALACAudioTypes.h +197 -0
  115. package/android/src/main/cpp/third_party/alac/codec/ALACBitUtilities.c +260 -0
  116. package/android/src/main/cpp/third_party/alac/codec/ALACBitUtilities.h +104 -0
  117. package/android/src/main/cpp/third_party/alac/codec/ALACDecoder.cpp +730 -0
  118. package/android/src/main/cpp/third_party/alac/codec/ALACDecoder.h +65 -0
  119. package/android/src/main/cpp/third_party/alac/codec/ALACEncoder.cpp +1425 -0
  120. package/android/src/main/cpp/third_party/alac/codec/ALACEncoder.h +92 -0
  121. package/android/src/main/cpp/third_party/alac/codec/EndianPortable.c +181 -0
  122. package/android/src/main/cpp/third_party/alac/codec/EndianPortable.h +59 -0
  123. package/android/src/main/cpp/third_party/alac/codec/ag_dec.c +362 -0
  124. package/android/src/main/cpp/third_party/alac/codec/ag_enc.c +370 -0
  125. package/android/src/main/cpp/third_party/alac/codec/aglib.h +81 -0
  126. package/android/src/main/cpp/third_party/alac/codec/dp_dec.c +381 -0
  127. package/android/src/main/cpp/third_party/alac/codec/dp_enc.c +386 -0
  128. package/android/src/main/cpp/third_party/alac/codec/dplib.h +61 -0
  129. package/android/src/main/cpp/third_party/alac/codec/matrix_dec.c +390 -0
  130. package/android/src/main/cpp/third_party/alac/codec/matrix_enc.c +342 -0
  131. package/android/src/main/cpp/third_party/alac/codec/matrixlib.h +80 -0
  132. package/android/src/main/cpp/third_party/crosstools/cross_log.c +95 -0
  133. package/android/src/main/cpp/third_party/crosstools/cross_log.h +25 -0
  134. package/android/src/main/cpp/third_party/crosstools/cross_net.c +1139 -0
  135. package/android/src/main/cpp/third_party/crosstools/cross_net.h +51 -0
  136. package/android/src/main/cpp/third_party/crosstools/cross_ssl.c +371 -0
  137. package/android/src/main/cpp/third_party/crosstools/cross_ssl.h +15 -0
  138. package/android/src/main/cpp/third_party/crosstools/cross_thread.c +134 -0
  139. package/android/src/main/cpp/third_party/crosstools/cross_thread.h +20 -0
  140. package/android/src/main/cpp/third_party/crosstools/cross_util.c +753 -0
  141. package/android/src/main/cpp/third_party/crosstools/cross_util.h +125 -0
  142. package/android/src/main/cpp/third_party/crosstools/platform.c +227 -0
  143. package/android/src/main/cpp/third_party/crosstools/platform.h +127 -0
  144. package/android/src/main/cpp/third_party/curve25519/include/curve25519_dh.h +53 -0
  145. package/android/src/main/cpp/third_party/curve25519/include/ed25519_signature.h +98 -0
  146. package/android/src/main/cpp/third_party/curve25519/include/external_calls.h +36 -0
  147. package/android/src/main/cpp/third_party/curve25519/source/BaseTypes.h +125 -0
  148. package/android/src/main/cpp/third_party/curve25519/source/base_folding8.h +1288 -0
  149. package/android/src/main/cpp/third_party/curve25519/source/curve25519_dh.c +208 -0
  150. package/android/src/main/cpp/third_party/curve25519/source/curve25519_mehdi.c +410 -0
  151. package/android/src/main/cpp/third_party/curve25519/source/curve25519_mehdi.h +175 -0
  152. package/android/src/main/cpp/third_party/curve25519/source/curve25519_order.c +155 -0
  153. package/android/src/main/cpp/third_party/curve25519/source/curve25519_utils.c +153 -0
  154. package/android/src/main/cpp/third_party/curve25519/source/custom_blind.c +27 -0
  155. package/android/src/main/cpp/third_party/curve25519/source/custom_blind.h +11 -0
  156. package/android/src/main/cpp/third_party/curve25519/source/ed25519_sign.c +419 -0
  157. package/android/src/main/cpp/third_party/curve25519/source/ed25519_signature.h +98 -0
  158. package/android/src/main/cpp/third_party/curve25519/source/ed25519_verify.c +313 -0
  159. package/android/src/main/cpp/third_party/curve25519/source/sha512.c +294 -0
  160. package/android/src/main/cpp/third_party/curve25519/source/sha512.h +93 -0
  161. package/android/src/main/cpp/third_party/dmap-parser/dmap_parser.c +545 -0
  162. package/android/src/main/cpp/third_party/dmap-parser/dmap_parser.h +90 -0
  163. package/android/src/main/cpp/third_party/libraop/aes.c +863 -0
  164. package/android/src/main/cpp/third_party/libraop/aes.h +18 -0
  165. package/android/src/main/cpp/third_party/libraop/aes_ctr.c +89 -0
  166. package/android/src/main/cpp/third_party/libraop/aes_ctr.h +59 -0
  167. package/android/src/main/cpp/third_party/libraop/alac.c +1135 -0
  168. package/android/src/main/cpp/third_party/libraop/alac.h +55 -0
  169. package/android/src/main/cpp/third_party/libraop/raop_client.c +1500 -0
  170. package/android/src/main/cpp/third_party/libraop/raop_client.h +178 -0
  171. package/android/src/main/cpp/third_party/libraop/rtsp_client.c +743 -0
  172. package/android/src/main/cpp/third_party/libraop/rtsp_client.h +50 -0
  173. package/android/src/main/cpp/third_party/openssl/include/openssl/__DECC_INCLUDE_EPILOGUE.H +22 -0
  174. package/android/src/main/cpp/third_party/openssl/include/openssl/__DECC_INCLUDE_PROLOGUE.H +26 -0
  175. package/android/src/main/cpp/third_party/openssl/include/openssl/aes.h +111 -0
  176. package/android/src/main/cpp/third_party/openssl/include/openssl/asn1.h +1134 -0
  177. package/android/src/main/cpp/third_party/openssl/include/openssl/asn1.h.in +967 -0
  178. package/android/src/main/cpp/third_party/openssl/include/openssl/asn1err.h +142 -0
  179. package/android/src/main/cpp/third_party/openssl/include/openssl/asn1t.h +946 -0
  180. package/android/src/main/cpp/third_party/openssl/include/openssl/asn1t.h.in +923 -0
  181. package/android/src/main/cpp/third_party/openssl/include/openssl/async.h +104 -0
  182. package/android/src/main/cpp/third_party/openssl/include/openssl/asyncerr.h +29 -0
  183. package/android/src/main/cpp/third_party/openssl/include/openssl/bio.h +1022 -0
  184. package/android/src/main/cpp/third_party/openssl/include/openssl/bio.h.in +999 -0
  185. package/android/src/main/cpp/third_party/openssl/include/openssl/bioerr.h +72 -0
  186. package/android/src/main/cpp/third_party/openssl/include/openssl/blowfish.h +78 -0
  187. package/android/src/main/cpp/third_party/openssl/include/openssl/bn.h +590 -0
  188. package/android/src/main/cpp/third_party/openssl/include/openssl/bnerr.h +47 -0
  189. package/android/src/main/cpp/third_party/openssl/include/openssl/buffer.h +62 -0
  190. package/android/src/main/cpp/third_party/openssl/include/openssl/buffererr.h +25 -0
  191. package/android/src/main/cpp/third_party/openssl/include/openssl/byteorder.h +339 -0
  192. package/android/src/main/cpp/third_party/openssl/include/openssl/camellia.h +117 -0
  193. package/android/src/main/cpp/third_party/openssl/include/openssl/cast.h +71 -0
  194. package/android/src/main/cpp/third_party/openssl/include/openssl/cmac.h +52 -0
  195. package/android/src/main/cpp/third_party/openssl/include/openssl/cmp.h +727 -0
  196. package/android/src/main/cpp/third_party/openssl/include/openssl/cmp.h.in +584 -0
  197. package/android/src/main/cpp/third_party/openssl/include/openssl/cmp_util.h +56 -0
  198. package/android/src/main/cpp/third_party/openssl/include/openssl/cmperr.h +134 -0
  199. package/android/src/main/cpp/third_party/openssl/include/openssl/cms.h +511 -0
  200. package/android/src/main/cpp/third_party/openssl/include/openssl/cms.h.in +413 -0
  201. package/android/src/main/cpp/third_party/openssl/include/openssl/cmserr.h +126 -0
  202. package/android/src/main/cpp/third_party/openssl/include/openssl/comp.h +98 -0
  203. package/android/src/main/cpp/third_party/openssl/include/openssl/comp.h.in +76 -0
  204. package/android/src/main/cpp/third_party/openssl/include/openssl/comperr.h +38 -0
  205. package/android/src/main/cpp/third_party/openssl/include/openssl/conf.h +214 -0
  206. package/android/src/main/cpp/third_party/openssl/include/openssl/conf.h.in +177 -0
  207. package/android/src/main/cpp/third_party/openssl/include/openssl/conf_api.h +46 -0
  208. package/android/src/main/cpp/third_party/openssl/include/openssl/conferr.h +52 -0
  209. package/android/src/main/cpp/third_party/openssl/include/openssl/configuration.h +212 -0
  210. package/android/src/main/cpp/third_party/openssl/include/openssl/configuration.h.in +75 -0
  211. package/android/src/main/cpp/third_party/openssl/include/openssl/conftypes.h +44 -0
  212. package/android/src/main/cpp/third_party/openssl/include/openssl/core.h +236 -0
  213. package/android/src/main/cpp/third_party/openssl/include/openssl/core_dispatch.h +1141 -0
  214. package/android/src/main/cpp/third_party/openssl/include/openssl/core_names.h +575 -0
  215. package/android/src/main/cpp/third_party/openssl/include/openssl/core_names.h.in +126 -0
  216. package/android/src/main/cpp/third_party/openssl/include/openssl/core_object.h +41 -0
  217. package/android/src/main/cpp/third_party/openssl/include/openssl/crmf.h +278 -0
  218. package/android/src/main/cpp/third_party/openssl/include/openssl/crmf.h.in +207 -0
  219. package/android/src/main/cpp/third_party/openssl/include/openssl/crmferr.h +57 -0
  220. package/android/src/main/cpp/third_party/openssl/include/openssl/crypto.h +583 -0
  221. package/android/src/main/cpp/third_party/openssl/include/openssl/crypto.h.in +560 -0
  222. package/android/src/main/cpp/third_party/openssl/include/openssl/cryptoerr.h +56 -0
  223. package/android/src/main/cpp/third_party/openssl/include/openssl/cryptoerr_legacy.h +1466 -0
  224. package/android/src/main/cpp/third_party/openssl/include/openssl/ct.h +573 -0
  225. package/android/src/main/cpp/third_party/openssl/include/openssl/ct.h.in +525 -0
  226. package/android/src/main/cpp/third_party/openssl/include/openssl/cterr.h +45 -0
  227. package/android/src/main/cpp/third_party/openssl/include/openssl/decoder.h +133 -0
  228. package/android/src/main/cpp/third_party/openssl/include/openssl/decodererr.h +28 -0
  229. package/android/src/main/cpp/third_party/openssl/include/openssl/des.h +211 -0
  230. package/android/src/main/cpp/third_party/openssl/include/openssl/dh.h +339 -0
  231. package/android/src/main/cpp/third_party/openssl/include/openssl/dherr.h +59 -0
  232. package/android/src/main/cpp/third_party/openssl/include/openssl/dsa.h +280 -0
  233. package/android/src/main/cpp/third_party/openssl/include/openssl/dsaerr.h +44 -0
  234. package/android/src/main/cpp/third_party/openssl/include/openssl/dtls1.h +57 -0
  235. package/android/src/main/cpp/third_party/openssl/include/openssl/e_os2.h +310 -0
  236. package/android/src/main/cpp/third_party/openssl/include/openssl/e_ostime.h +38 -0
  237. package/android/src/main/cpp/third_party/openssl/include/openssl/ebcdic.h +39 -0
  238. package/android/src/main/cpp/third_party/openssl/include/openssl/ec.h +1588 -0
  239. package/android/src/main/cpp/third_party/openssl/include/openssl/ecdh.h +10 -0
  240. package/android/src/main/cpp/third_party/openssl/include/openssl/ecdsa.h +10 -0
  241. package/android/src/main/cpp/third_party/openssl/include/openssl/ecerr.h +104 -0
  242. package/android/src/main/cpp/third_party/openssl/include/openssl/encoder.h +124 -0
  243. package/android/src/main/cpp/third_party/openssl/include/openssl/encodererr.h +28 -0
  244. package/android/src/main/cpp/third_party/openssl/include/openssl/engine.h +833 -0
  245. package/android/src/main/cpp/third_party/openssl/include/openssl/engineerr.h +63 -0
  246. package/android/src/main/cpp/third_party/openssl/include/openssl/err.h +512 -0
  247. package/android/src/main/cpp/third_party/openssl/include/openssl/err.h.in +501 -0
  248. package/android/src/main/cpp/third_party/openssl/include/openssl/ess.h +128 -0
  249. package/android/src/main/cpp/third_party/openssl/include/openssl/ess.h.in +81 -0
  250. package/android/src/main/cpp/third_party/openssl/include/openssl/esserr.h +32 -0
  251. package/android/src/main/cpp/third_party/openssl/include/openssl/evp.h +2310 -0
  252. package/android/src/main/cpp/third_party/openssl/include/openssl/evperr.h +142 -0
  253. package/android/src/main/cpp/third_party/openssl/include/openssl/fips_names.h +50 -0
  254. package/android/src/main/cpp/third_party/openssl/include/openssl/fipskey.h +41 -0
  255. package/android/src/main/cpp/third_party/openssl/include/openssl/fipskey.h.in +40 -0
  256. package/android/src/main/cpp/third_party/openssl/include/openssl/hmac.h +62 -0
  257. package/android/src/main/cpp/third_party/openssl/include/openssl/hpke.h +169 -0
  258. package/android/src/main/cpp/third_party/openssl/include/openssl/http.h +119 -0
  259. package/android/src/main/cpp/third_party/openssl/include/openssl/httperr.h +56 -0
  260. package/android/src/main/cpp/third_party/openssl/include/openssl/idea.h +82 -0
  261. package/android/src/main/cpp/third_party/openssl/include/openssl/indicator.h +31 -0
  262. package/android/src/main/cpp/third_party/openssl/include/openssl/kdf.h +138 -0
  263. package/android/src/main/cpp/third_party/openssl/include/openssl/kdferr.h +16 -0
  264. package/android/src/main/cpp/third_party/openssl/include/openssl/lhash.h +398 -0
  265. package/android/src/main/cpp/third_party/openssl/include/openssl/lhash.h.in +373 -0
  266. package/android/src/main/cpp/third_party/openssl/include/openssl/macros.h +349 -0
  267. package/android/src/main/cpp/third_party/openssl/include/openssl/md2.h +56 -0
  268. package/android/src/main/cpp/third_party/openssl/include/openssl/md4.h +63 -0
  269. package/android/src/main/cpp/third_party/openssl/include/openssl/md5.h +62 -0
  270. package/android/src/main/cpp/third_party/openssl/include/openssl/mdc2.h +55 -0
  271. package/android/src/main/cpp/third_party/openssl/include/openssl/ml_kem.h +31 -0
  272. package/android/src/main/cpp/third_party/openssl/include/openssl/modes.h +219 -0
  273. package/android/src/main/cpp/third_party/openssl/include/openssl/obj_mac.h +6636 -0
  274. package/android/src/main/cpp/third_party/openssl/include/openssl/objects.h +184 -0
  275. package/android/src/main/cpp/third_party/openssl/include/openssl/objectserr.h +28 -0
  276. package/android/src/main/cpp/third_party/openssl/include/openssl/ocsp.h +483 -0
  277. package/android/src/main/cpp/third_party/openssl/include/openssl/ocsp.h.in +387 -0
  278. package/android/src/main/cpp/third_party/openssl/include/openssl/ocsperr.h +53 -0
  279. package/android/src/main/cpp/third_party/openssl/include/openssl/opensslconf.h +17 -0
  280. package/android/src/main/cpp/third_party/openssl/include/openssl/opensslv.h +114 -0
  281. package/android/src/main/cpp/third_party/openssl/include/openssl/opensslv.h.in +113 -0
  282. package/android/src/main/cpp/third_party/openssl/include/openssl/ossl_typ.h +16 -0
  283. package/android/src/main/cpp/third_party/openssl/include/openssl/param_build.h +63 -0
  284. package/android/src/main/cpp/third_party/openssl/include/openssl/params.h +163 -0
  285. package/android/src/main/cpp/third_party/openssl/include/openssl/pem.h +547 -0
  286. package/android/src/main/cpp/third_party/openssl/include/openssl/pem2.h +19 -0
  287. package/android/src/main/cpp/third_party/openssl/include/openssl/pemerr.h +59 -0
  288. package/android/src/main/cpp/third_party/openssl/include/openssl/pkcs12.h +366 -0
  289. package/android/src/main/cpp/third_party/openssl/include/openssl/pkcs12.h.in +343 -0
  290. package/android/src/main/cpp/third_party/openssl/include/openssl/pkcs12err.h +46 -0
  291. package/android/src/main/cpp/third_party/openssl/include/openssl/pkcs7.h +430 -0
  292. package/android/src/main/cpp/third_party/openssl/include/openssl/pkcs7.h.in +359 -0
  293. package/android/src/main/cpp/third_party/openssl/include/openssl/pkcs7err.h +63 -0
  294. package/android/src/main/cpp/third_party/openssl/include/openssl/prov_ssl.h +38 -0
  295. package/android/src/main/cpp/third_party/openssl/include/openssl/proverr.h +169 -0
  296. package/android/src/main/cpp/third_party/openssl/include/openssl/provider.h +94 -0
  297. package/android/src/main/cpp/third_party/openssl/include/openssl/quic.h +75 -0
  298. package/android/src/main/cpp/third_party/openssl/include/openssl/rand.h +131 -0
  299. package/android/src/main/cpp/third_party/openssl/include/openssl/randerr.h +70 -0
  300. package/android/src/main/cpp/third_party/openssl/include/openssl/rc2.h +68 -0
  301. package/android/src/main/cpp/third_party/openssl/include/openssl/rc4.h +47 -0
  302. package/android/src/main/cpp/third_party/openssl/include/openssl/rc5.h +79 -0
  303. package/android/src/main/cpp/third_party/openssl/include/openssl/ripemd.h +59 -0
  304. package/android/src/main/cpp/third_party/openssl/include/openssl/rsa.h +615 -0
  305. package/android/src/main/cpp/third_party/openssl/include/openssl/rsaerr.h +107 -0
  306. package/android/src/main/cpp/third_party/openssl/include/openssl/safestack.h +297 -0
  307. package/android/src/main/cpp/third_party/openssl/include/openssl/safestack.h.in +227 -0
  308. package/android/src/main/cpp/third_party/openssl/include/openssl/seed.h +113 -0
  309. package/android/src/main/cpp/third_party/openssl/include/openssl/self_test.h +112 -0
  310. package/android/src/main/cpp/third_party/openssl/include/openssl/sha.h +139 -0
  311. package/android/src/main/cpp/third_party/openssl/include/openssl/srp.h +285 -0
  312. package/android/src/main/cpp/third_party/openssl/include/openssl/srp.h.in +214 -0
  313. package/android/src/main/cpp/third_party/openssl/include/openssl/srtp.h +68 -0
  314. package/android/src/main/cpp/third_party/openssl/include/openssl/ssl.h +2933 -0
  315. package/android/src/main/cpp/third_party/openssl/include/openssl/ssl.h.in +2886 -0
  316. package/android/src/main/cpp/third_party/openssl/include/openssl/ssl2.h +30 -0
  317. package/android/src/main/cpp/third_party/openssl/include/openssl/ssl3.h +358 -0
  318. package/android/src/main/cpp/third_party/openssl/include/openssl/sslerr.h +382 -0
  319. package/android/src/main/cpp/third_party/openssl/include/openssl/sslerr_legacy.h +467 -0
  320. package/android/src/main/cpp/third_party/openssl/include/openssl/stack.h +90 -0
  321. package/android/src/main/cpp/third_party/openssl/include/openssl/store.h +377 -0
  322. package/android/src/main/cpp/third_party/openssl/include/openssl/storeerr.h +49 -0
  323. package/android/src/main/cpp/third_party/openssl/include/openssl/symhacks.h +39 -0
  324. package/android/src/main/cpp/third_party/openssl/include/openssl/thread.h +31 -0
  325. package/android/src/main/cpp/third_party/openssl/include/openssl/tls1.h +1220 -0
  326. package/android/src/main/cpp/third_party/openssl/include/openssl/trace.h +321 -0
  327. package/android/src/main/cpp/third_party/openssl/include/openssl/ts.h +522 -0
  328. package/android/src/main/cpp/third_party/openssl/include/openssl/tserr.h +67 -0
  329. package/android/src/main/cpp/third_party/openssl/include/openssl/txt_db.h +63 -0
  330. package/android/src/main/cpp/third_party/openssl/include/openssl/types.h +248 -0
  331. package/android/src/main/cpp/third_party/openssl/include/openssl/ui.h +407 -0
  332. package/android/src/main/cpp/third_party/openssl/include/openssl/ui.h.in +384 -0
  333. package/android/src/main/cpp/third_party/openssl/include/openssl/uierr.h +38 -0
  334. package/android/src/main/cpp/third_party/openssl/include/openssl/whrlpool.h +62 -0
  335. package/android/src/main/cpp/third_party/openssl/include/openssl/x509.h +1303 -0
  336. package/android/src/main/cpp/third_party/openssl/include/openssl/x509.h.in +1109 -0
  337. package/android/src/main/cpp/third_party/openssl/include/openssl/x509_acert.h +294 -0
  338. package/android/src/main/cpp/third_party/openssl/include/openssl/x509_acert.h.in +199 -0
  339. package/android/src/main/cpp/third_party/openssl/include/openssl/x509_vfy.h +903 -0
  340. package/android/src/main/cpp/third_party/openssl/include/openssl/x509_vfy.h.in +806 -0
  341. package/android/src/main/cpp/third_party/openssl/include/openssl/x509err.h +70 -0
  342. package/android/src/main/cpp/third_party/openssl/include/openssl/x509v3.h +1968 -0
  343. package/android/src/main/cpp/third_party/openssl/include/openssl/x509v3.h.in +1367 -0
  344. package/android/src/main/cpp/third_party/openssl/include/openssl/x509v3err.h +97 -0
  345. package/android/src/main/cpp/third_party/pair_ap/pair-internal.h +390 -0
  346. package/android/src/main/cpp/third_party/pair_ap/pair-tlv.c +221 -0
  347. package/android/src/main/cpp/third_party/pair_ap/pair-tlv.h +77 -0
  348. package/android/src/main/cpp/third_party/pair_ap/pair.c +806 -0
  349. package/android/src/main/cpp/third_party/pair_ap/pair.h +266 -0
  350. package/android/src/main/cpp/third_party/pair_ap/pair_fruit_stub.c +36 -0
  351. package/android/src/main/cpp/third_party/pair_ap/pair_homekit.c +3190 -0
  352. package/android/src/main/cpp/third_party/signalsmith/LICENSE-signalsmith-linear.txt +21 -0
  353. package/android/src/main/cpp/third_party/signalsmith/LICENSE-signalsmith-stretch.txt +21 -0
  354. package/android/src/main/cpp/third_party/signalsmith/THIRD_PARTY_VERSIONS.txt +9 -0
  355. package/android/src/main/cpp/third_party/signalsmith/include/signalsmith-linear/fft.h +1380 -0
  356. package/android/src/main/cpp/third_party/signalsmith/include/signalsmith-linear/linear.h +1075 -0
  357. package/android/src/main/cpp/third_party/signalsmith/include/signalsmith-linear/stft.h +643 -0
  358. package/android/src/main/cpp/third_party/signalsmith/include/signalsmith-stretch.h +1060 -0
  359. package/android/src/main/java/com/margelo/nitro/queueplayer/AirPlayEngine.kt +314 -0
  360. package/android/src/main/java/com/margelo/nitro/queueplayer/ArtworkContentProvider.kt +124 -0
  361. package/android/src/main/java/com/margelo/nitro/queueplayer/AudioFocusErrorMapping.kt +89 -0
  362. package/android/src/main/java/com/margelo/nitro/queueplayer/AudioPipelineRenderersFactory.kt +60 -0
  363. package/android/src/main/java/com/margelo/nitro/queueplayer/BrowseCallbackRegistry.kt +136 -0
  364. package/android/src/main/java/com/margelo/nitro/queueplayer/BrowseDataProvider.kt +128 -0
  365. package/android/src/main/java/com/margelo/nitro/queueplayer/BufferStateTranslator.kt +35 -0
  366. package/android/src/main/java/com/margelo/nitro/queueplayer/CacheMimeTypes.kt +79 -0
  367. package/android/src/main/java/com/margelo/nitro/queueplayer/CastManager.kt +629 -0
  368. package/android/src/main/java/com/margelo/nitro/queueplayer/CrossfadeEngine.kt +1350 -0
  369. package/android/src/main/java/com/margelo/nitro/queueplayer/CrossfadeForwardingPlayer.kt +66 -0
  370. package/android/src/main/java/com/margelo/nitro/queueplayer/CustomPresetStore.kt +100 -0
  371. package/android/src/main/java/com/margelo/nitro/queueplayer/Equalizer.kt +348 -0
  372. package/android/src/main/java/com/margelo/nitro/queueplayer/EqualizerEngine.kt +222 -0
  373. package/android/src/main/java/com/margelo/nitro/queueplayer/EqualizerLegacyEngine.kt +213 -0
  374. package/android/src/main/java/com/margelo/nitro/queueplayer/EqualizerPresets.kt +45 -0
  375. package/android/src/main/java/com/margelo/nitro/queueplayer/FFTProcessorTee.kt +173 -0
  376. package/android/src/main/java/com/margelo/nitro/queueplayer/FifoCacheEvictor.kt +96 -0
  377. package/android/src/main/java/com/margelo/nitro/queueplayer/GaplessEngine.kt +587 -0
  378. package/android/src/main/java/com/margelo/nitro/queueplayer/HeadlessJsMediaService.kt +220 -0
  379. package/android/src/main/java/com/margelo/nitro/queueplayer/IEqualizerEngine.kt +97 -0
  380. package/android/src/main/java/com/margelo/nitro/queueplayer/ListenerRegistry.kt +59 -0
  381. package/android/src/main/java/com/margelo/nitro/queueplayer/LookaheadCache.kt +343 -0
  382. package/android/src/main/java/com/margelo/nitro/queueplayer/LookaheadCacheWriter.kt +533 -0
  383. package/android/src/main/java/com/margelo/nitro/queueplayer/MediaButtonDispatch.kt +88 -0
  384. package/android/src/main/java/com/margelo/nitro/queueplayer/MediaItemBuilder.kt +281 -0
  385. package/android/src/main/java/com/margelo/nitro/queueplayer/MediaItemMapper.kt +76 -0
  386. package/android/src/main/java/com/margelo/nitro/queueplayer/MilestoneTracker.kt +66 -0
  387. package/android/src/main/java/com/margelo/nitro/queueplayer/MimeCapturingDataSource.kt +64 -0
  388. package/android/src/main/java/com/margelo/nitro/queueplayer/MultiplexingAudioBufferSink.kt +92 -0
  389. package/android/src/main/java/com/margelo/nitro/queueplayer/NotificationProvider.kt +37 -0
  390. package/android/src/main/java/com/margelo/nitro/queueplayer/NowPlayingFormatExtractor.kt +166 -0
  391. package/android/src/main/java/com/margelo/nitro/queueplayer/PendingBrowseRequests.kt +70 -0
  392. package/android/src/main/java/com/margelo/nitro/queueplayer/PendingIntentBuffer.kt +82 -0
  393. package/android/src/main/java/com/margelo/nitro/queueplayer/PitchAwareAudioProcessorChain.kt +69 -0
  394. package/android/src/main/java/com/margelo/nitro/queueplayer/PitchCorrection.kt +27 -0
  395. package/android/src/main/java/com/margelo/nitro/queueplayer/PlaceholderArtwork.kt +65 -0
  396. package/android/src/main/java/com/margelo/nitro/queueplayer/PlaceholderFallbackBitmapLoader.kt +75 -0
  397. package/android/src/main/java/com/margelo/nitro/queueplayer/PlaybackEngine.kt +336 -0
  398. package/android/src/main/java/com/margelo/nitro/queueplayer/PlaybackErrorMapping.kt +175 -0
  399. package/android/src/main/java/com/margelo/nitro/queueplayer/PlaybackModeStateMachine.kt +127 -0
  400. package/android/src/main/java/com/margelo/nitro/queueplayer/PlaybackService.kt +1716 -0
  401. package/android/src/main/java/com/margelo/nitro/queueplayer/PlaybackServiceCallback.kt +755 -0
  402. package/android/src/main/java/com/margelo/nitro/queueplayer/ProgressEmissionGate.kt +70 -0
  403. package/android/src/main/java/com/margelo/nitro/queueplayer/QueueMutationArithmetic.kt +131 -0
  404. package/android/src/main/java/com/margelo/nitro/queueplayer/QueuePlayerPackage.kt +22 -0
  405. package/android/src/main/java/com/margelo/nitro/queueplayer/QueueSkipArithmetic.kt +113 -0
  406. package/android/src/main/java/com/margelo/nitro/queueplayer/RadixTwoFFT.kt +176 -0
  407. package/android/src/main/java/com/margelo/nitro/queueplayer/RemoteCommandDeduper.kt +81 -0
  408. package/android/src/main/java/com/margelo/nitro/queueplayer/ReplayGainAudioProcessor.kt +84 -0
  409. package/android/src/main/java/com/margelo/nitro/queueplayer/ReplayGainConfig.kt +34 -0
  410. package/android/src/main/java/com/margelo/nitro/queueplayer/ReplayGainData.kt +44 -0
  411. package/android/src/main/java/com/margelo/nitro/queueplayer/ReplayGainExtractor.kt +209 -0
  412. package/android/src/main/java/com/margelo/nitro/queueplayer/ReplayGainGain.kt +34 -0
  413. package/android/src/main/java/com/margelo/nitro/queueplayer/SearchResultCache.kt +72 -0
  414. package/android/src/main/java/com/margelo/nitro/queueplayer/SessionCommandForwardingPlayer.kt +167 -0
  415. package/android/src/main/java/com/margelo/nitro/queueplayer/SignalsmithStretchAudioProcessor.kt +225 -0
  416. package/android/src/main/java/com/margelo/nitro/queueplayer/SignalsmithStretchNative.kt +93 -0
  417. package/android/src/main/java/com/margelo/nitro/queueplayer/SleepTimerCore.kt +125 -0
  418. package/android/src/main/java/com/margelo/nitro/queueplayer/TrackPlayer.kt +4242 -0
  419. package/android/src/main/java/com/margelo/nitro/queueplayer/TransportStateTranslator.kt +70 -0
  420. package/android/src/main/java/com/margelo/nitro/queueplayer/UrlSchemes.kt +9 -0
  421. package/android/src/main/java/com/margelo/nitro/queueplayer/VisualizationGate.kt +35 -0
  422. package/android/src/main/java/com/margelo/nitro/queueplayer/Visualizer.kt +240 -0
  423. package/android/src/main/java/com/margelo/nitro/queueplayer/VisualizerTeeBuilder.kt +63 -0
  424. package/android/src/main/java/com/margelo/nitro/queueplayer/VoiceSearchExtrasParser.kt +103 -0
  425. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/AudioRouteState.kt +202 -0
  426. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/AuthRequiredException.kt +14 -0
  427. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/CastBackend.kt +41 -0
  428. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/CastBackends.kt +56 -0
  429. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/CastEventBridge.kt +122 -0
  430. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/CastMediaItem.kt +20 -0
  431. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/CastSession.kt +193 -0
  432. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/CastSinkRouter.kt +95 -0
  433. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/CastTransportRouter.kt +151 -0
  434. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/DiscoveryState.kt +53 -0
  435. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/MetadataAwareSession.kt +17 -0
  436. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/PlaybackStateRouter.kt +65 -0
  437. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/Receiver.kt +35 -0
  438. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlay2JNI.kt +129 -0
  439. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlay2MetadataSync.kt +189 -0
  440. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlay2Session.kt +123 -0
  441. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlay2Sink.kt +205 -0
  442. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayBackend.kt +585 -0
  443. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayBackendInitializer.kt +43 -0
  444. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayDiscovery.kt +511 -0
  445. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayDiscoveryLifecycleObserver.kt +57 -0
  446. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayMetadataSync.kt +199 -0
  447. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayReceiverMapper.kt +42 -0
  448. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayRenderersFactory.kt +43 -0
  449. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlaySession.kt +101 -0
  450. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlaySink.kt +265 -0
  451. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayTxtParser.kt +203 -0
  452. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/AirplayJNI.kt +106 -0
  453. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/airplay/MulticastLockHolder.kt +75 -0
  454. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/CastMediaItemConverter.kt +67 -0
  455. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/CastVolumeForwardingPlayer.kt +156 -0
  456. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/ChromecastBackend.kt +171 -0
  457. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/ChromecastOptionsProvider.kt +51 -0
  458. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/ChromecastReceiverMapper.kt +44 -0
  459. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/ChromecastSession.kt +544 -0
  460. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/MediaInfoBuilder.kt +92 -0
  461. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/chromecast/RemoteMediaCallbacks.kt +113 -0
  462. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/http/LocalMediaServer.kt +160 -0
  463. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/http/LocalMediaServerLifecycle.kt +15 -0
  464. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/http/MediaServerHandle.kt +44 -0
  465. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/http/MediaTokenRegistry.kt +37 -0
  466. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/http/MimeTypes.kt +27 -0
  467. package/android/src/main/java/com/margelo/nitro/queueplayer/cast/net/LocalAddressMonitor.kt +86 -0
  468. package/android/src/main/res/raw/rnqp_placeholder.jpg +0 -0
  469. package/android/src/main/res/values/cast_strings.xml +15 -0
  470. package/android/src/main/res/values/strings.xml +24 -0
  471. package/android/src/main/res/xml/automotive_app_desc.xml +15 -0
  472. package/android/src/test/java/androidx/media3/session/MediaSessionControllerRequestTestSeam.kt +27 -0
  473. package/android/src/test/java/com/margelo/nitro/queueplayer/ArtworkContentProviderTest.kt +124 -0
  474. package/android/src/test/java/com/margelo/nitro/queueplayer/AudioFocusErrorMappingTest.kt +122 -0
  475. package/android/src/test/java/com/margelo/nitro/queueplayer/AudioPipelineRenderersFactoryTest.kt +57 -0
  476. package/android/src/test/java/com/margelo/nitro/queueplayer/AvrcpMetadataTest.kt +264 -0
  477. package/android/src/test/java/com/margelo/nitro/queueplayer/BrowseCallbackRegistryTest.kt +104 -0
  478. package/android/src/test/java/com/margelo/nitro/queueplayer/BrowseDataProviderTest.kt +276 -0
  479. package/android/src/test/java/com/margelo/nitro/queueplayer/BufferStateTranslatorTest.kt +58 -0
  480. package/android/src/test/java/com/margelo/nitro/queueplayer/CacheMimeTypesTest.kt +116 -0
  481. package/android/src/test/java/com/margelo/nitro/queueplayer/CrossfadeEngineLifecycleTest.kt +214 -0
  482. package/android/src/test/java/com/margelo/nitro/queueplayer/CrossfadeEngineReplayGainTest.kt +180 -0
  483. package/android/src/test/java/com/margelo/nitro/queueplayer/CustomPresetStoreTest.kt +128 -0
  484. package/android/src/test/java/com/margelo/nitro/queueplayer/EqualizerEngineTest.kt +223 -0
  485. package/android/src/test/java/com/margelo/nitro/queueplayer/EqualizerKtTest.kt +274 -0
  486. package/android/src/test/java/com/margelo/nitro/queueplayer/EqualizerLegacyEngineTest.kt +214 -0
  487. package/android/src/test/java/com/margelo/nitro/queueplayer/EqualizerPresetsTest.kt +89 -0
  488. package/android/src/test/java/com/margelo/nitro/queueplayer/FFTProcessorTeeTest.kt +185 -0
  489. package/android/src/test/java/com/margelo/nitro/queueplayer/FifoCacheEvictorTest.kt +112 -0
  490. package/android/src/test/java/com/margelo/nitro/queueplayer/ForwardingPlayerTestAccess.kt +21 -0
  491. package/android/src/test/java/com/margelo/nitro/queueplayer/GaplessEngineLifecycleTest.kt +65 -0
  492. package/android/src/test/java/com/margelo/nitro/queueplayer/GaplessEngineReplayGainTest.kt +154 -0
  493. package/android/src/test/java/com/margelo/nitro/queueplayer/HeadlessJsMediaServiceTest.kt +106 -0
  494. package/android/src/test/java/com/margelo/nitro/queueplayer/LookaheadCacheTest.kt +183 -0
  495. package/android/src/test/java/com/margelo/nitro/queueplayer/LookaheadCacheWriterTest.kt +649 -0
  496. package/android/src/test/java/com/margelo/nitro/queueplayer/MediaButtonDispatchTest.kt +192 -0
  497. package/android/src/test/java/com/margelo/nitro/queueplayer/MediaItemBuilderTest.kt +389 -0
  498. package/android/src/test/java/com/margelo/nitro/queueplayer/MediaItemMapperTest.kt +145 -0
  499. package/android/src/test/java/com/margelo/nitro/queueplayer/MilestoneTrackerTest.kt +81 -0
  500. package/android/src/test/java/com/margelo/nitro/queueplayer/MultiplexingAudioBufferSinkTest.kt +112 -0
  501. package/android/src/test/java/com/margelo/nitro/queueplayer/NotificationProviderTest.kt +86 -0
  502. package/android/src/test/java/com/margelo/nitro/queueplayer/NowPlayingFormatExtractorTest.kt +106 -0
  503. package/android/src/test/java/com/margelo/nitro/queueplayer/PendingBrowseRequestsTest.kt +82 -0
  504. package/android/src/test/java/com/margelo/nitro/queueplayer/PendingIntentBufferTest.kt +192 -0
  505. package/android/src/test/java/com/margelo/nitro/queueplayer/PitchAwareAudioProcessorChainTest.kt +147 -0
  506. package/android/src/test/java/com/margelo/nitro/queueplayer/PitchCorrectionTest.kt +55 -0
  507. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaceholderFallbackBitmapLoaderTest.kt +187 -0
  508. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackEngineInterfaceTest.kt +134 -0
  509. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackModeStateMachineTest.kt +157 -0
  510. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceArtworkLoaderTest.kt +95 -0
  511. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceCallbackBrowseTest.kt +480 -0
  512. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceCallbackSearchTest.kt +171 -0
  513. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceCallbackTest.kt +773 -0
  514. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceCastBindTest.kt +100 -0
  515. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceLifecycleTest.kt +315 -0
  516. package/android/src/test/java/com/margelo/nitro/queueplayer/PlaybackServiceSessionActivityTest.kt +121 -0
  517. package/android/src/test/java/com/margelo/nitro/queueplayer/PlayerCommandsForTest.kt +246 -0
  518. package/android/src/test/java/com/margelo/nitro/queueplayer/ProgressEmissionGateTest.kt +113 -0
  519. package/android/src/test/java/com/margelo/nitro/queueplayer/QueueMutationArithmeticTest.kt +252 -0
  520. package/android/src/test/java/com/margelo/nitro/queueplayer/QueueSkipArithmeticTest.kt +343 -0
  521. package/android/src/test/java/com/margelo/nitro/queueplayer/RadixTwoFFTTest.kt +109 -0
  522. package/android/src/test/java/com/margelo/nitro/queueplayer/RemoteCommandDeduperTest.kt +106 -0
  523. package/android/src/test/java/com/margelo/nitro/queueplayer/ReplayGainAudioProcessorTest.kt +141 -0
  524. package/android/src/test/java/com/margelo/nitro/queueplayer/ReplayGainConfigTest.kt +103 -0
  525. package/android/src/test/java/com/margelo/nitro/queueplayer/ReplayGainExtractorTest.kt +469 -0
  526. package/android/src/test/java/com/margelo/nitro/queueplayer/ReplayGainGainTest.kt +129 -0
  527. package/android/src/test/java/com/margelo/nitro/queueplayer/RobolectricServiceBindHelper.kt +83 -0
  528. package/android/src/test/java/com/margelo/nitro/queueplayer/SearchResultCacheTest.kt +128 -0
  529. package/android/src/test/java/com/margelo/nitro/queueplayer/ServiceReadyReasonTest.kt +42 -0
  530. package/android/src/test/java/com/margelo/nitro/queueplayer/SessionCommandForwardingPlayerTest.kt +521 -0
  531. package/android/src/test/java/com/margelo/nitro/queueplayer/SleepTimerCoreTest.kt +125 -0
  532. package/android/src/test/java/com/margelo/nitro/queueplayer/SmokeTest.kt +27 -0
  533. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerAirPlayMetadataWiringTest.kt +305 -0
  534. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerAudioFocusTest.kt +179 -0
  535. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerEventsTest.kt +497 -0
  536. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerLifecycleTest.kt +209 -0
  537. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerLookaheadConfigTest.kt +417 -0
  538. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerMutationTest.kt +473 -0
  539. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerPitchCorrectionTest.kt +61 -0
  540. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerPlaybackModeTest.kt +28 -0
  541. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerProgressThrottleTest.kt +89 -0
  542. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerQueueTest.kt +290 -0
  543. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerReadersTest.kt +151 -0
  544. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerReplayGainTest.kt +69 -0
  545. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerSkipCapabilityTest.kt +324 -0
  546. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerSkipTest.kt +287 -0
  547. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerSourceClassifierTest.kt +82 -0
  548. package/android/src/test/java/com/margelo/nitro/queueplayer/TrackPlayerTransportTest.kt +222 -0
  549. package/android/src/test/java/com/margelo/nitro/queueplayer/TransportStateTranslatorTest.kt +287 -0
  550. package/android/src/test/java/com/margelo/nitro/queueplayer/VisualizationGateTest.kt +96 -0
  551. package/android/src/test/java/com/margelo/nitro/queueplayer/VisualizerKtTest.kt +202 -0
  552. package/android/src/test/java/com/margelo/nitro/queueplayer/VoiceSearchExtrasParserTest.kt +211 -0
  553. package/android/src/test/java/com/margelo/nitro/queueplayer/cast/CastSinkRouterTest.kt +120 -0
  554. package/android/src/test/java/com/margelo/nitro/queueplayer/cast/FakeRemotePlayer.kt +62 -0
  555. package/android/src/test/java/com/margelo/nitro/queueplayer/cast/PlaybackStateRouterTest.kt +43 -0
  556. package/android/src/test/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayDiscoveryFilterTest.kt +86 -0
  557. package/android/src/test/java/com/margelo/nitro/queueplayer/cast/airplay/AirPlayTxtParserClassificationTest.kt +34 -0
  558. package/android/src/test/java/com/margelo/nitro/queueplayer/cast/chromecast/CastMediaItemConverterTest.kt +78 -0
  559. package/android/src/test/java/com/margelo/nitro/queueplayer/cast/chromecast/CastVolumeForwardingPlayerTest.kt +176 -0
  560. package/app.plugin.js +466 -0
  561. package/ios/AVPlayerItemQueueItemId.swift +61 -0
  562. package/ios/AVQueueBuilder.swift +200 -0
  563. package/ios/Array+SafeSubscript.swift +6 -0
  564. package/ios/ArtworkLoader.swift +136 -0
  565. package/ios/ArtworkResolver.swift +87 -0
  566. package/ios/AudioCategoryMapping.swift +48 -0
  567. package/ios/AudioSession.swift +220 -0
  568. package/ios/AudioSessionError.swift +44 -0
  569. package/ios/AudioTapProvider.swift +647 -0
  570. package/ios/BiquadCoefficients.swift +80 -0
  571. package/ios/CarPlayBridge.swift +178 -0
  572. package/ios/CarPlayBrowseBuilder.swift +368 -0
  573. package/ios/CarPlayBrowseDataProvider.swift +162 -0
  574. package/ios/CarPlayCoordinator.swift +42 -0
  575. package/ios/CarPlaySceneDelegate.swift +199 -0
  576. package/ios/Cast/AirPlayRouteState.swift +281 -0
  577. package/ios/Cast/Chromecast/ChromecastDiscoveryAdapter.swift +27 -0
  578. package/ios/Cast/Chromecast/ChromecastReceiverMapper.swift +48 -0
  579. package/ios/Cast/Chromecast/ChromecastSession.swift +740 -0
  580. package/ios/Cast/Chromecast/ChromecastSessionAdapter.swift +114 -0
  581. package/ios/Cast/Chromecast/ChromecastSupport.swift +63 -0
  582. package/ios/Cast/Chromecast/MediaInfoBuilder.swift +104 -0
  583. package/ios/Cast/Chromecast/RemoteMediaObserver.swift +147 -0
  584. package/ios/Cast/Core/CastEventBridge.swift +210 -0
  585. package/ios/Cast/Core/CastMediaItem.swift +41 -0
  586. package/ios/Cast/Core/CastNowPlayingController.swift +310 -0
  587. package/ios/Cast/Core/CastReceiverState.swift +22 -0
  588. package/ios/Cast/Core/CastSession.swift +147 -0
  589. package/ios/Cast/Core/CastTransportRouter.swift +162 -0
  590. package/ios/Cast/Core/ChromecastBackend.swift +259 -0
  591. package/ios/Cast/Core/LocalAddressMonitor.swift +110 -0
  592. package/ios/Cast/Core/LocalMediaServer.swift +270 -0
  593. package/ios/Cast/Core/LocalNetworkPermissionProbe.swift +265 -0
  594. package/ios/Cast/Core/MediaHTTPConnection.swift +349 -0
  595. package/ios/Cast/Core/MediaServerHandle.swift +49 -0
  596. package/ios/Cast/Core/MediaTokenRegistry.swift +51 -0
  597. package/ios/Cast/Core/MimeTypes.swift +26 -0
  598. package/ios/Cast/Core/PlaybackStateRouter.swift +123 -0
  599. package/ios/CastManager.swift +493 -0
  600. package/ios/CrossfadeEngine.swift +1343 -0
  601. package/ios/CustomPresetStore.swift +78 -0
  602. package/ios/EQProcessor.swift +321 -0
  603. package/ios/EQTap.swift +241 -0
  604. package/ios/Equalizer.swift +321 -0
  605. package/ios/EqualizerPresets.swift +48 -0
  606. package/ios/FFTProcessor.swift +237 -0
  607. package/ios/GaplessEngine.swift +385 -0
  608. package/ios/InputGuards.swift +63 -0
  609. package/ios/InterruptionEventMapping.swift +51 -0
  610. package/ios/ListenerRegistry.swift +73 -0
  611. package/ios/LookaheadCache.swift +833 -0
  612. package/ios/LookaheadCacheEviction.swift +83 -0
  613. package/ios/LookaheadCachePrefetcher.swift +503 -0
  614. package/ios/MetadataReader.swift +555 -0
  615. package/ios/MilestoneTracker.swift +63 -0
  616. package/ios/NowPlayingFormatExtractor.swift +362 -0
  617. package/ios/NowPlayingInfo.swift +190 -0
  618. package/ios/OutputRouteMonitor.swift +125 -0
  619. package/ios/PendingBrowseRequests.swift +62 -0
  620. package/ios/PitchAlgorithm.swift +24 -0
  621. package/ios/PlaceholderArtwork.swift +46 -0
  622. package/ios/PlaybackEngine.swift +319 -0
  623. package/ios/PlaybackErrorMapping.swift +195 -0
  624. package/ios/PlaybackModeStateMachine.swift +159 -0
  625. package/ios/PlayerStateDerivation.swift +45 -0
  626. package/ios/ProgressEmissionGate.swift +54 -0
  627. package/ios/QueueMutationArithmetic.swift +129 -0
  628. package/ios/QueueSkipArithmetic.swift +109 -0
  629. package/ios/QueueState.swift +49 -0
  630. package/ios/RemoteCommands.swift +229 -0
  631. package/ios/ReplayGainData.swift +58 -0
  632. package/ios/ReplayGainExtractor.swift +82 -0
  633. package/ios/ReplayGainProcessor.swift +46 -0
  634. package/ios/Resources/RNQP-placeholder.jpg +0 -0
  635. package/ios/Resources/silence.m4a +0 -0
  636. package/ios/Siri/PendingIntentBuffer.swift +100 -0
  637. package/ios/Siri/PlayMediaIntentHandler.swift +283 -0
  638. package/ios/Siri/QueuePlayerMediaIntents.swift +45 -0
  639. package/ios/Siri/VoiceDonation.swift +50 -0
  640. package/ios/SleepTimerCore.swift +128 -0
  641. package/ios/StreamingBitrateProbe.swift +318 -0
  642. package/ios/Tests/AVQueueBuilderTests.swift +430 -0
  643. package/ios/Tests/ArtworkResolverTests.swift +540 -0
  644. package/ios/Tests/AudioSessionTests.swift +222 -0
  645. package/ios/Tests/AudioTapProviderReplayGainTests.swift +136 -0
  646. package/ios/Tests/AudioTapProviderVisualizationFlagTests.swift +104 -0
  647. package/ios/Tests/BiquadCoefficientsTests.swift +84 -0
  648. package/ios/Tests/CarPlayBridgeTests.swift +91 -0
  649. package/ios/Tests/CarPlayBrowseBuilderTests.swift +221 -0
  650. package/ios/Tests/CarPlayBrowseDataProviderTests.swift +218 -0
  651. package/ios/Tests/CastNowPlayingControllerTests.swift +204 -0
  652. package/ios/Tests/CrossfadeEngineStubTests.swift +43 -0
  653. package/ios/Tests/EQProcessorTests.swift +302 -0
  654. package/ios/Tests/EQTapTests.swift +49 -0
  655. package/ios/Tests/EqualizerAudioMixProviderTests.swift +110 -0
  656. package/ios/Tests/EqualizerHybridTests.swift +303 -0
  657. package/ios/Tests/EqualizerPresetsTests.swift +69 -0
  658. package/ios/Tests/FFTProcessorTests.swift +303 -0
  659. package/ios/Tests/Fixtures/silence-aac-128.m4a +0 -0
  660. package/ios/Tests/Fixtures/silence-cbr-128.mp3 +0 -0
  661. package/ios/Tests/Fixtures/silence-vbr.mp3 +0 -0
  662. package/ios/Tests/GaplessEngineLifecycleTests.swift +160 -0
  663. package/ios/Tests/InputGuardsTests.swift +75 -0
  664. package/ios/Tests/InterruptionEventMappingTests.swift +91 -0
  665. package/ios/Tests/LookaheadCacheEvictionTests.swift +217 -0
  666. package/ios/Tests/LookaheadCachePrefetcherTests.swift +630 -0
  667. package/ios/Tests/LookaheadCacheRuntimeConfigTests.swift +247 -0
  668. package/ios/Tests/LookaheadCacheTests.swift +717 -0
  669. package/ios/Tests/MediaHTTPConnectionTests.swift +163 -0
  670. package/ios/Tests/MetadataReaderTests.swift +605 -0
  671. package/ios/Tests/MilestoneTrackerTests.swift +76 -0
  672. package/ios/Tests/NowPlayingFormatExtractorTests.swift +158 -0
  673. package/ios/Tests/NowPlayingInfoTests.swift +292 -0
  674. package/ios/Tests/PendingBrowseRequestsTests.swift +69 -0
  675. package/ios/Tests/PendingIntentBufferTests.swift +164 -0
  676. package/ios/Tests/PlaybackEngineProtocolTests.swift +92 -0
  677. package/ios/Tests/PlaybackErrorMappingTests.swift +179 -0
  678. package/ios/Tests/PlaybackModeStateMachineTests.swift +40 -0
  679. package/ios/Tests/PlaybackStateRouterTests.swift +178 -0
  680. package/ios/Tests/PlayerStateDerivationTests.swift +69 -0
  681. package/ios/Tests/ProgressEmissionGateTests.swift +113 -0
  682. package/ios/Tests/QueueMutationArithmeticTests.swift +245 -0
  683. package/ios/Tests/RemoteCommandsTests.swift +147 -0
  684. package/ios/Tests/ReplayGainExtractorTests.swift +197 -0
  685. package/ios/Tests/ReplayGainProcessorTests.swift +90 -0
  686. package/ios/Tests/SkipCapabilityTests.swift +98 -0
  687. package/ios/Tests/SkipIndexTests.swift +259 -0
  688. package/ios/Tests/SleepTimerCoreTests.swift +98 -0
  689. package/ios/Tests/StreamingBitrateProbeTests.swift +29 -0
  690. package/ios/Tests/TrackSourceClassifierTests.swift +50 -0
  691. package/ios/Tests/VoiceDonationTests.swift +26 -0
  692. package/ios/TrackPlayer.swift +4766 -0
  693. package/ios/Visualizer.swift +274 -0
  694. package/ios/WindowApplicationSceneDelegate.swift +59 -0
  695. package/ios/tests-harness/Podfile +56 -0
  696. package/ios/tests-harness/TestHost/App.swift +12 -0
  697. package/ios/tests-harness/TestHost/Info.plist +37 -0
  698. package/ios/tests-harness/TestHost.xcodeproj/project.pbxproj +472 -0
  699. package/ios/tests-harness/TestHost.xcodeproj/xcshareddata/xcschemes/TestHost.xcscheme +68 -0
  700. package/ios/tests-harness/package.json +10 -0
  701. package/ios/tests-harness/scripts/seed-xcodeproj.rb +118 -0
  702. package/lib/module/CastManager.nitro.js +4 -0
  703. package/lib/module/CastManager.nitro.js.map +1 -0
  704. package/lib/module/Equalizer.nitro.js +4 -0
  705. package/lib/module/Equalizer.nitro.js.map +1 -0
  706. package/lib/module/TrackPlayer.nitro.js +4 -0
  707. package/lib/module/TrackPlayer.nitro.js.map +1 -0
  708. package/lib/module/Visualizer.nitro.js +4 -0
  709. package/lib/module/Visualizer.nitro.js.map +1 -0
  710. package/lib/module/cast/index.js +156 -0
  711. package/lib/module/cast/index.js.map +1 -0
  712. package/lib/module/clients.js +43 -0
  713. package/lib/module/clients.js.map +1 -0
  714. package/lib/module/equalizer.js +85 -0
  715. package/lib/module/equalizer.js.map +1 -0
  716. package/lib/module/hooks/index.js +16 -0
  717. package/lib/module/hooks/index.js.map +1 -0
  718. package/lib/module/hooks/useActiveTrack.js +50 -0
  719. package/lib/module/hooks/useActiveTrack.js.map +1 -0
  720. package/lib/module/hooks/useAudioRoute.js +60 -0
  721. package/lib/module/hooks/useAudioRoute.js.map +1 -0
  722. package/lib/module/hooks/useBufferState.js +34 -0
  723. package/lib/module/hooks/useBufferState.js.map +1 -0
  724. package/lib/module/hooks/useCanSkip.js +67 -0
  725. package/lib/module/hooks/useCanSkip.js.map +1 -0
  726. package/lib/module/hooks/useCast.js +107 -0
  727. package/lib/module/hooks/useCast.js.map +1 -0
  728. package/lib/module/hooks/useEqualizer.js +91 -0
  729. package/lib/module/hooks/useEqualizer.js.map +1 -0
  730. package/lib/module/hooks/useFullyBuffered.js +33 -0
  731. package/lib/module/hooks/useFullyBuffered.js.map +1 -0
  732. package/lib/module/hooks/useLookaheadCache.js +49 -0
  733. package/lib/module/hooks/useLookaheadCache.js.map +1 -0
  734. package/lib/module/hooks/useNowPlayingFormat.js +42 -0
  735. package/lib/module/hooks/useNowPlayingFormat.js.map +1 -0
  736. package/lib/module/hooks/usePlaybackState.js +36 -0
  737. package/lib/module/hooks/usePlaybackState.js.map +1 -0
  738. package/lib/module/hooks/useProgress.js +31 -0
  739. package/lib/module/hooks/useProgress.js.map +1 -0
  740. package/lib/module/hooks/useSleepTimer.js +65 -0
  741. package/lib/module/hooks/useSleepTimer.js.map +1 -0
  742. package/lib/module/hooks/useVisualizerState.js +99 -0
  743. package/lib/module/hooks/useVisualizerState.js.map +1 -0
  744. package/lib/module/index.js +37 -0
  745. package/lib/module/index.js.map +1 -0
  746. package/lib/module/package.json +1 -0
  747. package/lib/module/playbackService.js +174 -0
  748. package/lib/module/playbackService.js.map +1 -0
  749. package/lib/module/types.js +592 -0
  750. package/lib/module/types.js.map +1 -0
  751. package/lib/typescript/CastManager.nitro.d.ts +154 -0
  752. package/lib/typescript/CastManager.nitro.d.ts.map +1 -0
  753. package/lib/typescript/Equalizer.nitro.d.ts +30 -0
  754. package/lib/typescript/Equalizer.nitro.d.ts.map +1 -0
  755. package/lib/typescript/TrackPlayer.nitro.d.ts +584 -0
  756. package/lib/typescript/TrackPlayer.nitro.d.ts.map +1 -0
  757. package/lib/typescript/Visualizer.nitro.d.ts +36 -0
  758. package/lib/typescript/Visualizer.nitro.d.ts.map +1 -0
  759. package/lib/typescript/cast/index.d.ts +65 -0
  760. package/lib/typescript/cast/index.d.ts.map +1 -0
  761. package/lib/typescript/clients.d.ts +9 -0
  762. package/lib/typescript/clients.d.ts.map +1 -0
  763. package/lib/typescript/equalizer.d.ts +45 -0
  764. package/lib/typescript/equalizer.d.ts.map +1 -0
  765. package/lib/typescript/hooks/index.d.ts +22 -0
  766. package/lib/typescript/hooks/index.d.ts.map +1 -0
  767. package/lib/typescript/hooks/useActiveTrack.d.ts +21 -0
  768. package/lib/typescript/hooks/useActiveTrack.d.ts.map +1 -0
  769. package/lib/typescript/hooks/useAudioRoute.d.ts +13 -0
  770. package/lib/typescript/hooks/useAudioRoute.d.ts.map +1 -0
  771. package/lib/typescript/hooks/useBufferState.d.ts +18 -0
  772. package/lib/typescript/hooks/useBufferState.d.ts.map +1 -0
  773. package/lib/typescript/hooks/useCanSkip.d.ts +43 -0
  774. package/lib/typescript/hooks/useCanSkip.d.ts.map +1 -0
  775. package/lib/typescript/hooks/useCast.d.ts +32 -0
  776. package/lib/typescript/hooks/useCast.d.ts.map +1 -0
  777. package/lib/typescript/hooks/useEqualizer.d.ts +20 -0
  778. package/lib/typescript/hooks/useEqualizer.d.ts.map +1 -0
  779. package/lib/typescript/hooks/useFullyBuffered.d.ts +15 -0
  780. package/lib/typescript/hooks/useFullyBuffered.d.ts.map +1 -0
  781. package/lib/typescript/hooks/useLookaheadCache.d.ts +13 -0
  782. package/lib/typescript/hooks/useLookaheadCache.d.ts.map +1 -0
  783. package/lib/typescript/hooks/useNowPlayingFormat.d.ts +18 -0
  784. package/lib/typescript/hooks/useNowPlayingFormat.d.ts.map +1 -0
  785. package/lib/typescript/hooks/usePlaybackState.d.ts +9 -0
  786. package/lib/typescript/hooks/usePlaybackState.d.ts.map +1 -0
  787. package/lib/typescript/hooks/useProgress.d.ts +15 -0
  788. package/lib/typescript/hooks/useProgress.d.ts.map +1 -0
  789. package/lib/typescript/hooks/useSleepTimer.d.ts +26 -0
  790. package/lib/typescript/hooks/useSleepTimer.d.ts.map +1 -0
  791. package/lib/typescript/hooks/useVisualizerState.d.ts +40 -0
  792. package/lib/typescript/hooks/useVisualizerState.d.ts.map +1 -0
  793. package/lib/typescript/index.d.ts +14 -0
  794. package/lib/typescript/index.d.ts.map +1 -0
  795. package/lib/typescript/package.json +1 -0
  796. package/lib/typescript/playbackService.d.ts +140 -0
  797. package/lib/typescript/playbackService.d.ts.map +1 -0
  798. package/lib/typescript/types.d.ts +1215 -0
  799. package/lib/typescript/types.d.ts.map +1 -0
  800. package/nitro.json +53 -0
  801. package/nitrogen/generated/android/c++/JAudioCategoryOptions.hpp +65 -0
  802. package/nitrogen/generated/android/c++/JAudioCodec.hpp +73 -0
  803. package/nitrogen/generated/android/c++/JAudioContainer.hpp +76 -0
  804. package/nitrogen/generated/android/c++/JAudioContentType.hpp +58 -0
  805. package/nitrogen/generated/android/c++/JAudioRoute.hpp +75 -0
  806. package/nitrogen/generated/android/c++/JAudioRouteKind.hpp +91 -0
  807. package/nitrogen/generated/android/c++/JBrowseItem.hpp +78 -0
  808. package/nitrogen/generated/android/c++/JBrowseSection.hpp +97 -0
  809. package/nitrogen/generated/android/c++/JBrowseSnapshot.hpp +87 -0
  810. package/nitrogen/generated/android/c++/JBufferState.hpp +64 -0
  811. package/nitrogen/generated/android/c++/JCacheStatus.hpp +92 -0
  812. package/nitrogen/generated/android/c++/JCastConfigureOptions.hpp +62 -0
  813. package/nitrogen/generated/android/c++/JCastConnectOptions.hpp +57 -0
  814. package/nitrogen/generated/android/c++/JCastDeviceKind.hpp +70 -0
  815. package/nitrogen/generated/android/c++/JCastDiscoveryState.hpp +57 -0
  816. package/nitrogen/generated/android/c++/JCastLocalNetworkPermission.hpp +61 -0
  817. package/nitrogen/generated/android/c++/JCastLocalNetworkPermissionEvent.hpp +58 -0
  818. package/nitrogen/generated/android/c++/JCastProtocol.hpp +67 -0
  819. package/nitrogen/generated/android/c++/JCastReceiver.hpp +89 -0
  820. package/nitrogen/generated/android/c++/JCastReceiverCapabilities.hpp +66 -0
  821. package/nitrogen/generated/android/c++/JCastRoute.hpp +85 -0
  822. package/nitrogen/generated/android/c++/JCastSessionDiedEvent.hpp +63 -0
  823. package/nitrogen/generated/android/c++/JCastSessionEndReason.hpp +76 -0
  824. package/nitrogen/generated/android/c++/JCastStreamingModel.hpp +58 -0
  825. package/nitrogen/generated/android/c++/JEqualizerBand.hpp +61 -0
  826. package/nitrogen/generated/android/c++/JEqualizerPreset.hpp +76 -0
  827. package/nitrogen/generated/android/c++/JEvictionPolicy.hpp +58 -0
  828. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_BrowseItem______std__string.hpp +146 -0
  829. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_TrackItem______MediaSearchRequest.hpp +161 -0
  830. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_TrackItem______std__string.hpp +147 -0
  831. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  832. package/nitrogen/generated/android/c++/JFunc_void_AudioRoute.hpp +80 -0
  833. package/nitrogen/generated/android/c++/JFunc_void_BufferState.hpp +77 -0
  834. package/nitrogen/generated/android/c++/JFunc_void_CacheStatus.hpp +79 -0
  835. package/nitrogen/generated/android/c++/JFunc_void_CastDiscoveryState.hpp +77 -0
  836. package/nitrogen/generated/android/c++/JFunc_void_CastLocalNetworkPermissionEvent.hpp +79 -0
  837. package/nitrogen/generated/android/c++/JFunc_void_CastRoute.hpp +86 -0
  838. package/nitrogen/generated/android/c++/JFunc_void_CastSessionDiedEvent.hpp +80 -0
  839. package/nitrogen/generated/android/c++/JFunc_void_PlaybackError.hpp +80 -0
  840. package/nitrogen/generated/android/c++/JFunc_void_PlayerProgress.hpp +77 -0
  841. package/nitrogen/generated/android/c++/JFunc_void_PlayerState_StateChangeReason.hpp +79 -0
  842. package/nitrogen/generated/android/c++/JFunc_void_ServiceReadyReason.hpp +77 -0
  843. package/nitrogen/generated/android/c++/JFunc_void_SkipCapability.hpp +77 -0
  844. package/nitrogen/generated/android/c++/JFunc_void_SleepTimerState.hpp +78 -0
  845. package/nitrogen/generated/android/c++/JFunc_void_VisualizerErrorReason.hpp +77 -0
  846. package/nitrogen/generated/android/c++/JFunc_void_VisualizerFrame.hpp +80 -0
  847. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
  848. package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +75 -0
  849. package/nitrogen/generated/android/c++/JFunc_void_std__optional_TrackItem__double_TrackChangeReason_std__optional_double_.hpp +82 -0
  850. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__NowPlayingFormat__.hpp +93 -0
  851. package/nitrogen/generated/android/c++/JFunc_void_std__vector_CastReceiver_.hpp +105 -0
  852. package/nitrogen/generated/android/c++/JFunc_void_std__vector_EqualizerBand_.hpp +96 -0
  853. package/nitrogen/generated/android/c++/JHybridCastManagerSpec.cpp +388 -0
  854. package/nitrogen/generated/android/c++/JHybridCastManagerSpec.hpp +84 -0
  855. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +233 -0
  856. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +74 -0
  857. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +1052 -0
  858. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +130 -0
  859. package/nitrogen/generated/android/c++/JHybridVisualizerSpec.cpp +84 -0
  860. package/nitrogen/generated/android/c++/JHybridVisualizerSpec.hpp +64 -0
  861. package/nitrogen/generated/android/c++/JLookaheadCacheConfig.hpp +61 -0
  862. package/nitrogen/generated/android/c++/JMediaSearchOrigin.hpp +58 -0
  863. package/nitrogen/generated/android/c++/JMediaSearchQueueLocation.hpp +61 -0
  864. package/nitrogen/generated/android/c++/JMediaSearchReference.hpp +58 -0
  865. package/nitrogen/generated/android/c++/JMediaSearchReleaseDateRange.hpp +61 -0
  866. package/nitrogen/generated/android/c++/JMediaSearchRepeatMode.hpp +61 -0
  867. package/nitrogen/generated/android/c++/JMediaSearchRequest.hpp +126 -0
  868. package/nitrogen/generated/android/c++/JMediaSearchType.hpp +67 -0
  869. package/nitrogen/generated/android/c++/JNowPlayingFormat.hpp +123 -0
  870. package/nitrogen/generated/android/c++/JNowPlayingFormatAndroidExtras.hpp +71 -0
  871. package/nitrogen/generated/android/c++/JNowPlayingFormatIosExtras.hpp +61 -0
  872. package/nitrogen/generated/android/c++/JPitchCorrectionMode.hpp +61 -0
  873. package/nitrogen/generated/android/c++/JPlaybackError.hpp +87 -0
  874. package/nitrogen/generated/android/c++/JPlaybackErrorCode.hpp +88 -0
  875. package/nitrogen/generated/android/c++/JPlaybackMode.hpp +63 -0
  876. package/nitrogen/generated/android/c++/JPlaybackModeKind.hpp +58 -0
  877. package/nitrogen/generated/android/c++/JPlayerConfig.hpp +126 -0
  878. package/nitrogen/generated/android/c++/JPlayerProgress.hpp +65 -0
  879. package/nitrogen/generated/android/c++/JPlayerState.hpp +73 -0
  880. package/nitrogen/generated/android/c++/JRemoteControlOptions.hpp +66 -0
  881. package/nitrogen/generated/android/c++/JRemoteSkipMode.hpp +58 -0
  882. package/nitrogen/generated/android/c++/JRepeatMode.hpp +61 -0
  883. package/nitrogen/generated/android/c++/JReplayGainMode.hpp +61 -0
  884. package/nitrogen/generated/android/c++/JSectionIcon.hpp +91 -0
  885. package/nitrogen/generated/android/c++/JServiceReadyReason.hpp +58 -0
  886. package/nitrogen/generated/android/c++/JShuffleResult.hpp +88 -0
  887. package/nitrogen/generated/android/c++/JSkipCapability.hpp +61 -0
  888. package/nitrogen/generated/android/c++/JSleepTimerState.hpp +69 -0
  889. package/nitrogen/generated/android/c++/JStateChangeReason.hpp +73 -0
  890. package/nitrogen/generated/android/c++/JTrackChangeReason.hpp +73 -0
  891. package/nitrogen/generated/android/c++/JTrackItem.hpp +100 -0
  892. package/nitrogen/generated/android/c++/JTrackSource.hpp +61 -0
  893. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
  894. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
  895. package/nitrogen/generated/android/c++/JVariant_NullType_NowPlayingFormat.cpp +26 -0
  896. package/nitrogen/generated/android/c++/JVariant_NullType_NowPlayingFormat.hpp +83 -0
  897. package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
  898. package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
  899. package/nitrogen/generated/android/c++/JVisualizerConfig.hpp +65 -0
  900. package/nitrogen/generated/android/c++/JVisualizerErrorReason.hpp +64 -0
  901. package/nitrogen/generated/android/c++/JVisualizerFrame.hpp +67 -0
  902. package/nitrogen/generated/android/c++/JVoiceVocabulary.hpp +98 -0
  903. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/AudioCategoryOptions.kt +61 -0
  904. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/AudioCodec.kt +28 -0
  905. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/AudioContainer.kt +29 -0
  906. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/AudioContentType.kt +23 -0
  907. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/AudioRoute.kt +71 -0
  908. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/AudioRouteKind.kt +34 -0
  909. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/BrowseItem.kt +76 -0
  910. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/BrowseSection.kt +71 -0
  911. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/BrowseSnapshot.kt +56 -0
  912. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/BufferState.kt +25 -0
  913. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CacheStatus.kt +71 -0
  914. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastConfigureOptions.kt +56 -0
  915. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastConnectOptions.kt +51 -0
  916. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastDeviceKind.kt +27 -0
  917. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastDiscoveryState.kt +51 -0
  918. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastLocalNetworkPermission.kt +24 -0
  919. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastLocalNetworkPermissionEvent.kt +51 -0
  920. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastProtocol.kt +26 -0
  921. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastReceiver.kt +81 -0
  922. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastReceiverCapabilities.kt +61 -0
  923. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastRoute.kt +76 -0
  924. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastSessionDiedEvent.kt +56 -0
  925. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastSessionEndReason.kt +29 -0
  926. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/CastStreamingModel.kt +23 -0
  927. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/EqualizerBand.kt +56 -0
  928. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/EqualizerPreset.kt +61 -0
  929. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/EvictionPolicy.kt +23 -0
  930. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_BrowseItem______std__string.kt +80 -0
  931. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_TrackItem______MediaSearchRequest.kt +80 -0
  932. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_TrackItem______std__string.kt +80 -0
  933. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void.kt +80 -0
  934. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_AudioRoute.kt +80 -0
  935. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_BufferState.kt +80 -0
  936. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_CacheStatus.kt +80 -0
  937. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_CastDiscoveryState.kt +80 -0
  938. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_CastLocalNetworkPermissionEvent.kt +80 -0
  939. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_CastRoute.kt +80 -0
  940. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_CastSessionDiedEvent.kt +80 -0
  941. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_PlaybackError.kt +80 -0
  942. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_PlayerProgress.kt +80 -0
  943. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_PlayerState_StateChangeReason.kt +80 -0
  944. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_ServiceReadyReason.kt +80 -0
  945. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_SkipCapability.kt +80 -0
  946. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_SleepTimerState.kt +80 -0
  947. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_VisualizerErrorReason.kt +80 -0
  948. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_VisualizerFrame.kt +80 -0
  949. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_bool.kt +80 -0
  950. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_double_double.kt +80 -0
  951. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_std__optional_TrackItem__double_TrackChangeReason_std__optional_double_.kt +80 -0
  952. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_std__optional_std__variant_nitro__NullType__NowPlayingFormat__.kt +80 -0
  953. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_std__vector_CastReceiver_.kt +80 -0
  954. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Func_void_std__vector_EqualizerBand_.kt +80 -0
  955. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/HybridCastManagerSpec.kt +169 -0
  956. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/HybridEqualizerSpec.kt +109 -0
  957. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/HybridTrackPlayerSpec.kt +419 -0
  958. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/HybridVisualizerSpec.kt +63 -0
  959. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/LookaheadCacheConfig.kt +56 -0
  960. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/MediaSearchOrigin.kt +23 -0
  961. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/MediaSearchQueueLocation.kt +24 -0
  962. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/MediaSearchReference.kt +23 -0
  963. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/MediaSearchReleaseDateRange.kt +56 -0
  964. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/MediaSearchRepeatMode.kt +24 -0
  965. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/MediaSearchRequest.kt +121 -0
  966. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/MediaSearchType.kt +26 -0
  967. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/NowPlayingFormat.kt +116 -0
  968. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/NowPlayingFormatAndroidExtras.kt +61 -0
  969. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/NowPlayingFormatIosExtras.kt +51 -0
  970. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PitchCorrectionMode.kt +24 -0
  971. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlaybackError.kt +86 -0
  972. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlaybackErrorCode.kt +33 -0
  973. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlaybackMode.kt +56 -0
  974. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlaybackModeKind.kt +23 -0
  975. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlayerConfig.kt +111 -0
  976. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlayerProgress.kt +61 -0
  977. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/PlayerState.kt +28 -0
  978. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/RemoteControlOptions.kt +61 -0
  979. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/RemoteSkipMode.kt +23 -0
  980. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/RepeatMode.kt +24 -0
  981. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/ReplayGainMode.kt +24 -0
  982. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/SectionIcon.kt +34 -0
  983. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/ServiceReadyReason.kt +23 -0
  984. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/ShuffleResult.kt +61 -0
  985. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/SkipCapability.kt +56 -0
  986. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/SleepTimerState.kt +66 -0
  987. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/StateChangeReason.kt +28 -0
  988. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/TrackChangeReason.kt +28 -0
  989. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/TrackItem.kt +86 -0
  990. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/TrackSource.kt +24 -0
  991. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Variant_NullType_Double.kt +62 -0
  992. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Variant_NullType_NowPlayingFormat.kt +62 -0
  993. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/Variant_NullType_String.kt +62 -0
  994. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/VisualizerConfig.kt +61 -0
  995. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/VisualizerErrorReason.kt +25 -0
  996. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/VisualizerFrame.kt +61 -0
  997. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/VoiceVocabulary.kt +56 -0
  998. package/nitrogen/generated/android/kotlin/com/margelo/nitro/queueplayer/queueplayerOnLoad.kt +35 -0
  999. package/nitrogen/generated/android/queueplayer+autolinking.cmake +90 -0
  1000. package/nitrogen/generated/android/queueplayer+autolinking.gradle +27 -0
  1001. package/nitrogen/generated/android/queueplayerOnLoad.cpp +152 -0
  1002. package/nitrogen/generated/android/queueplayerOnLoad.hpp +34 -0
  1003. package/nitrogen/generated/ios/QueuePlayer+autolinking.rb +62 -0
  1004. package/nitrogen/generated/ios/QueuePlayer-Swift-Cxx-Bridge.cpp +343 -0
  1005. package/nitrogen/generated/ios/QueuePlayer-Swift-Cxx-Bridge.hpp +1831 -0
  1006. package/nitrogen/generated/ios/QueuePlayer-Swift-Cxx-Umbrella.hpp +256 -0
  1007. package/nitrogen/generated/ios/QueuePlayerAutolinking.mm +57 -0
  1008. package/nitrogen/generated/ios/QueuePlayerAutolinking.swift +62 -0
  1009. package/nitrogen/generated/ios/c++/HybridCastManagerSpecSwift.cpp +11 -0
  1010. package/nitrogen/generated/ios/c++/HybridCastManagerSpecSwift.hpp +298 -0
  1011. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.cpp +11 -0
  1012. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.hpp +178 -0
  1013. package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.cpp +11 -0
  1014. package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +749 -0
  1015. package/nitrogen/generated/ios/c++/HybridVisualizerSpecSwift.cpp +11 -0
  1016. package/nitrogen/generated/ios/c++/HybridVisualizerSpecSwift.hpp +103 -0
  1017. package/nitrogen/generated/ios/swift/AudioCategoryOptions.swift +78 -0
  1018. package/nitrogen/generated/ios/swift/AudioCodec.swift +60 -0
  1019. package/nitrogen/generated/ios/swift/AudioContainer.swift +64 -0
  1020. package/nitrogen/generated/ios/swift/AudioContentType.swift +40 -0
  1021. package/nitrogen/generated/ios/swift/AudioRoute.swift +49 -0
  1022. package/nitrogen/generated/ios/swift/AudioRouteKind.swift +84 -0
  1023. package/nitrogen/generated/ios/swift/BrowseItem.swift +93 -0
  1024. package/nitrogen/generated/ios/swift/BrowseSection.swift +74 -0
  1025. package/nitrogen/generated/ios/swift/BrowseSnapshot.swift +40 -0
  1026. package/nitrogen/generated/ios/swift/BufferState.swift +48 -0
  1027. package/nitrogen/generated/ios/swift/CacheStatus.swift +55 -0
  1028. package/nitrogen/generated/ios/swift/CastConfigureOptions.swift +47 -0
  1029. package/nitrogen/generated/ios/swift/CastConnectOptions.swift +29 -0
  1030. package/nitrogen/generated/ios/swift/CastDeviceKind.swift +56 -0
  1031. package/nitrogen/generated/ios/swift/CastDiscoveryState.swift +29 -0
  1032. package/nitrogen/generated/ios/swift/CastLocalNetworkPermission.swift +44 -0
  1033. package/nitrogen/generated/ios/swift/CastLocalNetworkPermissionEvent.swift +29 -0
  1034. package/nitrogen/generated/ios/swift/CastProtocol.swift +52 -0
  1035. package/nitrogen/generated/ios/swift/CastReceiver.swift +59 -0
  1036. package/nitrogen/generated/ios/swift/CastReceiverCapabilities.swift +39 -0
  1037. package/nitrogen/generated/ios/swift/CastRoute.swift +54 -0
  1038. package/nitrogen/generated/ios/swift/CastSessionDiedEvent.swift +34 -0
  1039. package/nitrogen/generated/ios/swift/CastSessionEndReason.swift +64 -0
  1040. package/nitrogen/generated/ios/swift/CastStreamingModel.swift +40 -0
  1041. package/nitrogen/generated/ios/swift/EqualizerBand.swift +34 -0
  1042. package/nitrogen/generated/ios/swift/EqualizerPreset.swift +45 -0
  1043. package/nitrogen/generated/ios/swift/EvictionPolicy.swift +40 -0
  1044. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_BrowseItem______std__string.swift +67 -0
  1045. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_TrackItem______MediaSearchRequest.swift +67 -0
  1046. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_TrackItem______std__string.swift +67 -0
  1047. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  1048. package/nitrogen/generated/ios/swift/Func_void_AudioRoute.swift +46 -0
  1049. package/nitrogen/generated/ios/swift/Func_void_BufferState.swift +46 -0
  1050. package/nitrogen/generated/ios/swift/Func_void_CacheStatus.swift +46 -0
  1051. package/nitrogen/generated/ios/swift/Func_void_CastDiscoveryState.swift +46 -0
  1052. package/nitrogen/generated/ios/swift/Func_void_CastLocalNetworkPermission.swift +46 -0
  1053. package/nitrogen/generated/ios/swift/Func_void_CastLocalNetworkPermissionEvent.swift +46 -0
  1054. package/nitrogen/generated/ios/swift/Func_void_CastRoute.swift +46 -0
  1055. package/nitrogen/generated/ios/swift/Func_void_CastSessionDiedEvent.swift +46 -0
  1056. package/nitrogen/generated/ios/swift/Func_void_PlaybackError.swift +46 -0
  1057. package/nitrogen/generated/ios/swift/Func_void_PlayerProgress.swift +46 -0
  1058. package/nitrogen/generated/ios/swift/Func_void_PlayerState_StateChangeReason.swift +46 -0
  1059. package/nitrogen/generated/ios/swift/Func_void_ServiceReadyReason.swift +46 -0
  1060. package/nitrogen/generated/ios/swift/Func_void_ShuffleResult.swift +46 -0
  1061. package/nitrogen/generated/ios/swift/Func_void_SkipCapability.swift +46 -0
  1062. package/nitrogen/generated/ios/swift/Func_void_SleepTimerState.swift +46 -0
  1063. package/nitrogen/generated/ios/swift/Func_void_VisualizerErrorReason.swift +46 -0
  1064. package/nitrogen/generated/ios/swift/Func_void_VisualizerFrame.swift +46 -0
  1065. package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
  1066. package/nitrogen/generated/ios/swift/Func_void_double_double.swift +46 -0
  1067. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  1068. package/nitrogen/generated/ios/swift/Func_void_std__optional_TrackItem__double_TrackChangeReason_std__optional_double_.swift +53 -0
  1069. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__NowPlayingFormat__.swift +65 -0
  1070. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__vector_BrowseItem___.swift +66 -0
  1071. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__vector_TrackItem___.swift +66 -0
  1072. package/nitrogen/generated/ios/swift/Func_void_std__vector_BrowseItem_.swift +46 -0
  1073. package/nitrogen/generated/ios/swift/Func_void_std__vector_CastReceiver_.swift +46 -0
  1074. package/nitrogen/generated/ios/swift/Func_void_std__vector_EqualizerBand_.swift +46 -0
  1075. package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem_.swift +46 -0
  1076. package/nitrogen/generated/ios/swift/HybridCastManagerSpec.swift +76 -0
  1077. package/nitrogen/generated/ios/swift/HybridCastManagerSpec_cxx.swift +519 -0
  1078. package/nitrogen/generated/ios/swift/HybridEqualizerSpec.swift +66 -0
  1079. package/nitrogen/generated/ios/swift/HybridEqualizerSpec_cxx.swift +353 -0
  1080. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +122 -0
  1081. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +1430 -0
  1082. package/nitrogen/generated/ios/swift/HybridVisualizerSpec.swift +56 -0
  1083. package/nitrogen/generated/ios/swift/HybridVisualizerSpec_cxx.swift +163 -0
  1084. package/nitrogen/generated/ios/swift/LookaheadCacheConfig.swift +34 -0
  1085. package/nitrogen/generated/ios/swift/MediaSearchOrigin.swift +40 -0
  1086. package/nitrogen/generated/ios/swift/MediaSearchQueueLocation.swift +44 -0
  1087. package/nitrogen/generated/ios/swift/MediaSearchReference.swift +40 -0
  1088. package/nitrogen/generated/ios/swift/MediaSearchReleaseDateRange.swift +60 -0
  1089. package/nitrogen/generated/ios/swift/MediaSearchRepeatMode.swift +44 -0
  1090. package/nitrogen/generated/ios/swift/MediaSearchRequest.swift +239 -0
  1091. package/nitrogen/generated/ios/swift/MediaSearchType.swift +52 -0
  1092. package/nitrogen/generated/ios/swift/NowPlayingFormat.swift +394 -0
  1093. package/nitrogen/generated/ios/swift/NowPlayingFormatAndroidExtras.swift +135 -0
  1094. package/nitrogen/generated/ios/swift/NowPlayingFormatIosExtras.swift +61 -0
  1095. package/nitrogen/generated/ios/swift/PitchCorrectionMode.swift +44 -0
  1096. package/nitrogen/generated/ios/swift/PlaybackError.swift +64 -0
  1097. package/nitrogen/generated/ios/swift/PlaybackErrorCode.swift +80 -0
  1098. package/nitrogen/generated/ios/swift/PlaybackMode.swift +47 -0
  1099. package/nitrogen/generated/ios/swift/PlaybackModeKind.swift +40 -0
  1100. package/nitrogen/generated/ios/swift/PlayerConfig.swift +251 -0
  1101. package/nitrogen/generated/ios/swift/PlayerProgress.swift +39 -0
  1102. package/nitrogen/generated/ios/swift/PlayerState.swift +60 -0
  1103. package/nitrogen/generated/ios/swift/RemoteControlOptions.swift +39 -0
  1104. package/nitrogen/generated/ios/swift/RemoteSkipMode.swift +40 -0
  1105. package/nitrogen/generated/ios/swift/RepeatMode.swift +44 -0
  1106. package/nitrogen/generated/ios/swift/ReplayGainMode.swift +44 -0
  1107. package/nitrogen/generated/ios/swift/SectionIcon.swift +84 -0
  1108. package/nitrogen/generated/ios/swift/ServiceReadyReason.swift +40 -0
  1109. package/nitrogen/generated/ios/swift/ShuffleResult.swift +51 -0
  1110. package/nitrogen/generated/ios/swift/SkipCapability.swift +34 -0
  1111. package/nitrogen/generated/ios/swift/SleepTimerState.swift +70 -0
  1112. package/nitrogen/generated/ios/swift/StateChangeReason.swift +60 -0
  1113. package/nitrogen/generated/ios/swift/TrackChangeReason.swift +60 -0
  1114. package/nitrogen/generated/ios/swift/TrackItem.swift +169 -0
  1115. package/nitrogen/generated/ios/swift/TrackSource.swift +44 -0
  1116. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +30 -0
  1117. package/nitrogen/generated/ios/swift/Variant_NullType_NowPlayingFormat.swift +30 -0
  1118. package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +30 -0
  1119. package/nitrogen/generated/ios/swift/VisualizerConfig.swift +52 -0
  1120. package/nitrogen/generated/ios/swift/VisualizerErrorReason.swift +48 -0
  1121. package/nitrogen/generated/ios/swift/VisualizerFrame.swift +52 -0
  1122. package/nitrogen/generated/ios/swift/VoiceVocabulary.swift +46 -0
  1123. package/nitrogen/generated/shared/c++/AudioCategoryOptions.hpp +91 -0
  1124. package/nitrogen/generated/shared/c++/AudioCodec.hpp +96 -0
  1125. package/nitrogen/generated/shared/c++/AudioContainer.hpp +100 -0
  1126. package/nitrogen/generated/shared/c++/AudioContentType.hpp +76 -0
  1127. package/nitrogen/generated/shared/c++/AudioRoute.hpp +101 -0
  1128. package/nitrogen/generated/shared/c++/AudioRouteKind.hpp +120 -0
  1129. package/nitrogen/generated/shared/c++/BrowseItem.hpp +104 -0
  1130. package/nitrogen/generated/shared/c++/BrowseSection.hpp +106 -0
  1131. package/nitrogen/generated/shared/c++/BrowseSnapshot.hpp +90 -0
  1132. package/nitrogen/generated/shared/c++/BufferState.hpp +84 -0
  1133. package/nitrogen/generated/shared/c++/CacheStatus.hpp +100 -0
  1134. package/nitrogen/generated/shared/c++/CastConfigureOptions.hpp +88 -0
  1135. package/nitrogen/generated/shared/c++/CastConnectOptions.hpp +83 -0
  1136. package/nitrogen/generated/shared/c++/CastDeviceKind.hpp +92 -0
  1137. package/nitrogen/generated/shared/c++/CastDiscoveryState.hpp +83 -0
  1138. package/nitrogen/generated/shared/c++/CastLocalNetworkPermission.hpp +80 -0
  1139. package/nitrogen/generated/shared/c++/CastLocalNetworkPermissionEvent.hpp +84 -0
  1140. package/nitrogen/generated/shared/c++/CastProtocol.hpp +88 -0
  1141. package/nitrogen/generated/shared/c++/CastReceiver.hpp +115 -0
  1142. package/nitrogen/generated/shared/c++/CastReceiverCapabilities.hpp +92 -0
  1143. package/nitrogen/generated/shared/c++/CastRoute.hpp +111 -0
  1144. package/nitrogen/generated/shared/c++/CastSessionDiedEvent.hpp +89 -0
  1145. package/nitrogen/generated/shared/c++/CastSessionEndReason.hpp +100 -0
  1146. package/nitrogen/generated/shared/c++/CastStreamingModel.hpp +76 -0
  1147. package/nitrogen/generated/shared/c++/EqualizerBand.hpp +87 -0
  1148. package/nitrogen/generated/shared/c++/EqualizerPreset.hpp +92 -0
  1149. package/nitrogen/generated/shared/c++/EvictionPolicy.hpp +76 -0
  1150. package/nitrogen/generated/shared/c++/HybridCastManagerSpec.cpp +42 -0
  1151. package/nitrogen/generated/shared/c++/HybridCastManagerSpec.hpp +115 -0
  1152. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.cpp +32 -0
  1153. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.hpp +81 -0
  1154. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +88 -0
  1155. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +209 -0
  1156. package/nitrogen/generated/shared/c++/HybridVisualizerSpec.cpp +22 -0
  1157. package/nitrogen/generated/shared/c++/HybridVisualizerSpec.hpp +71 -0
  1158. package/nitrogen/generated/shared/c++/LookaheadCacheConfig.hpp +87 -0
  1159. package/nitrogen/generated/shared/c++/MediaSearchOrigin.hpp +76 -0
  1160. package/nitrogen/generated/shared/c++/MediaSearchQueueLocation.hpp +80 -0
  1161. package/nitrogen/generated/shared/c++/MediaSearchReference.hpp +76 -0
  1162. package/nitrogen/generated/shared/c++/MediaSearchReleaseDateRange.hpp +87 -0
  1163. package/nitrogen/generated/shared/c++/MediaSearchRepeatMode.hpp +80 -0
  1164. package/nitrogen/generated/shared/c++/MediaSearchRequest.hpp +157 -0
  1165. package/nitrogen/generated/shared/c++/MediaSearchType.hpp +88 -0
  1166. package/nitrogen/generated/shared/c++/NowPlayingFormat.hpp +149 -0
  1167. package/nitrogen/generated/shared/c++/NowPlayingFormatAndroidExtras.hpp +94 -0
  1168. package/nitrogen/generated/shared/c++/NowPlayingFormatIosExtras.hpp +85 -0
  1169. package/nitrogen/generated/shared/c++/PitchCorrectionMode.hpp +80 -0
  1170. package/nitrogen/generated/shared/c++/PlaybackError.hpp +113 -0
  1171. package/nitrogen/generated/shared/c++/PlaybackErrorCode.hpp +116 -0
  1172. package/nitrogen/generated/shared/c++/PlaybackMode.hpp +89 -0
  1173. package/nitrogen/generated/shared/c++/PlaybackModeKind.hpp +76 -0
  1174. package/nitrogen/generated/shared/c++/PlayerConfig.hpp +141 -0
  1175. package/nitrogen/generated/shared/c++/PlayerProgress.hpp +91 -0
  1176. package/nitrogen/generated/shared/c++/PlayerState.hpp +96 -0
  1177. package/nitrogen/generated/shared/c++/RemoteControlOptions.hpp +92 -0
  1178. package/nitrogen/generated/shared/c++/RemoteSkipMode.hpp +76 -0
  1179. package/nitrogen/generated/shared/c++/RepeatMode.hpp +80 -0
  1180. package/nitrogen/generated/shared/c++/ReplayGainMode.hpp +80 -0
  1181. package/nitrogen/generated/shared/c++/SectionIcon.hpp +120 -0
  1182. package/nitrogen/generated/shared/c++/ServiceReadyReason.hpp +76 -0
  1183. package/nitrogen/generated/shared/c++/ShuffleResult.hpp +94 -0
  1184. package/nitrogen/generated/shared/c++/SkipCapability.hpp +87 -0
  1185. package/nitrogen/generated/shared/c++/SleepTimerState.hpp +95 -0
  1186. package/nitrogen/generated/shared/c++/StateChangeReason.hpp +96 -0
  1187. package/nitrogen/generated/shared/c++/TrackChangeReason.hpp +96 -0
  1188. package/nitrogen/generated/shared/c++/TrackItem.hpp +113 -0
  1189. package/nitrogen/generated/shared/c++/TrackSource.hpp +80 -0
  1190. package/nitrogen/generated/shared/c++/VisualizerConfig.hpp +91 -0
  1191. package/nitrogen/generated/shared/c++/VisualizerErrorReason.hpp +84 -0
  1192. package/nitrogen/generated/shared/c++/VisualizerFrame.hpp +92 -0
  1193. package/nitrogen/generated/shared/c++/VoiceVocabulary.hpp +88 -0
  1194. package/package.json +167 -0
  1195. package/src/CastManager.nitro.ts +206 -0
  1196. package/src/Equalizer.nitro.ts +37 -0
  1197. package/src/TrackPlayer.nitro.ts +667 -0
  1198. package/src/Visualizer.nitro.ts +48 -0
  1199. package/src/cast/index.ts +224 -0
  1200. package/src/clients.ts +50 -0
  1201. package/src/equalizer.ts +86 -0
  1202. package/src/hooks/index.ts +33 -0
  1203. package/src/hooks/useActiveTrack.ts +55 -0
  1204. package/src/hooks/useAudioRoute.ts +69 -0
  1205. package/src/hooks/useBufferState.ts +35 -0
  1206. package/src/hooks/useCanSkip.ts +92 -0
  1207. package/src/hooks/useCast.ts +121 -0
  1208. package/src/hooks/useEqualizer.ts +111 -0
  1209. package/src/hooks/useFullyBuffered.ts +32 -0
  1210. package/src/hooks/useLookaheadCache.ts +54 -0
  1211. package/src/hooks/useNowPlayingFormat.ts +43 -0
  1212. package/src/hooks/usePlaybackState.ts +34 -0
  1213. package/src/hooks/useProgress.ts +36 -0
  1214. package/src/hooks/useSleepTimer.ts +63 -0
  1215. package/src/hooks/useVisualizerState.ts +121 -0
  1216. package/src/index.ts +125 -0
  1217. package/src/playbackService.ts +304 -0
  1218. package/src/types.ts +1387 -0
@@ -0,0 +1,2310 @@
1
+ /*
2
+ * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ #ifndef OPENSSL_EVP_H
11
+ # define OPENSSL_EVP_H
12
+ # pragma once
13
+
14
+ # include <openssl/macros.h>
15
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
16
+ # define HEADER_ENVELOPE_H
17
+ # endif
18
+
19
+ # include <stdarg.h>
20
+
21
+ # ifndef OPENSSL_NO_STDIO
22
+ # include <stdio.h>
23
+ # endif
24
+
25
+ # include <openssl/opensslconf.h>
26
+ # include <openssl/types.h>
27
+ # include <openssl/core.h>
28
+ # include <openssl/core_dispatch.h>
29
+ # include <openssl/symhacks.h>
30
+ # include <openssl/bio.h>
31
+ # include <openssl/evperr.h>
32
+ # include <openssl/params.h>
33
+
34
+ # define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */
35
+ # define EVP_MAX_KEY_LENGTH 64
36
+ # define EVP_MAX_IV_LENGTH 16
37
+ # define EVP_MAX_BLOCK_LENGTH 32
38
+ # define EVP_MAX_AEAD_TAG_LENGTH 16
39
+
40
+ /* Maximum pipes in cipher pipelining */
41
+ # define EVP_MAX_PIPES 32
42
+
43
+ # define PKCS5_SALT_LEN 8
44
+ /* Default PKCS#5 iteration count */
45
+ # define PKCS5_DEFAULT_ITER 2048
46
+
47
+ # include <openssl/objects.h>
48
+
49
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
50
+ # define EVP_PK_RSA 0x0001
51
+ # define EVP_PK_DSA 0x0002
52
+ # define EVP_PK_DH 0x0004
53
+ # define EVP_PK_EC 0x0008
54
+ # define EVP_PKT_SIGN 0x0010
55
+ # define EVP_PKT_ENC 0x0020
56
+ # define EVP_PKT_EXCH 0x0040
57
+ # define EVP_PKS_RSA 0x0100
58
+ # define EVP_PKS_DSA 0x0200
59
+ # define EVP_PKS_EC 0x0400
60
+ # endif
61
+
62
+ # define EVP_PKEY_NONE NID_undef
63
+ # define EVP_PKEY_RSA NID_rsaEncryption
64
+ # define EVP_PKEY_RSA2 NID_rsa
65
+ # define EVP_PKEY_RSA_PSS NID_rsassaPss
66
+ # define EVP_PKEY_DSA NID_dsa
67
+ # define EVP_PKEY_DSA1 NID_dsa_2
68
+ # define EVP_PKEY_DSA2 NID_dsaWithSHA
69
+ # define EVP_PKEY_DSA3 NID_dsaWithSHA1
70
+ # define EVP_PKEY_DSA4 NID_dsaWithSHA1_2
71
+ # define EVP_PKEY_DH NID_dhKeyAgreement
72
+ # define EVP_PKEY_DHX NID_dhpublicnumber
73
+ # define EVP_PKEY_EC NID_X9_62_id_ecPublicKey
74
+ # define EVP_PKEY_SM2 NID_sm2
75
+ # define EVP_PKEY_HMAC NID_hmac
76
+ # define EVP_PKEY_CMAC NID_cmac
77
+ # define EVP_PKEY_SCRYPT NID_id_scrypt
78
+ # define EVP_PKEY_TLS1_PRF NID_tls1_prf
79
+ # define EVP_PKEY_HKDF NID_hkdf
80
+ # define EVP_PKEY_POLY1305 NID_poly1305
81
+ # define EVP_PKEY_SIPHASH NID_siphash
82
+ # define EVP_PKEY_X25519 NID_X25519
83
+ # define EVP_PKEY_ED25519 NID_ED25519
84
+ # define EVP_PKEY_X448 NID_X448
85
+ # define EVP_PKEY_ED448 NID_ED448
86
+ # define EVP_PKEY_ML_DSA_44 NID_ML_DSA_44
87
+ # define EVP_PKEY_ML_DSA_65 NID_ML_DSA_65
88
+ # define EVP_PKEY_ML_DSA_87 NID_ML_DSA_87
89
+ # define EVP_PKEY_SLH_DSA_SHA2_128S NID_SLH_DSA_SHA2_128s
90
+ # define EVP_PKEY_SLH_DSA_SHA2_128F NID_SLH_DSA_SHA2_128f
91
+ # define EVP_PKEY_SLH_DSA_SHA2_192S NID_SLH_DSA_SHA2_192s
92
+ # define EVP_PKEY_SLH_DSA_SHA2_192F NID_SLH_DSA_SHA2_192f
93
+ # define EVP_PKEY_SLH_DSA_SHA2_256S NID_SLH_DSA_SHA2_256s
94
+ # define EVP_PKEY_SLH_DSA_SHA2_256F NID_SLH_DSA_SHA2_256f
95
+ # define EVP_PKEY_SLH_DSA_SHAKE_128S NID_SLH_DSA_SHAKE_128s
96
+ # define EVP_PKEY_SLH_DSA_SHAKE_128F NID_SLH_DSA_SHAKE_128f
97
+ # define EVP_PKEY_SLH_DSA_SHAKE_192S NID_SLH_DSA_SHAKE_192s
98
+ # define EVP_PKEY_SLH_DSA_SHAKE_192F NID_SLH_DSA_SHAKE_192f
99
+ # define EVP_PKEY_SLH_DSA_SHAKE_256S NID_SLH_DSA_SHAKE_256s
100
+ # define EVP_PKEY_SLH_DSA_SHAKE_256F NID_SLH_DSA_SHAKE_256f
101
+
102
+ /* Special indicator that the object is uniquely provider side */
103
+ # define EVP_PKEY_KEYMGMT -1
104
+
105
+ /* Easy to use macros for EVP_PKEY related selections */
106
+ # define EVP_PKEY_KEY_PARAMETERS \
107
+ ( OSSL_KEYMGMT_SELECT_ALL_PARAMETERS )
108
+ # define EVP_PKEY_PRIVATE_KEY \
109
+ ( EVP_PKEY_KEY_PARAMETERS | OSSL_KEYMGMT_SELECT_PRIVATE_KEY )
110
+ # define EVP_PKEY_PUBLIC_KEY \
111
+ ( EVP_PKEY_KEY_PARAMETERS | OSSL_KEYMGMT_SELECT_PUBLIC_KEY )
112
+ # define EVP_PKEY_KEYPAIR \
113
+ ( EVP_PKEY_PUBLIC_KEY | OSSL_KEYMGMT_SELECT_PRIVATE_KEY )
114
+
115
+ #ifdef __cplusplus
116
+ extern "C" {
117
+ #endif
118
+
119
+ int EVP_set_default_properties(OSSL_LIB_CTX *libctx, const char *propq);
120
+ char *EVP_get1_default_properties(OSSL_LIB_CTX *libctx);
121
+ int EVP_default_properties_is_fips_enabled(OSSL_LIB_CTX *libctx);
122
+ int EVP_default_properties_enable_fips(OSSL_LIB_CTX *libctx, int enable);
123
+
124
+ # define EVP_PKEY_MO_SIGN 0x0001
125
+ # define EVP_PKEY_MO_VERIFY 0x0002
126
+ # define EVP_PKEY_MO_ENCRYPT 0x0004
127
+ # define EVP_PKEY_MO_DECRYPT 0x0008
128
+
129
+ # ifndef EVP_MD
130
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
131
+ OSSL_DEPRECATEDIN_3_0 EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type);
132
+ OSSL_DEPRECATEDIN_3_0 EVP_MD *EVP_MD_meth_dup(const EVP_MD *md);
133
+ OSSL_DEPRECATEDIN_3_0 void EVP_MD_meth_free(EVP_MD *md);
134
+ OSSL_DEPRECATEDIN_3_0
135
+ int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize);
136
+ OSSL_DEPRECATEDIN_3_0
137
+ int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize);
138
+ OSSL_DEPRECATEDIN_3_0
139
+ int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize);
140
+ OSSL_DEPRECATEDIN_3_0
141
+ int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags);
142
+ OSSL_DEPRECATEDIN_3_0
143
+ int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx));
144
+ OSSL_DEPRECATEDIN_3_0
145
+ int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx,
146
+ const void *data,
147
+ size_t count));
148
+ OSSL_DEPRECATEDIN_3_0
149
+ int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx,
150
+ unsigned char *md));
151
+ OSSL_DEPRECATEDIN_3_0
152
+ int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to,
153
+ const EVP_MD_CTX *from));
154
+ OSSL_DEPRECATEDIN_3_0
155
+ int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx));
156
+ OSSL_DEPRECATEDIN_3_0
157
+ int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd,
158
+ int p1, void *p2));
159
+ OSSL_DEPRECATEDIN_3_0 int EVP_MD_meth_get_input_blocksize(const EVP_MD *md);
160
+ OSSL_DEPRECATEDIN_3_0 int EVP_MD_meth_get_result_size(const EVP_MD *md);
161
+ OSSL_DEPRECATEDIN_3_0 int EVP_MD_meth_get_app_datasize(const EVP_MD *md);
162
+ OSSL_DEPRECATEDIN_3_0 unsigned long EVP_MD_meth_get_flags(const EVP_MD *md);
163
+ OSSL_DEPRECATEDIN_3_0
164
+ int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx);
165
+ OSSL_DEPRECATEDIN_3_0
166
+ int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx,
167
+ const void *data, size_t count);
168
+ OSSL_DEPRECATEDIN_3_0
169
+ int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx,
170
+ unsigned char *md);
171
+ OSSL_DEPRECATEDIN_3_0
172
+ int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to,
173
+ const EVP_MD_CTX *from);
174
+ OSSL_DEPRECATEDIN_3_0
175
+ int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx);
176
+ OSSL_DEPRECATEDIN_3_0
177
+ int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd,
178
+ int p1, void *p2);
179
+ # endif
180
+ /* digest can only handle a single block */
181
+ # define EVP_MD_FLAG_ONESHOT 0x0001
182
+
183
+ /* digest is extensible-output function, XOF */
184
+ # define EVP_MD_FLAG_XOF 0x0002
185
+
186
+ /* DigestAlgorithmIdentifier flags... */
187
+
188
+ # define EVP_MD_FLAG_DIGALGID_MASK 0x0018
189
+
190
+ /* NULL or absent parameter accepted. Use NULL */
191
+
192
+ # define EVP_MD_FLAG_DIGALGID_NULL 0x0000
193
+
194
+ /* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */
195
+
196
+ # define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008
197
+
198
+ /* Custom handling via ctrl */
199
+
200
+ # define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018
201
+
202
+ /* Note if suitable for use in FIPS mode */
203
+ # define EVP_MD_FLAG_FIPS 0x0400
204
+
205
+ /* Digest ctrls */
206
+
207
+ # define EVP_MD_CTRL_DIGALGID 0x1
208
+ # define EVP_MD_CTRL_MICALG 0x2
209
+ # define EVP_MD_CTRL_XOF_LEN 0x3
210
+ # define EVP_MD_CTRL_TLSTREE 0x4
211
+
212
+ /* Minimum Algorithm specific ctrl value */
213
+
214
+ # define EVP_MD_CTRL_ALG_CTRL 0x1000
215
+
216
+ # endif /* !EVP_MD */
217
+
218
+ /* values for EVP_MD_CTX flags */
219
+
220
+ # define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be
221
+ * called once only */
222
+ # define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been
223
+ * cleaned */
224
+ # define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data
225
+ * in EVP_MD_CTX_reset */
226
+ /*
227
+ * FIPS and pad options are ignored in 1.0.0, definitions are here so we
228
+ * don't accidentally reuse the values for other purposes.
229
+ */
230
+
231
+ /* This flag has no effect from openssl-3.0 onwards */
232
+ # define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008
233
+
234
+ /*
235
+ * The following PAD options are also currently ignored in 1.0.0, digest
236
+ * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*()
237
+ * instead.
238
+ */
239
+ # define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */
240
+ # define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */
241
+ # define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */
242
+ # define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */
243
+
244
+ # define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */
245
+ /*
246
+ * Some functions such as EVP_DigestSign only finalise copies of internal
247
+ * contexts so additional data can be included after the finalisation call.
248
+ * This is inefficient if this functionality is not required: it is disabled
249
+ * if the following flag is set.
250
+ */
251
+ # define EVP_MD_CTX_FLAG_FINALISE 0x0200
252
+ /* NOTE: 0x0400 and 0x0800 are reserved for internal usage */
253
+
254
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
255
+ OSSL_DEPRECATEDIN_3_0
256
+ EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len);
257
+ OSSL_DEPRECATEDIN_3_0
258
+ EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher);
259
+ OSSL_DEPRECATEDIN_3_0
260
+ void EVP_CIPHER_meth_free(EVP_CIPHER *cipher);
261
+ OSSL_DEPRECATEDIN_3_0
262
+ int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len);
263
+ OSSL_DEPRECATEDIN_3_0
264
+ int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags);
265
+ OSSL_DEPRECATEDIN_3_0
266
+ int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size);
267
+ OSSL_DEPRECATEDIN_3_0
268
+ int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher,
269
+ int (*init) (EVP_CIPHER_CTX *ctx,
270
+ const unsigned char *key,
271
+ const unsigned char *iv,
272
+ int enc));
273
+ OSSL_DEPRECATEDIN_3_0
274
+ int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher,
275
+ int (*do_cipher) (EVP_CIPHER_CTX *ctx,
276
+ unsigned char *out,
277
+ const unsigned char *in,
278
+ size_t inl));
279
+ OSSL_DEPRECATEDIN_3_0
280
+ int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher,
281
+ int (*cleanup) (EVP_CIPHER_CTX *));
282
+ OSSL_DEPRECATEDIN_3_0
283
+ int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher,
284
+ int (*set_asn1_parameters) (EVP_CIPHER_CTX *,
285
+ ASN1_TYPE *));
286
+ OSSL_DEPRECATEDIN_3_0
287
+ int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher,
288
+ int (*get_asn1_parameters) (EVP_CIPHER_CTX *,
289
+ ASN1_TYPE *));
290
+ OSSL_DEPRECATEDIN_3_0
291
+ int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher,
292
+ int (*ctrl) (EVP_CIPHER_CTX *, int type,
293
+ int arg, void *ptr));
294
+ OSSL_DEPRECATEDIN_3_0 int
295
+ (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx,
296
+ const unsigned char *key,
297
+ const unsigned char *iv,
298
+ int enc);
299
+ OSSL_DEPRECATEDIN_3_0 int
300
+ (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx,
301
+ unsigned char *out,
302
+ const unsigned char *in,
303
+ size_t inl);
304
+ OSSL_DEPRECATEDIN_3_0 int
305
+ (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *);
306
+ OSSL_DEPRECATEDIN_3_0 int
307
+ (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
308
+ ASN1_TYPE *);
309
+ OSSL_DEPRECATEDIN_3_0 int
310
+ (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
311
+ ASN1_TYPE *);
312
+ OSSL_DEPRECATEDIN_3_0 int
313
+ (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, int type,
314
+ int arg, void *ptr);
315
+ # endif
316
+
317
+ /* Values for cipher flags */
318
+
319
+ /* Modes for ciphers */
320
+
321
+ # define EVP_CIPH_STREAM_CIPHER 0x0
322
+ # define EVP_CIPH_ECB_MODE 0x1
323
+ # define EVP_CIPH_CBC_MODE 0x2
324
+ # define EVP_CIPH_CFB_MODE 0x3
325
+ # define EVP_CIPH_OFB_MODE 0x4
326
+ # define EVP_CIPH_CTR_MODE 0x5
327
+ # define EVP_CIPH_GCM_MODE 0x6
328
+ # define EVP_CIPH_CCM_MODE 0x7
329
+ # define EVP_CIPH_XTS_MODE 0x10001
330
+ # define EVP_CIPH_WRAP_MODE 0x10002
331
+ # define EVP_CIPH_OCB_MODE 0x10003
332
+ # define EVP_CIPH_SIV_MODE 0x10004
333
+ # define EVP_CIPH_GCM_SIV_MODE 0x10005
334
+ # define EVP_CIPH_MODE 0xF0007
335
+ /* Set if variable length cipher */
336
+ # define EVP_CIPH_VARIABLE_LENGTH 0x8
337
+ /* Set if the iv handling should be done by the cipher itself */
338
+ # define EVP_CIPH_CUSTOM_IV 0x10
339
+ /* Set if the cipher's init() function should be called if key is NULL */
340
+ # define EVP_CIPH_ALWAYS_CALL_INIT 0x20
341
+ /* Call ctrl() to init cipher parameters */
342
+ # define EVP_CIPH_CTRL_INIT 0x40
343
+ /* Don't use standard key length function */
344
+ # define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80
345
+ /* Don't use standard block padding */
346
+ # define EVP_CIPH_NO_PADDING 0x100
347
+ /* cipher handles random key generation */
348
+ # define EVP_CIPH_RAND_KEY 0x200
349
+ /* cipher has its own additional copying logic */
350
+ # define EVP_CIPH_CUSTOM_COPY 0x400
351
+ /* Don't use standard iv length function */
352
+ # define EVP_CIPH_CUSTOM_IV_LENGTH 0x800
353
+ /* Legacy and no longer relevant: Allow use default ASN1 get/set iv */
354
+ # define EVP_CIPH_FLAG_DEFAULT_ASN1 0
355
+ /* Free: 0x1000 */
356
+ /* Buffer length in bits not bytes: CFB1 mode only */
357
+ # define EVP_CIPH_FLAG_LENGTH_BITS 0x2000
358
+ /* Deprecated FIPS flag: was 0x4000 */
359
+ # define EVP_CIPH_FLAG_FIPS 0
360
+ /* Deprecated FIPS flag: was 0x8000 */
361
+ # define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0
362
+
363
+ /*
364
+ * Cipher handles any and all padding logic as well as finalisation.
365
+ */
366
+ # define EVP_CIPH_FLAG_CTS 0x4000
367
+ # define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000
368
+ # define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000
369
+ # define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000
370
+ /* Cipher can handle pipeline operations */
371
+ # define EVP_CIPH_FLAG_PIPELINE 0X800000
372
+ /* For provider implementations that handle ASN1 get/set param themselves */
373
+ # define EVP_CIPH_FLAG_CUSTOM_ASN1 0x1000000
374
+ /* For ciphers generating unprotected CMS attributes */
375
+ # define EVP_CIPH_FLAG_CIPHER_WITH_MAC 0x2000000
376
+ /* For supplementary wrap cipher support */
377
+ # define EVP_CIPH_FLAG_GET_WRAP_CIPHER 0x4000000
378
+ # define EVP_CIPH_FLAG_INVERSE_CIPHER 0x8000000
379
+
380
+ /*
381
+ * Cipher context flag to indicate we can handle wrap mode: if allowed in
382
+ * older applications it could overflow buffers.
383
+ */
384
+
385
+ # define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1
386
+
387
+ /* ctrl() values */
388
+
389
+ # define EVP_CTRL_INIT 0x0
390
+ # define EVP_CTRL_SET_KEY_LENGTH 0x1
391
+ # define EVP_CTRL_GET_RC2_KEY_BITS 0x2
392
+ # define EVP_CTRL_SET_RC2_KEY_BITS 0x3
393
+ # define EVP_CTRL_GET_RC5_ROUNDS 0x4
394
+ # define EVP_CTRL_SET_RC5_ROUNDS 0x5
395
+ # define EVP_CTRL_RAND_KEY 0x6
396
+ # define EVP_CTRL_PBE_PRF_NID 0x7
397
+ # define EVP_CTRL_COPY 0x8
398
+ # define EVP_CTRL_AEAD_SET_IVLEN 0x9
399
+ # define EVP_CTRL_AEAD_GET_TAG 0x10
400
+ # define EVP_CTRL_AEAD_SET_TAG 0x11
401
+ # define EVP_CTRL_AEAD_SET_IV_FIXED 0x12
402
+ # define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN
403
+ # define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG
404
+ # define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG
405
+ # define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED
406
+ # define EVP_CTRL_GCM_IV_GEN 0x13
407
+ # define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN
408
+ # define EVP_CTRL_CCM_GET_TAG EVP_CTRL_AEAD_GET_TAG
409
+ # define EVP_CTRL_CCM_SET_TAG EVP_CTRL_AEAD_SET_TAG
410
+ # define EVP_CTRL_CCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED
411
+ # define EVP_CTRL_CCM_SET_L 0x14
412
+ # define EVP_CTRL_CCM_SET_MSGLEN 0x15
413
+ /*
414
+ * AEAD cipher deduces payload length and returns number of bytes required to
415
+ * store MAC and eventual padding. Subsequent call to EVP_Cipher even
416
+ * appends/verifies MAC.
417
+ */
418
+ # define EVP_CTRL_AEAD_TLS1_AAD 0x16
419
+ /* Used by composite AEAD ciphers, no-op in GCM, CCM... */
420
+ # define EVP_CTRL_AEAD_SET_MAC_KEY 0x17
421
+ /* Set the GCM invocation field, decrypt only */
422
+ # define EVP_CTRL_GCM_SET_IV_INV 0x18
423
+
424
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19
425
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a
426
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b
427
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c
428
+
429
+ # define EVP_CTRL_SSL3_MASTER_SECRET 0x1d
430
+
431
+ /* EVP_CTRL_SET_SBOX takes the char * specifying S-boxes */
432
+ # define EVP_CTRL_SET_SBOX 0x1e
433
+ /*
434
+ * EVP_CTRL_SBOX_USED takes a 'size_t' and 'char *', pointing at a
435
+ * pre-allocated buffer with specified size
436
+ */
437
+ # define EVP_CTRL_SBOX_USED 0x1f
438
+ /* EVP_CTRL_KEY_MESH takes 'size_t' number of bytes to mesh the key after,
439
+ * 0 switches meshing off
440
+ */
441
+ # define EVP_CTRL_KEY_MESH 0x20
442
+ /* EVP_CTRL_BLOCK_PADDING_MODE takes the padding mode */
443
+ # define EVP_CTRL_BLOCK_PADDING_MODE 0x21
444
+
445
+ /* Set the output buffers to use for a pipelined operation */
446
+ # define EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS 0x22
447
+ /* Set the input buffers to use for a pipelined operation */
448
+ # define EVP_CTRL_SET_PIPELINE_INPUT_BUFS 0x23
449
+ /* Set the input buffer lengths to use for a pipelined operation */
450
+ # define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24
451
+ /* Get the IV length used by the cipher */
452
+ # define EVP_CTRL_GET_IVLEN 0x25
453
+ /* 0x26 is unused */
454
+ /* Tell the cipher it's doing a speed test (SIV disallows multiple ops) */
455
+ # define EVP_CTRL_SET_SPEED 0x27
456
+ /* Get the unprotectedAttrs from cipher ctx */
457
+ # define EVP_CTRL_PROCESS_UNPROTECTED 0x28
458
+ /* Get the supplementary wrap cipher */
459
+ #define EVP_CTRL_GET_WRAP_CIPHER 0x29
460
+ /* TLSTREE key diversification */
461
+ #define EVP_CTRL_TLSTREE 0x2A
462
+
463
+ /* Padding modes */
464
+ #define EVP_PADDING_PKCS7 1
465
+ #define EVP_PADDING_ISO7816_4 2
466
+ #define EVP_PADDING_ANSI923 3
467
+ #define EVP_PADDING_ISO10126 4
468
+ #define EVP_PADDING_ZERO 5
469
+
470
+ /* RFC 5246 defines additional data to be 13 bytes in length */
471
+ # define EVP_AEAD_TLS1_AAD_LEN 13
472
+
473
+ typedef struct {
474
+ unsigned char *out;
475
+ const unsigned char *inp;
476
+ size_t len;
477
+ unsigned int interleave;
478
+ } EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM;
479
+
480
+ /* GCM TLS constants */
481
+ /* Length of fixed part of IV derived from PRF */
482
+ # define EVP_GCM_TLS_FIXED_IV_LEN 4
483
+ /* Length of explicit part of IV part of TLS records */
484
+ # define EVP_GCM_TLS_EXPLICIT_IV_LEN 8
485
+ /* Length of tag for TLS */
486
+ # define EVP_GCM_TLS_TAG_LEN 16
487
+
488
+ /* CCM TLS constants */
489
+ /* Length of fixed part of IV derived from PRF */
490
+ # define EVP_CCM_TLS_FIXED_IV_LEN 4
491
+ /* Length of explicit part of IV part of TLS records */
492
+ # define EVP_CCM_TLS_EXPLICIT_IV_LEN 8
493
+ /* Total length of CCM IV length for TLS */
494
+ # define EVP_CCM_TLS_IV_LEN 12
495
+ /* Length of tag for TLS */
496
+ # define EVP_CCM_TLS_TAG_LEN 16
497
+ /* Length of CCM8 tag for TLS */
498
+ # define EVP_CCM8_TLS_TAG_LEN 8
499
+
500
+ /* Length of tag for TLS */
501
+ # define EVP_CHACHAPOLY_TLS_TAG_LEN 16
502
+
503
+ typedef struct evp_cipher_info_st {
504
+ const EVP_CIPHER *cipher;
505
+ unsigned char iv[EVP_MAX_IV_LENGTH];
506
+ } EVP_CIPHER_INFO;
507
+
508
+
509
+ /* Password based encryption function */
510
+ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass,
511
+ int passlen, ASN1_TYPE *param,
512
+ const EVP_CIPHER *cipher, const EVP_MD *md,
513
+ int en_de);
514
+
515
+ typedef int (EVP_PBE_KEYGEN_EX) (EVP_CIPHER_CTX *ctx, const char *pass,
516
+ int passlen, ASN1_TYPE *param,
517
+ const EVP_CIPHER *cipher, const EVP_MD *md,
518
+ int en_de, OSSL_LIB_CTX *libctx, const char *propq);
519
+
520
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
521
+ # define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
522
+ (rsa))
523
+ # endif
524
+
525
+ # ifndef OPENSSL_NO_DSA
526
+ # define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
527
+ (dsa))
528
+ # endif
529
+
530
+ # if !defined(OPENSSL_NO_DH) && !defined(OPENSSL_NO_DEPRECATED_3_0)
531
+ # define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,(dh))
532
+ # endif
533
+
534
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
535
+ # ifndef OPENSSL_NO_EC
536
+ # define EVP_PKEY_assign_EC_KEY(pkey,eckey) \
537
+ EVP_PKEY_assign((pkey), EVP_PKEY_EC, (eckey))
538
+ # endif
539
+ # endif
540
+ # ifndef OPENSSL_NO_SIPHASH
541
+ # define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),\
542
+ EVP_PKEY_SIPHASH,(shkey))
543
+ # endif
544
+
545
+ # ifndef OPENSSL_NO_POLY1305
546
+ # define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),\
547
+ EVP_PKEY_POLY1305,(polykey))
548
+ # endif
549
+
550
+ /* Add some extra combinations */
551
+ # define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))
552
+ # define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))
553
+ # define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a))
554
+ # define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a))
555
+
556
+ int EVP_MD_get_type(const EVP_MD *md);
557
+ # define EVP_MD_type EVP_MD_get_type
558
+ # define EVP_MD_nid EVP_MD_get_type
559
+ const char *EVP_MD_get0_name(const EVP_MD *md);
560
+ # define EVP_MD_name EVP_MD_get0_name
561
+ const char *EVP_MD_get0_description(const EVP_MD *md);
562
+ int EVP_MD_is_a(const EVP_MD *md, const char *name);
563
+ int EVP_MD_names_do_all(const EVP_MD *md,
564
+ void (*fn)(const char *name, void *data),
565
+ void *data);
566
+ const OSSL_PROVIDER *EVP_MD_get0_provider(const EVP_MD *md);
567
+ int EVP_MD_get_pkey_type(const EVP_MD *md);
568
+ # define EVP_MD_pkey_type EVP_MD_get_pkey_type
569
+ int EVP_MD_get_size(const EVP_MD *md);
570
+ # define EVP_MD_size EVP_MD_get_size
571
+ int EVP_MD_get_block_size(const EVP_MD *md);
572
+ # define EVP_MD_block_size EVP_MD_get_block_size
573
+ unsigned long EVP_MD_get_flags(const EVP_MD *md);
574
+ # define EVP_MD_flags EVP_MD_get_flags
575
+ int EVP_MD_xof(const EVP_MD *md);
576
+
577
+ const EVP_MD *EVP_MD_CTX_get0_md(const EVP_MD_CTX *ctx);
578
+ EVP_MD *EVP_MD_CTX_get1_md(EVP_MD_CTX *ctx);
579
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
580
+ OSSL_DEPRECATEDIN_3_0
581
+ const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx);
582
+ OSSL_DEPRECATEDIN_3_0
583
+ int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx,
584
+ const void *data, size_t count);
585
+ OSSL_DEPRECATEDIN_3_0
586
+ void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx,
587
+ int (*update) (EVP_MD_CTX *ctx,
588
+ const void *data, size_t count));
589
+ # endif
590
+ int EVP_MD_CTX_get_size_ex(const EVP_MD_CTX *ctx);
591
+
592
+ # define EVP_MD_CTX_get0_name(e) EVP_MD_get0_name(EVP_MD_CTX_get0_md(e))
593
+ # define EVP_MD_CTX_get_size(e) EVP_MD_CTX_get_size_ex(e)
594
+ # define EVP_MD_CTX_size EVP_MD_CTX_get_size_ex
595
+ # define EVP_MD_CTX_get_block_size(e) EVP_MD_get_block_size(EVP_MD_CTX_get0_md(e))
596
+ # define EVP_MD_CTX_block_size EVP_MD_CTX_get_block_size
597
+ # define EVP_MD_CTX_get_type(e) EVP_MD_get_type(EVP_MD_CTX_get0_md(e))
598
+ # define EVP_MD_CTX_type EVP_MD_CTX_get_type
599
+ EVP_PKEY_CTX *EVP_MD_CTX_get_pkey_ctx(const EVP_MD_CTX *ctx);
600
+ # define EVP_MD_CTX_pkey_ctx EVP_MD_CTX_get_pkey_ctx
601
+ void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx);
602
+ void *EVP_MD_CTX_get0_md_data(const EVP_MD_CTX *ctx);
603
+ # define EVP_MD_CTX_md_data EVP_MD_CTX_get0_md_data
604
+
605
+ int EVP_CIPHER_get_nid(const EVP_CIPHER *cipher);
606
+ # define EVP_CIPHER_nid EVP_CIPHER_get_nid
607
+ const char *EVP_CIPHER_get0_name(const EVP_CIPHER *cipher);
608
+ # define EVP_CIPHER_name EVP_CIPHER_get0_name
609
+ const char *EVP_CIPHER_get0_description(const EVP_CIPHER *cipher);
610
+ int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name);
611
+ int EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher,
612
+ void (*fn)(const char *name, void *data),
613
+ void *data);
614
+ const OSSL_PROVIDER *EVP_CIPHER_get0_provider(const EVP_CIPHER *cipher);
615
+ int EVP_CIPHER_get_block_size(const EVP_CIPHER *cipher);
616
+ # define EVP_CIPHER_block_size EVP_CIPHER_get_block_size
617
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
618
+ OSSL_DEPRECATEDIN_3_0
619
+ int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *cipher);
620
+ # endif
621
+ int EVP_CIPHER_get_key_length(const EVP_CIPHER *cipher);
622
+ # define EVP_CIPHER_key_length EVP_CIPHER_get_key_length
623
+ int EVP_CIPHER_get_iv_length(const EVP_CIPHER *cipher);
624
+ # define EVP_CIPHER_iv_length EVP_CIPHER_get_iv_length
625
+ unsigned long EVP_CIPHER_get_flags(const EVP_CIPHER *cipher);
626
+ # define EVP_CIPHER_flags EVP_CIPHER_get_flags
627
+ int EVP_CIPHER_get_mode(const EVP_CIPHER *cipher);
628
+ # define EVP_CIPHER_mode EVP_CIPHER_get_mode
629
+ int EVP_CIPHER_get_type(const EVP_CIPHER *cipher);
630
+ # define EVP_CIPHER_type EVP_CIPHER_get_type
631
+ EVP_CIPHER *EVP_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
632
+ const char *properties);
633
+ int EVP_CIPHER_can_pipeline(const EVP_CIPHER *cipher, int enc);
634
+ int EVP_CIPHER_up_ref(EVP_CIPHER *cipher);
635
+ void EVP_CIPHER_free(EVP_CIPHER *cipher);
636
+
637
+ const EVP_CIPHER *EVP_CIPHER_CTX_get0_cipher(const EVP_CIPHER_CTX *ctx);
638
+ EVP_CIPHER *EVP_CIPHER_CTX_get1_cipher(EVP_CIPHER_CTX *ctx);
639
+ int EVP_CIPHER_CTX_is_encrypting(const EVP_CIPHER_CTX *ctx);
640
+ # define EVP_CIPHER_CTX_encrypting EVP_CIPHER_CTX_is_encrypting
641
+ int EVP_CIPHER_CTX_get_nid(const EVP_CIPHER_CTX *ctx);
642
+ # define EVP_CIPHER_CTX_nid EVP_CIPHER_CTX_get_nid
643
+ int EVP_CIPHER_CTX_get_block_size(const EVP_CIPHER_CTX *ctx);
644
+ # define EVP_CIPHER_CTX_block_size EVP_CIPHER_CTX_get_block_size
645
+ int EVP_CIPHER_CTX_get_key_length(const EVP_CIPHER_CTX *ctx);
646
+ # define EVP_CIPHER_CTX_key_length EVP_CIPHER_CTX_get_key_length
647
+ int EVP_CIPHER_CTX_get_iv_length(const EVP_CIPHER_CTX *ctx);
648
+ # define EVP_CIPHER_CTX_iv_length EVP_CIPHER_CTX_get_iv_length
649
+ int EVP_CIPHER_CTX_get_tag_length(const EVP_CIPHER_CTX *ctx);
650
+ # define EVP_CIPHER_CTX_tag_length EVP_CIPHER_CTX_get_tag_length
651
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
652
+ const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx);
653
+ OSSL_DEPRECATEDIN_3_0 const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx);
654
+ OSSL_DEPRECATEDIN_3_0 const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx);
655
+ OSSL_DEPRECATEDIN_3_0 unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx);
656
+ # endif
657
+ int EVP_CIPHER_CTX_get_updated_iv(EVP_CIPHER_CTX *ctx, void *buf, size_t len);
658
+ int EVP_CIPHER_CTX_get_original_iv(EVP_CIPHER_CTX *ctx, void *buf, size_t len);
659
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
660
+ OSSL_DEPRECATEDIN_3_0
661
+ unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx);
662
+ # endif
663
+ int EVP_CIPHER_CTX_get_num(const EVP_CIPHER_CTX *ctx);
664
+ # define EVP_CIPHER_CTX_num EVP_CIPHER_CTX_get_num
665
+ int EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num);
666
+ EVP_CIPHER_CTX *EVP_CIPHER_CTX_dup(const EVP_CIPHER_CTX *in);
667
+ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in);
668
+ void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx);
669
+ void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data);
670
+ void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx);
671
+ void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data);
672
+ # define EVP_CIPHER_CTX_get0_name(c) EVP_CIPHER_get0_name(EVP_CIPHER_CTX_get0_cipher(c))
673
+ # define EVP_CIPHER_CTX_get_type(c) EVP_CIPHER_get_type(EVP_CIPHER_CTX_get0_cipher(c))
674
+ # define EVP_CIPHER_CTX_type EVP_CIPHER_CTX_get_type
675
+ # ifndef OPENSSL_NO_DEPRECATED_1_1_0
676
+ # define EVP_CIPHER_CTX_flags(c) EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(c))
677
+ # endif
678
+ # define EVP_CIPHER_CTX_get_mode(c) EVP_CIPHER_get_mode(EVP_CIPHER_CTX_get0_cipher(c))
679
+ # define EVP_CIPHER_CTX_mode EVP_CIPHER_CTX_get_mode
680
+
681
+ # define EVP_ENCODE_LENGTH(l) ((((l)+2)/3*4)+((l)/48+1)*2+80)
682
+ # define EVP_DECODE_LENGTH(l) (((l)+3)/4*3+80)
683
+
684
+ # define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
685
+ # define EVP_SignInit(a,b) EVP_DigestInit(a,b)
686
+ # define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
687
+ # define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
688
+ # define EVP_VerifyInit(a,b) EVP_DigestInit(a,b)
689
+ # define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
690
+ # define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e)
691
+ # define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e)
692
+
693
+ # ifdef CONST_STRICT
694
+ void BIO_set_md(BIO *, const EVP_MD *md);
695
+ # else
696
+ # define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(void *)(md))
697
+ # endif
698
+ # define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(mdp))
699
+ # define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(mdcp))
700
+ # define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(mdcp))
701
+ # define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL)
702
+ # define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(c_pp))
703
+
704
+ __owur int EVP_Cipher(EVP_CIPHER_CTX *c,
705
+ unsigned char *out,
706
+ const unsigned char *in, unsigned int inl);
707
+
708
+ # define EVP_add_cipher_alias(n,alias) \
709
+ OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n))
710
+ # define EVP_add_digest_alias(n,alias) \
711
+ OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n))
712
+ # define EVP_delete_cipher_alias(alias) \
713
+ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS);
714
+ # define EVP_delete_digest_alias(alias) \
715
+ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS);
716
+
717
+ int EVP_MD_get_params(const EVP_MD *digest, OSSL_PARAM params[]);
718
+ int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]);
719
+ int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]);
720
+ const OSSL_PARAM *EVP_MD_gettable_params(const EVP_MD *digest);
721
+ const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md);
722
+ const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md);
723
+ const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx);
724
+ const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx);
725
+ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2);
726
+ EVP_MD_CTX *EVP_MD_CTX_new(void);
727
+ int EVP_MD_CTX_reset(EVP_MD_CTX *ctx);
728
+ void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
729
+ # define EVP_MD_CTX_create() EVP_MD_CTX_new()
730
+ # define EVP_MD_CTX_init(ctx) EVP_MD_CTX_reset((ctx))
731
+ # define EVP_MD_CTX_destroy(ctx) EVP_MD_CTX_free((ctx))
732
+ __owur EVP_MD_CTX *EVP_MD_CTX_dup(const EVP_MD_CTX *in);
733
+ __owur int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in);
734
+ void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags);
735
+ void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags);
736
+ int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags);
737
+ __owur int EVP_DigestInit_ex2(EVP_MD_CTX *ctx, const EVP_MD *type,
738
+ const OSSL_PARAM params[]);
739
+ __owur int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type,
740
+ ENGINE *impl);
741
+ __owur int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d,
742
+ size_t cnt);
743
+ __owur int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md,
744
+ unsigned int *s);
745
+ __owur int EVP_Digest(const void *data, size_t count,
746
+ unsigned char *md, unsigned int *size,
747
+ const EVP_MD *type, ENGINE *impl);
748
+ __owur int EVP_Q_digest(OSSL_LIB_CTX *libctx, const char *name,
749
+ const char *propq, const void *data, size_t datalen,
750
+ unsigned char *md, size_t *mdlen);
751
+
752
+ __owur int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in);
753
+ __owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);
754
+ __owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md,
755
+ unsigned int *s);
756
+ __owur int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *out,
757
+ size_t outlen);
758
+ __owur int EVP_DigestSqueeze(EVP_MD_CTX *ctx, unsigned char *out,
759
+ size_t outlen);
760
+
761
+ __owur EVP_MD *EVP_MD_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
762
+ const char *properties);
763
+
764
+ int EVP_MD_up_ref(EVP_MD *md);
765
+ void EVP_MD_free(EVP_MD *md);
766
+
767
+ int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify);
768
+ int EVP_read_pw_string_min(char *buf, int minlen, int maxlen,
769
+ const char *prompt, int verify);
770
+ void EVP_set_pw_prompt(const char *prompt);
771
+ char *EVP_get_pw_prompt(void);
772
+
773
+ __owur int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,
774
+ const unsigned char *salt,
775
+ const unsigned char *data, int datal, int count,
776
+ unsigned char *key, unsigned char *iv);
777
+
778
+ void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags);
779
+ void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags);
780
+ int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags);
781
+
782
+ __owur int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
783
+ const unsigned char *key, const unsigned char *iv);
784
+ __owur int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,
785
+ const EVP_CIPHER *cipher, ENGINE *impl,
786
+ const unsigned char *key,
787
+ const unsigned char *iv);
788
+ __owur int EVP_EncryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
789
+ const unsigned char *key,
790
+ const unsigned char *iv,
791
+ const OSSL_PARAM params[]);
792
+ __owur int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
793
+ int *outl, const unsigned char *in, int inl);
794
+ __owur int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out,
795
+ int *outl);
796
+ __owur int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
797
+ int *outl);
798
+
799
+ __owur int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
800
+ const unsigned char *key, const unsigned char *iv);
801
+ __owur int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx,
802
+ const EVP_CIPHER *cipher, ENGINE *impl,
803
+ const unsigned char *key,
804
+ const unsigned char *iv);
805
+ __owur int EVP_DecryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
806
+ const unsigned char *key,
807
+ const unsigned char *iv,
808
+ const OSSL_PARAM params[]);
809
+ __owur int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
810
+ int *outl, const unsigned char *in, int inl);
811
+ __owur int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm,
812
+ int *outl);
813
+ __owur int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
814
+ int *outl);
815
+
816
+ __owur int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
817
+ const unsigned char *key, const unsigned char *iv,
818
+ int enc);
819
+ __owur int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx,
820
+ const EVP_CIPHER *cipher, ENGINE *impl,
821
+ const unsigned char *key,
822
+ const unsigned char *iv, int enc);
823
+ __owur int EVP_CipherInit_SKEY(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
824
+ EVP_SKEY *skey, const unsigned char *iv, size_t iv_len,
825
+ int enc, const OSSL_PARAM params[]);
826
+ __owur int EVP_CipherInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
827
+ const unsigned char *key, const unsigned char *iv,
828
+ int enc, const OSSL_PARAM params[]);
829
+ __owur int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
830
+ int *outl, const unsigned char *in, int inl);
831
+ __owur int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm,
832
+ int *outl);
833
+ __owur int EVP_CipherPipelineEncryptInit(EVP_CIPHER_CTX *ctx,
834
+ const EVP_CIPHER *cipher,
835
+ const unsigned char *key, size_t keylen,
836
+ size_t numpipes,
837
+ const unsigned char **iv, size_t ivlen);
838
+ __owur int EVP_CipherPipelineDecryptInit(EVP_CIPHER_CTX *ctx,
839
+ const EVP_CIPHER *cipher,
840
+ const unsigned char *key, size_t keylen,
841
+ size_t numpipes,
842
+ const unsigned char **iv, size_t ivlen);
843
+ __owur int EVP_CipherPipelineUpdate(EVP_CIPHER_CTX *ctx,
844
+ unsigned char **out, size_t *outl,
845
+ const size_t *outsize,
846
+ const unsigned char **in, const size_t *inl);
847
+ __owur int EVP_CipherPipelineFinal(EVP_CIPHER_CTX *ctx,
848
+ unsigned char **outm, size_t *outl,
849
+ const size_t *outsize);
850
+ __owur int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
851
+ int *outl);
852
+
853
+ __owur int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s,
854
+ EVP_PKEY *pkey);
855
+ __owur int EVP_SignFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s,
856
+ EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,
857
+ const char *propq);
858
+
859
+ __owur int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret,
860
+ size_t *siglen, const unsigned char *tbs,
861
+ size_t tbslen);
862
+
863
+ __owur int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
864
+ unsigned int siglen, EVP_PKEY *pkey);
865
+ __owur int EVP_VerifyFinal_ex(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
866
+ unsigned int siglen, EVP_PKEY *pkey,
867
+ OSSL_LIB_CTX *libctx, const char *propq);
868
+
869
+ __owur int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret,
870
+ size_t siglen, const unsigned char *tbs,
871
+ size_t tbslen);
872
+
873
+ __owur int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
874
+ const char *mdname, OSSL_LIB_CTX *libctx,
875
+ const char *props, EVP_PKEY *pkey,
876
+ const OSSL_PARAM params[]);
877
+ __owur int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
878
+ const EVP_MD *type, ENGINE *e,
879
+ EVP_PKEY *pkey);
880
+ __owur int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize);
881
+ __owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,
882
+ size_t *siglen);
883
+
884
+ __owur int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
885
+ const char *mdname, OSSL_LIB_CTX *libctx,
886
+ const char *props, EVP_PKEY *pkey,
887
+ const OSSL_PARAM params[]);
888
+ __owur int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
889
+ const EVP_MD *type, ENGINE *e,
890
+ EVP_PKEY *pkey);
891
+ int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize);
892
+ __owur int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig,
893
+ size_t siglen);
894
+
895
+ __owur int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
896
+ const unsigned char *ek, int ekl,
897
+ const unsigned char *iv, EVP_PKEY *priv);
898
+ __owur int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
899
+
900
+ __owur int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
901
+ unsigned char **ek, int *ekl, unsigned char *iv,
902
+ EVP_PKEY **pubk, int npubk);
903
+ __owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
904
+
905
+ EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void);
906
+ void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx);
907
+ int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, const EVP_ENCODE_CTX *sctx);
908
+ int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx);
909
+ void EVP_EncodeInit(EVP_ENCODE_CTX *ctx);
910
+ int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
911
+ const unsigned char *in, int inl);
912
+ void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl);
913
+ int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);
914
+
915
+ void EVP_DecodeInit(EVP_ENCODE_CTX *ctx);
916
+ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
917
+ const unsigned char *in, int inl);
918
+ int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned
919
+ char *out, int *outl);
920
+ int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);
921
+
922
+ # ifndef OPENSSL_NO_DEPRECATED_1_1_0
923
+ # define EVP_CIPHER_CTX_init(c) EVP_CIPHER_CTX_reset(c)
924
+ # define EVP_CIPHER_CTX_cleanup(c) EVP_CIPHER_CTX_reset(c)
925
+ # endif
926
+ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
927
+ int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
928
+ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c);
929
+ int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
930
+ int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad);
931
+ int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
932
+ int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key);
933
+ int EVP_CIPHER_get_params(EVP_CIPHER *cipher, OSSL_PARAM params[]);
934
+ int EVP_CIPHER_CTX_set_params(EVP_CIPHER_CTX *ctx, const OSSL_PARAM params[]);
935
+ int EVP_CIPHER_CTX_get_params(EVP_CIPHER_CTX *ctx, OSSL_PARAM params[]);
936
+ const OSSL_PARAM *EVP_CIPHER_gettable_params(const EVP_CIPHER *cipher);
937
+ const OSSL_PARAM *EVP_CIPHER_settable_ctx_params(const EVP_CIPHER *cipher);
938
+ const OSSL_PARAM *EVP_CIPHER_gettable_ctx_params(const EVP_CIPHER *cipher);
939
+ const OSSL_PARAM *EVP_CIPHER_CTX_settable_params(EVP_CIPHER_CTX *ctx);
940
+ const OSSL_PARAM *EVP_CIPHER_CTX_gettable_params(EVP_CIPHER_CTX *ctx);
941
+
942
+ int EVP_CIPHER_CTX_set_algor_params(EVP_CIPHER_CTX *ctx, const X509_ALGOR *alg);
943
+ int EVP_CIPHER_CTX_get_algor_params(EVP_CIPHER_CTX *ctx, X509_ALGOR *alg);
944
+ int EVP_CIPHER_CTX_get_algor(EVP_CIPHER_CTX *ctx, X509_ALGOR **alg);
945
+
946
+ const BIO_METHOD *BIO_f_md(void);
947
+ const BIO_METHOD *BIO_f_base64(void);
948
+ const BIO_METHOD *BIO_f_cipher(void);
949
+ const BIO_METHOD *BIO_f_reliable(void);
950
+ __owur int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k,
951
+ const unsigned char *i, int enc);
952
+
953
+ const EVP_MD *EVP_md_null(void);
954
+ # ifndef OPENSSL_NO_MD2
955
+ const EVP_MD *EVP_md2(void);
956
+ # endif
957
+ # ifndef OPENSSL_NO_MD4
958
+ const EVP_MD *EVP_md4(void);
959
+ # endif
960
+ # ifndef OPENSSL_NO_MD5
961
+ const EVP_MD *EVP_md5(void);
962
+ const EVP_MD *EVP_md5_sha1(void);
963
+ # endif
964
+ # ifndef OPENSSL_NO_BLAKE2
965
+ const EVP_MD *EVP_blake2b512(void);
966
+ const EVP_MD *EVP_blake2s256(void);
967
+ # endif
968
+ const EVP_MD *EVP_sha1(void);
969
+ const EVP_MD *EVP_sha224(void);
970
+ const EVP_MD *EVP_sha256(void);
971
+ const EVP_MD *EVP_sha384(void);
972
+ const EVP_MD *EVP_sha512(void);
973
+ const EVP_MD *EVP_sha512_224(void);
974
+ const EVP_MD *EVP_sha512_256(void);
975
+ const EVP_MD *EVP_sha3_224(void);
976
+ const EVP_MD *EVP_sha3_256(void);
977
+ const EVP_MD *EVP_sha3_384(void);
978
+ const EVP_MD *EVP_sha3_512(void);
979
+ const EVP_MD *EVP_shake128(void);
980
+ const EVP_MD *EVP_shake256(void);
981
+
982
+ # ifndef OPENSSL_NO_MDC2
983
+ const EVP_MD *EVP_mdc2(void);
984
+ # endif
985
+ # ifndef OPENSSL_NO_RMD160
986
+ const EVP_MD *EVP_ripemd160(void);
987
+ # endif
988
+ # ifndef OPENSSL_NO_WHIRLPOOL
989
+ const EVP_MD *EVP_whirlpool(void);
990
+ # endif
991
+ # ifndef OPENSSL_NO_SM3
992
+ const EVP_MD *EVP_sm3(void);
993
+ # endif
994
+ const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */
995
+ # ifndef OPENSSL_NO_DES
996
+ const EVP_CIPHER *EVP_des_ecb(void);
997
+ const EVP_CIPHER *EVP_des_ede(void);
998
+ const EVP_CIPHER *EVP_des_ede3(void);
999
+ const EVP_CIPHER *EVP_des_ede_ecb(void);
1000
+ const EVP_CIPHER *EVP_des_ede3_ecb(void);
1001
+ const EVP_CIPHER *EVP_des_cfb64(void);
1002
+ # define EVP_des_cfb EVP_des_cfb64
1003
+ const EVP_CIPHER *EVP_des_cfb1(void);
1004
+ const EVP_CIPHER *EVP_des_cfb8(void);
1005
+ const EVP_CIPHER *EVP_des_ede_cfb64(void);
1006
+ # define EVP_des_ede_cfb EVP_des_ede_cfb64
1007
+ const EVP_CIPHER *EVP_des_ede3_cfb64(void);
1008
+ # define EVP_des_ede3_cfb EVP_des_ede3_cfb64
1009
+ const EVP_CIPHER *EVP_des_ede3_cfb1(void);
1010
+ const EVP_CIPHER *EVP_des_ede3_cfb8(void);
1011
+ const EVP_CIPHER *EVP_des_ofb(void);
1012
+ const EVP_CIPHER *EVP_des_ede_ofb(void);
1013
+ const EVP_CIPHER *EVP_des_ede3_ofb(void);
1014
+ const EVP_CIPHER *EVP_des_cbc(void);
1015
+ const EVP_CIPHER *EVP_des_ede_cbc(void);
1016
+ const EVP_CIPHER *EVP_des_ede3_cbc(void);
1017
+ const EVP_CIPHER *EVP_desx_cbc(void);
1018
+ const EVP_CIPHER *EVP_des_ede3_wrap(void);
1019
+ /*
1020
+ * This should now be supported through the dev_crypto ENGINE. But also, why
1021
+ * are rc4 and md5 declarations made here inside a "NO_DES" precompiler
1022
+ * branch?
1023
+ */
1024
+ # endif
1025
+ # ifndef OPENSSL_NO_RC4
1026
+ const EVP_CIPHER *EVP_rc4(void);
1027
+ const EVP_CIPHER *EVP_rc4_40(void);
1028
+ # ifndef OPENSSL_NO_MD5
1029
+ const EVP_CIPHER *EVP_rc4_hmac_md5(void);
1030
+ # endif
1031
+ # endif
1032
+ # ifndef OPENSSL_NO_IDEA
1033
+ const EVP_CIPHER *EVP_idea_ecb(void);
1034
+ const EVP_CIPHER *EVP_idea_cfb64(void);
1035
+ # define EVP_idea_cfb EVP_idea_cfb64
1036
+ const EVP_CIPHER *EVP_idea_ofb(void);
1037
+ const EVP_CIPHER *EVP_idea_cbc(void);
1038
+ # endif
1039
+ # ifndef OPENSSL_NO_RC2
1040
+ const EVP_CIPHER *EVP_rc2_ecb(void);
1041
+ const EVP_CIPHER *EVP_rc2_cbc(void);
1042
+ const EVP_CIPHER *EVP_rc2_40_cbc(void);
1043
+ const EVP_CIPHER *EVP_rc2_64_cbc(void);
1044
+ const EVP_CIPHER *EVP_rc2_cfb64(void);
1045
+ # define EVP_rc2_cfb EVP_rc2_cfb64
1046
+ const EVP_CIPHER *EVP_rc2_ofb(void);
1047
+ # endif
1048
+ # ifndef OPENSSL_NO_BF
1049
+ const EVP_CIPHER *EVP_bf_ecb(void);
1050
+ const EVP_CIPHER *EVP_bf_cbc(void);
1051
+ const EVP_CIPHER *EVP_bf_cfb64(void);
1052
+ # define EVP_bf_cfb EVP_bf_cfb64
1053
+ const EVP_CIPHER *EVP_bf_ofb(void);
1054
+ # endif
1055
+ # ifndef OPENSSL_NO_CAST
1056
+ const EVP_CIPHER *EVP_cast5_ecb(void);
1057
+ const EVP_CIPHER *EVP_cast5_cbc(void);
1058
+ const EVP_CIPHER *EVP_cast5_cfb64(void);
1059
+ # define EVP_cast5_cfb EVP_cast5_cfb64
1060
+ const EVP_CIPHER *EVP_cast5_ofb(void);
1061
+ # endif
1062
+ # ifndef OPENSSL_NO_RC5
1063
+ const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void);
1064
+ const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void);
1065
+ const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void);
1066
+ # define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64
1067
+ const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void);
1068
+ # endif
1069
+ const EVP_CIPHER *EVP_aes_128_ecb(void);
1070
+ const EVP_CIPHER *EVP_aes_128_cbc(void);
1071
+ const EVP_CIPHER *EVP_aes_128_cfb1(void);
1072
+ const EVP_CIPHER *EVP_aes_128_cfb8(void);
1073
+ const EVP_CIPHER *EVP_aes_128_cfb128(void);
1074
+ # define EVP_aes_128_cfb EVP_aes_128_cfb128
1075
+ const EVP_CIPHER *EVP_aes_128_ofb(void);
1076
+ const EVP_CIPHER *EVP_aes_128_ctr(void);
1077
+ const EVP_CIPHER *EVP_aes_128_ccm(void);
1078
+ const EVP_CIPHER *EVP_aes_128_gcm(void);
1079
+ const EVP_CIPHER *EVP_aes_128_xts(void);
1080
+ const EVP_CIPHER *EVP_aes_128_wrap(void);
1081
+ const EVP_CIPHER *EVP_aes_128_wrap_pad(void);
1082
+ # ifndef OPENSSL_NO_OCB
1083
+ const EVP_CIPHER *EVP_aes_128_ocb(void);
1084
+ # endif
1085
+ const EVP_CIPHER *EVP_aes_192_ecb(void);
1086
+ const EVP_CIPHER *EVP_aes_192_cbc(void);
1087
+ const EVP_CIPHER *EVP_aes_192_cfb1(void);
1088
+ const EVP_CIPHER *EVP_aes_192_cfb8(void);
1089
+ const EVP_CIPHER *EVP_aes_192_cfb128(void);
1090
+ # define EVP_aes_192_cfb EVP_aes_192_cfb128
1091
+ const EVP_CIPHER *EVP_aes_192_ofb(void);
1092
+ const EVP_CIPHER *EVP_aes_192_ctr(void);
1093
+ const EVP_CIPHER *EVP_aes_192_ccm(void);
1094
+ const EVP_CIPHER *EVP_aes_192_gcm(void);
1095
+ const EVP_CIPHER *EVP_aes_192_wrap(void);
1096
+ const EVP_CIPHER *EVP_aes_192_wrap_pad(void);
1097
+ # ifndef OPENSSL_NO_OCB
1098
+ const EVP_CIPHER *EVP_aes_192_ocb(void);
1099
+ # endif
1100
+ const EVP_CIPHER *EVP_aes_256_ecb(void);
1101
+ const EVP_CIPHER *EVP_aes_256_cbc(void);
1102
+ const EVP_CIPHER *EVP_aes_256_cfb1(void);
1103
+ const EVP_CIPHER *EVP_aes_256_cfb8(void);
1104
+ const EVP_CIPHER *EVP_aes_256_cfb128(void);
1105
+ # define EVP_aes_256_cfb EVP_aes_256_cfb128
1106
+ const EVP_CIPHER *EVP_aes_256_ofb(void);
1107
+ const EVP_CIPHER *EVP_aes_256_ctr(void);
1108
+ const EVP_CIPHER *EVP_aes_256_ccm(void);
1109
+ const EVP_CIPHER *EVP_aes_256_gcm(void);
1110
+ const EVP_CIPHER *EVP_aes_256_xts(void);
1111
+ const EVP_CIPHER *EVP_aes_256_wrap(void);
1112
+ const EVP_CIPHER *EVP_aes_256_wrap_pad(void);
1113
+ # ifndef OPENSSL_NO_OCB
1114
+ const EVP_CIPHER *EVP_aes_256_ocb(void);
1115
+ # endif
1116
+ const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void);
1117
+ const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void);
1118
+ const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void);
1119
+ const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void);
1120
+ # ifndef OPENSSL_NO_ARIA
1121
+ const EVP_CIPHER *EVP_aria_128_ecb(void);
1122
+ const EVP_CIPHER *EVP_aria_128_cbc(void);
1123
+ const EVP_CIPHER *EVP_aria_128_cfb1(void);
1124
+ const EVP_CIPHER *EVP_aria_128_cfb8(void);
1125
+ const EVP_CIPHER *EVP_aria_128_cfb128(void);
1126
+ # define EVP_aria_128_cfb EVP_aria_128_cfb128
1127
+ const EVP_CIPHER *EVP_aria_128_ctr(void);
1128
+ const EVP_CIPHER *EVP_aria_128_ofb(void);
1129
+ const EVP_CIPHER *EVP_aria_128_gcm(void);
1130
+ const EVP_CIPHER *EVP_aria_128_ccm(void);
1131
+ const EVP_CIPHER *EVP_aria_192_ecb(void);
1132
+ const EVP_CIPHER *EVP_aria_192_cbc(void);
1133
+ const EVP_CIPHER *EVP_aria_192_cfb1(void);
1134
+ const EVP_CIPHER *EVP_aria_192_cfb8(void);
1135
+ const EVP_CIPHER *EVP_aria_192_cfb128(void);
1136
+ # define EVP_aria_192_cfb EVP_aria_192_cfb128
1137
+ const EVP_CIPHER *EVP_aria_192_ctr(void);
1138
+ const EVP_CIPHER *EVP_aria_192_ofb(void);
1139
+ const EVP_CIPHER *EVP_aria_192_gcm(void);
1140
+ const EVP_CIPHER *EVP_aria_192_ccm(void);
1141
+ const EVP_CIPHER *EVP_aria_256_ecb(void);
1142
+ const EVP_CIPHER *EVP_aria_256_cbc(void);
1143
+ const EVP_CIPHER *EVP_aria_256_cfb1(void);
1144
+ const EVP_CIPHER *EVP_aria_256_cfb8(void);
1145
+ const EVP_CIPHER *EVP_aria_256_cfb128(void);
1146
+ # define EVP_aria_256_cfb EVP_aria_256_cfb128
1147
+ const EVP_CIPHER *EVP_aria_256_ctr(void);
1148
+ const EVP_CIPHER *EVP_aria_256_ofb(void);
1149
+ const EVP_CIPHER *EVP_aria_256_gcm(void);
1150
+ const EVP_CIPHER *EVP_aria_256_ccm(void);
1151
+ # endif
1152
+ # ifndef OPENSSL_NO_CAMELLIA
1153
+ const EVP_CIPHER *EVP_camellia_128_ecb(void);
1154
+ const EVP_CIPHER *EVP_camellia_128_cbc(void);
1155
+ const EVP_CIPHER *EVP_camellia_128_cfb1(void);
1156
+ const EVP_CIPHER *EVP_camellia_128_cfb8(void);
1157
+ const EVP_CIPHER *EVP_camellia_128_cfb128(void);
1158
+ # define EVP_camellia_128_cfb EVP_camellia_128_cfb128
1159
+ const EVP_CIPHER *EVP_camellia_128_ofb(void);
1160
+ const EVP_CIPHER *EVP_camellia_128_ctr(void);
1161
+ const EVP_CIPHER *EVP_camellia_192_ecb(void);
1162
+ const EVP_CIPHER *EVP_camellia_192_cbc(void);
1163
+ const EVP_CIPHER *EVP_camellia_192_cfb1(void);
1164
+ const EVP_CIPHER *EVP_camellia_192_cfb8(void);
1165
+ const EVP_CIPHER *EVP_camellia_192_cfb128(void);
1166
+ # define EVP_camellia_192_cfb EVP_camellia_192_cfb128
1167
+ const EVP_CIPHER *EVP_camellia_192_ofb(void);
1168
+ const EVP_CIPHER *EVP_camellia_192_ctr(void);
1169
+ const EVP_CIPHER *EVP_camellia_256_ecb(void);
1170
+ const EVP_CIPHER *EVP_camellia_256_cbc(void);
1171
+ const EVP_CIPHER *EVP_camellia_256_cfb1(void);
1172
+ const EVP_CIPHER *EVP_camellia_256_cfb8(void);
1173
+ const EVP_CIPHER *EVP_camellia_256_cfb128(void);
1174
+ # define EVP_camellia_256_cfb EVP_camellia_256_cfb128
1175
+ const EVP_CIPHER *EVP_camellia_256_ofb(void);
1176
+ const EVP_CIPHER *EVP_camellia_256_ctr(void);
1177
+ # endif
1178
+ # ifndef OPENSSL_NO_CHACHA
1179
+ const EVP_CIPHER *EVP_chacha20(void);
1180
+ # ifndef OPENSSL_NO_POLY1305
1181
+ const EVP_CIPHER *EVP_chacha20_poly1305(void);
1182
+ # endif
1183
+ # endif
1184
+
1185
+ # ifndef OPENSSL_NO_SEED
1186
+ const EVP_CIPHER *EVP_seed_ecb(void);
1187
+ const EVP_CIPHER *EVP_seed_cbc(void);
1188
+ const EVP_CIPHER *EVP_seed_cfb128(void);
1189
+ # define EVP_seed_cfb EVP_seed_cfb128
1190
+ const EVP_CIPHER *EVP_seed_ofb(void);
1191
+ # endif
1192
+
1193
+ # ifndef OPENSSL_NO_SM4
1194
+ const EVP_CIPHER *EVP_sm4_ecb(void);
1195
+ const EVP_CIPHER *EVP_sm4_cbc(void);
1196
+ const EVP_CIPHER *EVP_sm4_cfb128(void);
1197
+ # define EVP_sm4_cfb EVP_sm4_cfb128
1198
+ const EVP_CIPHER *EVP_sm4_ofb(void);
1199
+ const EVP_CIPHER *EVP_sm4_ctr(void);
1200
+ # endif
1201
+
1202
+ # ifndef OPENSSL_NO_DEPRECATED_1_1_0
1203
+ # define OPENSSL_add_all_algorithms_conf() \
1204
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
1205
+ | OPENSSL_INIT_ADD_ALL_DIGESTS \
1206
+ | OPENSSL_INIT_LOAD_CONFIG, NULL)
1207
+ # define OPENSSL_add_all_algorithms_noconf() \
1208
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
1209
+ | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
1210
+
1211
+ # ifdef OPENSSL_LOAD_CONF
1212
+ # define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_conf()
1213
+ # else
1214
+ # define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_noconf()
1215
+ # endif
1216
+
1217
+ # define OpenSSL_add_all_ciphers() \
1218
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL)
1219
+ # define OpenSSL_add_all_digests() \
1220
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
1221
+
1222
+ # define EVP_cleanup() while(0) continue
1223
+ # endif
1224
+
1225
+ int EVP_add_cipher(const EVP_CIPHER *cipher);
1226
+ int EVP_add_digest(const EVP_MD *digest);
1227
+
1228
+ const EVP_CIPHER *EVP_get_cipherbyname(const char *name);
1229
+ const EVP_MD *EVP_get_digestbyname(const char *name);
1230
+
1231
+ void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph,
1232
+ const char *from, const char *to, void *x),
1233
+ void *arg);
1234
+ void EVP_CIPHER_do_all_sorted(void (*fn)
1235
+ (const EVP_CIPHER *ciph, const char *from,
1236
+ const char *to, void *x), void *arg);
1237
+ void EVP_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,
1238
+ void (*fn)(EVP_CIPHER *cipher, void *arg),
1239
+ void *arg);
1240
+
1241
+ void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph,
1242
+ const char *from, const char *to, void *x),
1243
+ void *arg);
1244
+ void EVP_MD_do_all_sorted(void (*fn)
1245
+ (const EVP_MD *ciph, const char *from,
1246
+ const char *to, void *x), void *arg);
1247
+ void EVP_MD_do_all_provided(OSSL_LIB_CTX *libctx,
1248
+ void (*fn)(EVP_MD *md, void *arg),
1249
+ void *arg);
1250
+
1251
+ /* MAC stuff */
1252
+
1253
+ EVP_MAC *EVP_MAC_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
1254
+ const char *properties);
1255
+ int EVP_MAC_up_ref(EVP_MAC *mac);
1256
+ void EVP_MAC_free(EVP_MAC *mac);
1257
+ const char *EVP_MAC_get0_name(const EVP_MAC *mac);
1258
+ const char *EVP_MAC_get0_description(const EVP_MAC *mac);
1259
+ int EVP_MAC_is_a(const EVP_MAC *mac, const char *name);
1260
+ const OSSL_PROVIDER *EVP_MAC_get0_provider(const EVP_MAC *mac);
1261
+ int EVP_MAC_get_params(EVP_MAC *mac, OSSL_PARAM params[]);
1262
+
1263
+ EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac);
1264
+ void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx);
1265
+ EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src);
1266
+ EVP_MAC *EVP_MAC_CTX_get0_mac(EVP_MAC_CTX *ctx);
1267
+ int EVP_MAC_CTX_get_params(EVP_MAC_CTX *ctx, OSSL_PARAM params[]);
1268
+ int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[]);
1269
+
1270
+ size_t EVP_MAC_CTX_get_mac_size(EVP_MAC_CTX *ctx);
1271
+ size_t EVP_MAC_CTX_get_block_size(EVP_MAC_CTX *ctx);
1272
+ unsigned char *EVP_Q_mac(OSSL_LIB_CTX *libctx, const char *name, const char *propq,
1273
+ const char *subalg, const OSSL_PARAM *params,
1274
+ const void *key, size_t keylen,
1275
+ const unsigned char *data, size_t datalen,
1276
+ unsigned char *out, size_t outsize, size_t *outlen);
1277
+ int EVP_MAC_init(EVP_MAC_CTX *ctx, const unsigned char *key, size_t keylen,
1278
+ const OSSL_PARAM params[]);
1279
+ int EVP_MAC_init_SKEY(EVP_MAC_CTX *ctx, EVP_SKEY *skey, const OSSL_PARAM params[]);
1280
+ int EVP_MAC_update(EVP_MAC_CTX *ctx, const unsigned char *data, size_t datalen);
1281
+ int EVP_MAC_final(EVP_MAC_CTX *ctx,
1282
+ unsigned char *out, size_t *outl, size_t outsize);
1283
+ int EVP_MAC_finalXOF(EVP_MAC_CTX *ctx, unsigned char *out, size_t outsize);
1284
+ const OSSL_PARAM *EVP_MAC_gettable_params(const EVP_MAC *mac);
1285
+ const OSSL_PARAM *EVP_MAC_gettable_ctx_params(const EVP_MAC *mac);
1286
+ const OSSL_PARAM *EVP_MAC_settable_ctx_params(const EVP_MAC *mac);
1287
+ const OSSL_PARAM *EVP_MAC_CTX_gettable_params(EVP_MAC_CTX *ctx);
1288
+ const OSSL_PARAM *EVP_MAC_CTX_settable_params(EVP_MAC_CTX *ctx);
1289
+
1290
+ void EVP_MAC_do_all_provided(OSSL_LIB_CTX *libctx,
1291
+ void (*fn)(EVP_MAC *mac, void *arg),
1292
+ void *arg);
1293
+ int EVP_MAC_names_do_all(const EVP_MAC *mac,
1294
+ void (*fn)(const char *name, void *data),
1295
+ void *data);
1296
+
1297
+ /* RAND stuff */
1298
+ EVP_RAND *EVP_RAND_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
1299
+ const char *properties);
1300
+ int EVP_RAND_up_ref(EVP_RAND *rand);
1301
+ void EVP_RAND_free(EVP_RAND *rand);
1302
+ const char *EVP_RAND_get0_name(const EVP_RAND *rand);
1303
+ const char *EVP_RAND_get0_description(const EVP_RAND *md);
1304
+ int EVP_RAND_is_a(const EVP_RAND *rand, const char *name);
1305
+ const OSSL_PROVIDER *EVP_RAND_get0_provider(const EVP_RAND *rand);
1306
+ int EVP_RAND_get_params(EVP_RAND *rand, OSSL_PARAM params[]);
1307
+
1308
+ EVP_RAND_CTX *EVP_RAND_CTX_new(EVP_RAND *rand, EVP_RAND_CTX *parent);
1309
+ int EVP_RAND_CTX_up_ref(EVP_RAND_CTX *ctx);
1310
+ void EVP_RAND_CTX_free(EVP_RAND_CTX *ctx);
1311
+ EVP_RAND *EVP_RAND_CTX_get0_rand(EVP_RAND_CTX *ctx);
1312
+ int EVP_RAND_CTX_get_params(EVP_RAND_CTX *ctx, OSSL_PARAM params[]);
1313
+ int EVP_RAND_CTX_set_params(EVP_RAND_CTX *ctx, const OSSL_PARAM params[]);
1314
+ const OSSL_PARAM *EVP_RAND_gettable_params(const EVP_RAND *rand);
1315
+ const OSSL_PARAM *EVP_RAND_gettable_ctx_params(const EVP_RAND *rand);
1316
+ const OSSL_PARAM *EVP_RAND_settable_ctx_params(const EVP_RAND *rand);
1317
+ const OSSL_PARAM *EVP_RAND_CTX_gettable_params(EVP_RAND_CTX *ctx);
1318
+ const OSSL_PARAM *EVP_RAND_CTX_settable_params(EVP_RAND_CTX *ctx);
1319
+
1320
+ void EVP_RAND_do_all_provided(OSSL_LIB_CTX *libctx,
1321
+ void (*fn)(EVP_RAND *rand, void *arg),
1322
+ void *arg);
1323
+ int EVP_RAND_names_do_all(const EVP_RAND *rand,
1324
+ void (*fn)(const char *name, void *data),
1325
+ void *data);
1326
+
1327
+ __owur int EVP_RAND_instantiate(EVP_RAND_CTX *ctx, unsigned int strength,
1328
+ int prediction_resistance,
1329
+ const unsigned char *pstr, size_t pstr_len,
1330
+ const OSSL_PARAM params[]);
1331
+ int EVP_RAND_uninstantiate(EVP_RAND_CTX *ctx);
1332
+ __owur int EVP_RAND_generate(EVP_RAND_CTX *ctx, unsigned char *out,
1333
+ size_t outlen, unsigned int strength,
1334
+ int prediction_resistance,
1335
+ const unsigned char *addin, size_t addin_len);
1336
+ int EVP_RAND_reseed(EVP_RAND_CTX *ctx, int prediction_resistance,
1337
+ const unsigned char *ent, size_t ent_len,
1338
+ const unsigned char *addin, size_t addin_len);
1339
+ __owur int EVP_RAND_nonce(EVP_RAND_CTX *ctx, unsigned char *out, size_t outlen);
1340
+ __owur int EVP_RAND_enable_locking(EVP_RAND_CTX *ctx);
1341
+
1342
+ int EVP_RAND_verify_zeroization(EVP_RAND_CTX *ctx);
1343
+ unsigned int EVP_RAND_get_strength(EVP_RAND_CTX *ctx);
1344
+ int EVP_RAND_get_state(EVP_RAND_CTX *ctx);
1345
+
1346
+ # define EVP_RAND_STATE_UNINITIALISED 0
1347
+ # define EVP_RAND_STATE_READY 1
1348
+ # define EVP_RAND_STATE_ERROR 2
1349
+
1350
+ /* PKEY stuff */
1351
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1352
+ OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_decrypt_old(unsigned char *dec_key,
1353
+ const unsigned char *enc_key,
1354
+ int enc_key_len,
1355
+ EVP_PKEY *private_key);
1356
+ OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_encrypt_old(unsigned char *enc_key,
1357
+ const unsigned char *key,
1358
+ int key_len, EVP_PKEY *pub_key);
1359
+ # endif
1360
+ int EVP_PKEY_is_a(const EVP_PKEY *pkey, const char *name);
1361
+ int EVP_PKEY_type_names_do_all(const EVP_PKEY *pkey,
1362
+ void (*fn)(const char *name, void *data),
1363
+ void *data);
1364
+ int EVP_PKEY_type(int type);
1365
+ int EVP_PKEY_get_id(const EVP_PKEY *pkey);
1366
+ # define EVP_PKEY_id EVP_PKEY_get_id
1367
+ int EVP_PKEY_get_base_id(const EVP_PKEY *pkey);
1368
+ # define EVP_PKEY_base_id EVP_PKEY_get_base_id
1369
+ int EVP_PKEY_get_bits(const EVP_PKEY *pkey);
1370
+ # define EVP_PKEY_bits EVP_PKEY_get_bits
1371
+ int EVP_PKEY_get_security_bits(const EVP_PKEY *pkey);
1372
+ # define EVP_PKEY_security_bits EVP_PKEY_get_security_bits
1373
+ int EVP_PKEY_get_size(const EVP_PKEY *pkey);
1374
+ # define EVP_PKEY_size EVP_PKEY_get_size
1375
+ int EVP_PKEY_can_sign(const EVP_PKEY *pkey);
1376
+ int EVP_PKEY_set_type(EVP_PKEY *pkey, int type);
1377
+ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len);
1378
+ int EVP_PKEY_set_type_by_keymgmt(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt);
1379
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1380
+ # ifndef OPENSSL_NO_ENGINE
1381
+ OSSL_DEPRECATEDIN_3_0
1382
+ int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e);
1383
+ OSSL_DEPRECATEDIN_3_0
1384
+ ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey);
1385
+ # endif
1386
+ OSSL_DEPRECATEDIN_3_0
1387
+ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key);
1388
+ OSSL_DEPRECATEDIN_3_0
1389
+ void *EVP_PKEY_get0(const EVP_PKEY *pkey);
1390
+ OSSL_DEPRECATEDIN_3_0
1391
+ const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len);
1392
+ # ifndef OPENSSL_NO_POLY1305
1393
+ OSSL_DEPRECATEDIN_3_0
1394
+ const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len);
1395
+ # endif
1396
+ # ifndef OPENSSL_NO_SIPHASH
1397
+ OSSL_DEPRECATEDIN_3_0
1398
+ const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len);
1399
+ # endif
1400
+
1401
+ struct rsa_st;
1402
+ OSSL_DEPRECATEDIN_3_0
1403
+ int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key);
1404
+ OSSL_DEPRECATEDIN_3_0
1405
+ const struct rsa_st *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey);
1406
+ OSSL_DEPRECATEDIN_3_0
1407
+ struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
1408
+
1409
+ # ifndef OPENSSL_NO_DSA
1410
+ struct dsa_st;
1411
+ OSSL_DEPRECATEDIN_3_0
1412
+ int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key);
1413
+ OSSL_DEPRECATEDIN_3_0
1414
+ const struct dsa_st *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey);
1415
+ OSSL_DEPRECATEDIN_3_0
1416
+ struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey);
1417
+ # endif
1418
+
1419
+ # ifndef OPENSSL_NO_DH
1420
+ struct dh_st;
1421
+ OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key);
1422
+ OSSL_DEPRECATEDIN_3_0 const struct dh_st *EVP_PKEY_get0_DH(const EVP_PKEY *pkey);
1423
+ OSSL_DEPRECATEDIN_3_0 struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey);
1424
+ # endif
1425
+
1426
+ # ifndef OPENSSL_NO_EC
1427
+ struct ec_key_st;
1428
+ OSSL_DEPRECATEDIN_3_0
1429
+ int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key);
1430
+ OSSL_DEPRECATEDIN_3_0
1431
+ const struct ec_key_st *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey);
1432
+ OSSL_DEPRECATEDIN_3_0
1433
+ struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey);
1434
+ # endif
1435
+ # endif /* OPENSSL_NO_DEPRECATED_3_0 */
1436
+
1437
+ EVP_PKEY *EVP_PKEY_new(void);
1438
+ int EVP_PKEY_up_ref(EVP_PKEY *pkey);
1439
+ EVP_PKEY *EVP_PKEY_dup(EVP_PKEY *pkey);
1440
+ void EVP_PKEY_free(EVP_PKEY *pkey);
1441
+ const char *EVP_PKEY_get0_description(const EVP_PKEY *pkey);
1442
+ const OSSL_PROVIDER *EVP_PKEY_get0_provider(const EVP_PKEY *key);
1443
+
1444
+ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp,
1445
+ long length);
1446
+ int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp);
1447
+
1448
+
1449
+ EVP_PKEY *d2i_PrivateKey_ex(int type, EVP_PKEY **a, const unsigned char **pp,
1450
+ long length, OSSL_LIB_CTX *libctx,
1451
+ const char *propq);
1452
+ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp,
1453
+ long length);
1454
+ EVP_PKEY *d2i_AutoPrivateKey_ex(EVP_PKEY **a, const unsigned char **pp,
1455
+ long length, OSSL_LIB_CTX *libctx,
1456
+ const char *propq);
1457
+ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp,
1458
+ long length);
1459
+ int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp);
1460
+
1461
+ int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp);
1462
+ EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char **pp,
1463
+ long length);
1464
+ int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey);
1465
+ EVP_PKEY *d2i_KeyParams_bio(int type, EVP_PKEY **a, BIO *in);
1466
+
1467
+ int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from);
1468
+ int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);
1469
+ int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode);
1470
+ int EVP_PKEY_parameters_eq(const EVP_PKEY *a, const EVP_PKEY *b);
1471
+ int EVP_PKEY_eq(const EVP_PKEY *a, const EVP_PKEY *b);
1472
+
1473
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1474
+ OSSL_DEPRECATEDIN_3_0
1475
+ int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b);
1476
+ OSSL_DEPRECATEDIN_3_0
1477
+ int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);
1478
+ # endif
1479
+
1480
+ int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,
1481
+ int indent, ASN1_PCTX *pctx);
1482
+ int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,
1483
+ int indent, ASN1_PCTX *pctx);
1484
+ int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,
1485
+ int indent, ASN1_PCTX *pctx);
1486
+ # ifndef OPENSSL_NO_STDIO
1487
+ int EVP_PKEY_print_public_fp(FILE *fp, const EVP_PKEY *pkey,
1488
+ int indent, ASN1_PCTX *pctx);
1489
+ int EVP_PKEY_print_private_fp(FILE *fp, const EVP_PKEY *pkey,
1490
+ int indent, ASN1_PCTX *pctx);
1491
+ int EVP_PKEY_print_params_fp(FILE *fp, const EVP_PKEY *pkey,
1492
+ int indent, ASN1_PCTX *pctx);
1493
+ # endif
1494
+
1495
+ int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid);
1496
+ int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey,
1497
+ char *mdname, size_t mdname_sz);
1498
+ int EVP_PKEY_digestsign_supports_digest(EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,
1499
+ const char *name, const char *propq);
1500
+
1501
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1502
+ /*
1503
+ * For backwards compatibility. Use EVP_PKEY_set1_encoded_public_key in
1504
+ * preference
1505
+ */
1506
+ # define EVP_PKEY_set1_tls_encodedpoint(pkey, pt, ptlen) \
1507
+ EVP_PKEY_set1_encoded_public_key((pkey), (pt), (ptlen))
1508
+ # endif
1509
+
1510
+ int EVP_PKEY_set1_encoded_public_key(EVP_PKEY *pkey,
1511
+ const unsigned char *pub, size_t publen);
1512
+
1513
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1514
+ /*
1515
+ * For backwards compatibility. Use EVP_PKEY_get1_encoded_public_key in
1516
+ * preference
1517
+ */
1518
+ # define EVP_PKEY_get1_tls_encodedpoint(pkey, ppt) \
1519
+ EVP_PKEY_get1_encoded_public_key((pkey), (ppt))
1520
+ # endif
1521
+
1522
+ size_t EVP_PKEY_get1_encoded_public_key(EVP_PKEY *pkey, unsigned char **ppub);
1523
+
1524
+ /* calls methods */
1525
+ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
1526
+ int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
1527
+
1528
+ /* These are used by EVP_CIPHER methods */
1529
+ int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
1530
+ int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
1531
+
1532
+ /* PKCS5 password based encryption */
1533
+ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
1534
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
1535
+ const EVP_MD *md, int en_de);
1536
+ int PKCS5_PBE_keyivgen_ex(EVP_CIPHER_CTX *cctx, const char *pass, int passlen,
1537
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
1538
+ const EVP_MD *md, int en_de, OSSL_LIB_CTX *libctx,
1539
+ const char *propq);
1540
+ int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen,
1541
+ const unsigned char *salt, int saltlen, int iter,
1542
+ int keylen, unsigned char *out);
1543
+ int PKCS5_PBKDF2_HMAC(const char *pass, int passlen,
1544
+ const unsigned char *salt, int saltlen, int iter,
1545
+ const EVP_MD *digest, int keylen, unsigned char *out);
1546
+ int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
1547
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
1548
+ const EVP_MD *md, int en_de);
1549
+ int PKCS5_v2_PBE_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
1550
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
1551
+ const EVP_MD *md, int en_de,
1552
+ OSSL_LIB_CTX *libctx, const char *propq);
1553
+
1554
+ #ifndef OPENSSL_NO_SCRYPT
1555
+ int EVP_PBE_scrypt(const char *pass, size_t passlen,
1556
+ const unsigned char *salt, size_t saltlen,
1557
+ uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
1558
+ unsigned char *key, size_t keylen);
1559
+ int EVP_PBE_scrypt_ex(const char *pass, size_t passlen,
1560
+ const unsigned char *salt, size_t saltlen,
1561
+ uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
1562
+ unsigned char *key, size_t keylen,
1563
+ OSSL_LIB_CTX *ctx, const char *propq);
1564
+
1565
+ int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass,
1566
+ int passlen, ASN1_TYPE *param,
1567
+ const EVP_CIPHER *c, const EVP_MD *md, int en_de);
1568
+ int PKCS5_v2_scrypt_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
1569
+ int passlen, ASN1_TYPE *param,
1570
+ const EVP_CIPHER *c, const EVP_MD *md, int en_de,
1571
+ OSSL_LIB_CTX *libctx, const char *propq);
1572
+ #endif
1573
+
1574
+ void PKCS5_PBE_add(void);
1575
+
1576
+ int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen,
1577
+ ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de);
1578
+
1579
+ int EVP_PBE_CipherInit_ex(ASN1_OBJECT *pbe_obj, const char *pass, int passlen,
1580
+ ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de,
1581
+ OSSL_LIB_CTX *libctx, const char *propq);
1582
+
1583
+ /* PBE type */
1584
+
1585
+ /* Can appear as the outermost AlgorithmIdentifier */
1586
+ # define EVP_PBE_TYPE_OUTER 0x0
1587
+ /* Is an PRF type OID */
1588
+ # define EVP_PBE_TYPE_PRF 0x1
1589
+ /* Is a PKCS#5 v2.0 KDF */
1590
+ # define EVP_PBE_TYPE_KDF 0x2
1591
+
1592
+ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,
1593
+ int md_nid, EVP_PBE_KEYGEN *keygen);
1594
+ int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
1595
+ EVP_PBE_KEYGEN *keygen);
1596
+ int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid,
1597
+ EVP_PBE_KEYGEN **pkeygen);
1598
+ int EVP_PBE_find_ex(int type, int pbe_nid, int *pcnid, int *pmnid,
1599
+ EVP_PBE_KEYGEN **pkeygen, EVP_PBE_KEYGEN_EX **pkeygen_ex);
1600
+ void EVP_PBE_cleanup(void);
1601
+ int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num);
1602
+
1603
+ # define ASN1_PKEY_ALIAS 0x1
1604
+ # define ASN1_PKEY_DYNAMIC 0x2
1605
+ # define ASN1_PKEY_SIGPARAM_NULL 0x4
1606
+
1607
+ # define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1
1608
+ # define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2
1609
+ # define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3
1610
+ # define ASN1_PKEY_CTRL_CMS_SIGN 0x5
1611
+ # define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7
1612
+ # define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8
1613
+
1614
+ # define ASN1_PKEY_CTRL_SET1_TLS_ENCPT 0x9
1615
+ # define ASN1_PKEY_CTRL_GET1_TLS_ENCPT 0xa
1616
+ # define ASN1_PKEY_CTRL_CMS_IS_RI_TYPE_SUPPORTED 0xb
1617
+
1618
+ int EVP_PKEY_asn1_get_count(void);
1619
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx);
1620
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type);
1621
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe,
1622
+ const char *str, int len);
1623
+ int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth);
1624
+ int EVP_PKEY_asn1_add_alias(int to, int from);
1625
+ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id,
1626
+ int *ppkey_flags, const char **pinfo,
1627
+ const char **ppem_str,
1628
+ const EVP_PKEY_ASN1_METHOD *ameth);
1629
+
1630
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey);
1631
+ EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags,
1632
+ const char *pem_str,
1633
+ const char *info);
1634
+ void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst,
1635
+ const EVP_PKEY_ASN1_METHOD *src);
1636
+ void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth);
1637
+ void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
1638
+ int (*pub_decode) (EVP_PKEY *pk,
1639
+ const X509_PUBKEY *pub),
1640
+ int (*pub_encode) (X509_PUBKEY *pub,
1641
+ const EVP_PKEY *pk),
1642
+ int (*pub_cmp) (const EVP_PKEY *a,
1643
+ const EVP_PKEY *b),
1644
+ int (*pub_print) (BIO *out,
1645
+ const EVP_PKEY *pkey,
1646
+ int indent, ASN1_PCTX *pctx),
1647
+ int (*pkey_size) (const EVP_PKEY *pk),
1648
+ int (*pkey_bits) (const EVP_PKEY *pk));
1649
+ void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
1650
+ int (*priv_decode) (EVP_PKEY *pk,
1651
+ const PKCS8_PRIV_KEY_INFO
1652
+ *p8inf),
1653
+ int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8,
1654
+ const EVP_PKEY *pk),
1655
+ int (*priv_print) (BIO *out,
1656
+ const EVP_PKEY *pkey,
1657
+ int indent,
1658
+ ASN1_PCTX *pctx));
1659
+ void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
1660
+ int (*param_decode) (EVP_PKEY *pkey,
1661
+ const unsigned char **pder,
1662
+ int derlen),
1663
+ int (*param_encode) (const EVP_PKEY *pkey,
1664
+ unsigned char **pder),
1665
+ int (*param_missing) (const EVP_PKEY *pk),
1666
+ int (*param_copy) (EVP_PKEY *to,
1667
+ const EVP_PKEY *from),
1668
+ int (*param_cmp) (const EVP_PKEY *a,
1669
+ const EVP_PKEY *b),
1670
+ int (*param_print) (BIO *out,
1671
+ const EVP_PKEY *pkey,
1672
+ int indent,
1673
+ ASN1_PCTX *pctx));
1674
+
1675
+ void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
1676
+ void (*pkey_free) (EVP_PKEY *pkey));
1677
+ void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
1678
+ int (*pkey_ctrl) (EVP_PKEY *pkey, int op,
1679
+ long arg1, void *arg2));
1680
+ void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth,
1681
+ int (*item_verify) (EVP_MD_CTX *ctx,
1682
+ const ASN1_ITEM *it,
1683
+ const void *data,
1684
+ const X509_ALGOR *a,
1685
+ const ASN1_BIT_STRING *sig,
1686
+ EVP_PKEY *pkey),
1687
+ int (*item_sign) (EVP_MD_CTX *ctx,
1688
+ const ASN1_ITEM *it,
1689
+ const void *data,
1690
+ X509_ALGOR *alg1,
1691
+ X509_ALGOR *alg2,
1692
+ ASN1_BIT_STRING *sig));
1693
+
1694
+ void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth,
1695
+ int (*siginf_set) (X509_SIG_INFO *siginf,
1696
+ const X509_ALGOR *alg,
1697
+ const ASN1_STRING *sig));
1698
+
1699
+ void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
1700
+ int (*pkey_check) (const EVP_PKEY *pk));
1701
+
1702
+ void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
1703
+ int (*pkey_pub_check) (const EVP_PKEY *pk));
1704
+
1705
+ void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
1706
+ int (*pkey_param_check) (const EVP_PKEY *pk));
1707
+
1708
+ void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth,
1709
+ int (*set_priv_key) (EVP_PKEY *pk,
1710
+ const unsigned char
1711
+ *priv,
1712
+ size_t len));
1713
+ void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth,
1714
+ int (*set_pub_key) (EVP_PKEY *pk,
1715
+ const unsigned char *pub,
1716
+ size_t len));
1717
+ void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth,
1718
+ int (*get_priv_key) (const EVP_PKEY *pk,
1719
+ unsigned char *priv,
1720
+ size_t *len));
1721
+ void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth,
1722
+ int (*get_pub_key) (const EVP_PKEY *pk,
1723
+ unsigned char *pub,
1724
+ size_t *len));
1725
+
1726
+ void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
1727
+ int (*pkey_security_bits) (const EVP_PKEY
1728
+ *pk));
1729
+
1730
+ int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
1731
+ int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
1732
+
1733
+ int EVP_PKEY_CTX_set1_id(EVP_PKEY_CTX *ctx, const void *id, int len);
1734
+ int EVP_PKEY_CTX_get1_id(EVP_PKEY_CTX *ctx, void *id);
1735
+ int EVP_PKEY_CTX_get1_id_len(EVP_PKEY_CTX *ctx, size_t *id_len);
1736
+
1737
+ int EVP_PKEY_CTX_set_kem_op(EVP_PKEY_CTX *ctx, const char *op);
1738
+
1739
+ const char *EVP_PKEY_get0_type_name(const EVP_PKEY *key);
1740
+
1741
+ # define EVP_PKEY_OP_UNDEFINED 0
1742
+ # define EVP_PKEY_OP_PARAMGEN (1 << 1)
1743
+ # define EVP_PKEY_OP_KEYGEN (1 << 2)
1744
+ # define EVP_PKEY_OP_FROMDATA (1 << 3)
1745
+ # define EVP_PKEY_OP_SIGN (1 << 4)
1746
+ # define EVP_PKEY_OP_VERIFY (1 << 5)
1747
+ # define EVP_PKEY_OP_VERIFYRECOVER (1 << 6)
1748
+ # define EVP_PKEY_OP_SIGNCTX (1 << 7)
1749
+ # define EVP_PKEY_OP_VERIFYCTX (1 << 8)
1750
+ # define EVP_PKEY_OP_ENCRYPT (1 << 9)
1751
+ # define EVP_PKEY_OP_DECRYPT (1 << 10)
1752
+ # define EVP_PKEY_OP_DERIVE (1 << 11)
1753
+ # define EVP_PKEY_OP_ENCAPSULATE (1 << 12)
1754
+ # define EVP_PKEY_OP_DECAPSULATE (1 << 13)
1755
+ # define EVP_PKEY_OP_SIGNMSG (1 << 14)
1756
+ # define EVP_PKEY_OP_VERIFYMSG (1 << 15)
1757
+ /* Update the following when adding new EVP_PKEY_OPs */
1758
+ # define EVP_PKEY_OP_ALL ((1 << 16) - 1)
1759
+
1760
+ # define EVP_PKEY_OP_TYPE_SIG \
1761
+ (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_SIGNMSG \
1762
+ | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYMSG \
1763
+ | EVP_PKEY_OP_VERIFYRECOVER \
1764
+ | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX)
1765
+
1766
+ # define EVP_PKEY_OP_TYPE_CRYPT \
1767
+ (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT)
1768
+
1769
+ # define EVP_PKEY_OP_TYPE_DERIVE \
1770
+ (EVP_PKEY_OP_DERIVE)
1771
+
1772
+ # define EVP_PKEY_OP_TYPE_DATA \
1773
+ (EVP_PKEY_OP_FROMDATA)
1774
+
1775
+ # define EVP_PKEY_OP_TYPE_KEM \
1776
+ (EVP_PKEY_OP_ENCAPSULATE | EVP_PKEY_OP_DECAPSULATE)
1777
+
1778
+ # define EVP_PKEY_OP_TYPE_GEN \
1779
+ (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN)
1780
+
1781
+ # define EVP_PKEY_OP_TYPE_NOGEN \
1782
+ (EVP_PKEY_OP_ALL & ~EVP_PKEY_OP_TYPE_GEN)
1783
+
1784
+ int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, const unsigned char *key,
1785
+ int keylen);
1786
+
1787
+ # define EVP_PKEY_CTRL_MD 1
1788
+ # define EVP_PKEY_CTRL_PEER_KEY 2
1789
+ # define EVP_PKEY_CTRL_SET_MAC_KEY 6
1790
+ # define EVP_PKEY_CTRL_DIGESTINIT 7
1791
+ /* Used by GOST key encryption in TLS */
1792
+ # define EVP_PKEY_CTRL_SET_IV 8
1793
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1794
+ # define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3
1795
+ # define EVP_PKEY_CTRL_PKCS7_DECRYPT 4
1796
+ # define EVP_PKEY_CTRL_PKCS7_SIGN 5
1797
+ # define EVP_PKEY_CTRL_CMS_ENCRYPT 9
1798
+ # define EVP_PKEY_CTRL_CMS_DECRYPT 10
1799
+ # define EVP_PKEY_CTRL_CMS_SIGN 11
1800
+ # endif
1801
+ # define EVP_PKEY_CTRL_CIPHER 12
1802
+ # define EVP_PKEY_CTRL_GET_MD 13
1803
+ # define EVP_PKEY_CTRL_SET_DIGEST_SIZE 14
1804
+ # define EVP_PKEY_CTRL_SET1_ID 15
1805
+ # define EVP_PKEY_CTRL_GET1_ID 16
1806
+ # define EVP_PKEY_CTRL_GET1_ID_LEN 17
1807
+
1808
+ # define EVP_PKEY_ALG_CTRL 0x1000
1809
+
1810
+ # define EVP_PKEY_FLAG_AUTOARGLEN 2
1811
+ /*
1812
+ * Method handles all operations: don't assume any digest related defaults.
1813
+ */
1814
+ # define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4
1815
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1816
+ OSSL_DEPRECATEDIN_3_0 const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type);
1817
+ OSSL_DEPRECATEDIN_3_0 EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags);
1818
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags,
1819
+ const EVP_PKEY_METHOD *meth);
1820
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst,
1821
+ const EVP_PKEY_METHOD *src);
1822
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth);
1823
+ OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth);
1824
+ OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_meth_remove(const EVP_PKEY_METHOD *pmeth);
1825
+ OSSL_DEPRECATEDIN_3_0 size_t EVP_PKEY_meth_get_count(void);
1826
+ OSSL_DEPRECATEDIN_3_0 const EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx);
1827
+ # endif
1828
+
1829
+ EVP_KEYMGMT *EVP_KEYMGMT_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
1830
+ const char *properties);
1831
+ int EVP_KEYMGMT_up_ref(EVP_KEYMGMT *keymgmt);
1832
+ void EVP_KEYMGMT_free(EVP_KEYMGMT *keymgmt);
1833
+ const OSSL_PROVIDER *EVP_KEYMGMT_get0_provider(const EVP_KEYMGMT *keymgmt);
1834
+ const char *EVP_KEYMGMT_get0_name(const EVP_KEYMGMT *keymgmt);
1835
+ const char *EVP_KEYMGMT_get0_description(const EVP_KEYMGMT *keymgmt);
1836
+ int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name);
1837
+ void EVP_KEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx,
1838
+ void (*fn)(EVP_KEYMGMT *keymgmt, void *arg),
1839
+ void *arg);
1840
+ int EVP_KEYMGMT_names_do_all(const EVP_KEYMGMT *keymgmt,
1841
+ void (*fn)(const char *name, void *data),
1842
+ void *data);
1843
+ const OSSL_PARAM *EVP_KEYMGMT_gettable_params(const EVP_KEYMGMT *keymgmt);
1844
+ const OSSL_PARAM *EVP_KEYMGMT_settable_params(const EVP_KEYMGMT *keymgmt);
1845
+ const OSSL_PARAM *EVP_KEYMGMT_gen_settable_params(const EVP_KEYMGMT *keymgmt);
1846
+ const OSSL_PARAM *EVP_KEYMGMT_gen_gettable_params(const EVP_KEYMGMT *keymgmt);
1847
+
1848
+ EVP_SKEYMGMT *EVP_SKEYMGMT_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
1849
+ const char *properties);
1850
+ int EVP_SKEYMGMT_up_ref(EVP_SKEYMGMT *keymgmt);
1851
+ void EVP_SKEYMGMT_free(EVP_SKEYMGMT *keymgmt);
1852
+ const OSSL_PROVIDER *EVP_SKEYMGMT_get0_provider(const EVP_SKEYMGMT *keymgmt);
1853
+ const char *EVP_SKEYMGMT_get0_name(const EVP_SKEYMGMT *keymgmt);
1854
+ const char *EVP_SKEYMGMT_get0_description(const EVP_SKEYMGMT *keymgmt);
1855
+ int EVP_SKEYMGMT_is_a(const EVP_SKEYMGMT *keymgmt, const char *name);
1856
+ void EVP_SKEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx,
1857
+ void (*fn)(EVP_SKEYMGMT *keymgmt, void *arg),
1858
+ void *arg);
1859
+ int EVP_SKEYMGMT_names_do_all(const EVP_SKEYMGMT *keymgmt,
1860
+ void (*fn)(const char *name, void *data),
1861
+ void *data);
1862
+ const OSSL_PARAM *EVP_SKEYMGMT_get0_gen_settable_params(const EVP_SKEYMGMT *skeymgmt);
1863
+ const OSSL_PARAM *EVP_SKEYMGMT_get0_imp_settable_params(const EVP_SKEYMGMT *skeymgmt);
1864
+
1865
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e);
1866
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e);
1867
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX *libctx,
1868
+ const char *name,
1869
+ const char *propquery);
1870
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_pkey(OSSL_LIB_CTX *libctx,
1871
+ EVP_PKEY *pkey, const char *propquery);
1872
+ EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx);
1873
+ void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);
1874
+ int EVP_PKEY_CTX_is_a(EVP_PKEY_CTX *ctx, const char *keytype);
1875
+
1876
+ int EVP_PKEY_CTX_get_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params);
1877
+ const OSSL_PARAM *EVP_PKEY_CTX_gettable_params(const EVP_PKEY_CTX *ctx);
1878
+ int EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, const OSSL_PARAM *params);
1879
+ const OSSL_PARAM *EVP_PKEY_CTX_settable_params(const EVP_PKEY_CTX *ctx);
1880
+
1881
+ int EVP_PKEY_CTX_set_algor_params(EVP_PKEY_CTX *ctx, const X509_ALGOR *alg);
1882
+ int EVP_PKEY_CTX_get_algor_params(EVP_PKEY_CTX *ctx, X509_ALGOR *alg);
1883
+ int EVP_PKEY_CTX_get_algor(EVP_PKEY_CTX *ctx, X509_ALGOR **alg);
1884
+
1885
+ int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,
1886
+ int cmd, int p1, void *p2);
1887
+ int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
1888
+ const char *value);
1889
+ int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype,
1890
+ int cmd, uint64_t value);
1891
+
1892
+ int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str);
1893
+ int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex);
1894
+
1895
+ int EVP_PKEY_CTX_md(EVP_PKEY_CTX *ctx, int optype, int cmd, const char *md);
1896
+
1897
+ int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx);
1898
+ void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen);
1899
+
1900
+ EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e,
1901
+ const unsigned char *key, int keylen);
1902
+ EVP_PKEY *EVP_PKEY_new_raw_private_key_ex(OSSL_LIB_CTX *libctx,
1903
+ const char *keytype,
1904
+ const char *propq,
1905
+ const unsigned char *priv, size_t len);
1906
+ EVP_PKEY *EVP_PKEY_new_raw_private_key(int type, ENGINE *e,
1907
+ const unsigned char *priv,
1908
+ size_t len);
1909
+ EVP_PKEY *EVP_PKEY_new_raw_public_key_ex(OSSL_LIB_CTX *libctx,
1910
+ const char *keytype, const char *propq,
1911
+ const unsigned char *pub, size_t len);
1912
+ EVP_PKEY *EVP_PKEY_new_raw_public_key(int type, ENGINE *e,
1913
+ const unsigned char *pub,
1914
+ size_t len);
1915
+ int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char *priv,
1916
+ size_t *len);
1917
+ int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char *pub,
1918
+ size_t *len);
1919
+
1920
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
1921
+ OSSL_DEPRECATEDIN_3_0
1922
+ EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv,
1923
+ size_t len, const EVP_CIPHER *cipher);
1924
+ # endif
1925
+
1926
+ void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data);
1927
+ void *EVP_PKEY_CTX_get_data(const EVP_PKEY_CTX *ctx);
1928
+ EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx);
1929
+
1930
+ EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx);
1931
+
1932
+ void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data);
1933
+ void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx);
1934
+
1935
+ int EVP_PKEY_CTX_set_signature(EVP_PKEY_CTX *pctx,
1936
+ const unsigned char *sig, size_t siglen);
1937
+
1938
+ void EVP_SIGNATURE_free(EVP_SIGNATURE *signature);
1939
+ int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature);
1940
+ OSSL_PROVIDER *EVP_SIGNATURE_get0_provider(const EVP_SIGNATURE *signature);
1941
+ EVP_SIGNATURE *EVP_SIGNATURE_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
1942
+ const char *properties);
1943
+ int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name);
1944
+ const char *EVP_SIGNATURE_get0_name(const EVP_SIGNATURE *signature);
1945
+ const char *EVP_SIGNATURE_get0_description(const EVP_SIGNATURE *signature);
1946
+ void EVP_SIGNATURE_do_all_provided(OSSL_LIB_CTX *libctx,
1947
+ void (*fn)(EVP_SIGNATURE *signature,
1948
+ void *data),
1949
+ void *data);
1950
+ int EVP_SIGNATURE_names_do_all(const EVP_SIGNATURE *signature,
1951
+ void (*fn)(const char *name, void *data),
1952
+ void *data);
1953
+ const OSSL_PARAM *EVP_SIGNATURE_gettable_ctx_params(const EVP_SIGNATURE *sig);
1954
+ const OSSL_PARAM *EVP_SIGNATURE_settable_ctx_params(const EVP_SIGNATURE *sig);
1955
+
1956
+ void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher);
1957
+ int EVP_ASYM_CIPHER_up_ref(EVP_ASYM_CIPHER *cipher);
1958
+ OSSL_PROVIDER *EVP_ASYM_CIPHER_get0_provider(const EVP_ASYM_CIPHER *cipher);
1959
+ EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
1960
+ const char *properties);
1961
+ int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char *name);
1962
+ const char *EVP_ASYM_CIPHER_get0_name(const EVP_ASYM_CIPHER *cipher);
1963
+ const char *EVP_ASYM_CIPHER_get0_description(const EVP_ASYM_CIPHER *cipher);
1964
+ void EVP_ASYM_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,
1965
+ void (*fn)(EVP_ASYM_CIPHER *cipher,
1966
+ void *arg),
1967
+ void *arg);
1968
+ int EVP_ASYM_CIPHER_names_do_all(const EVP_ASYM_CIPHER *cipher,
1969
+ void (*fn)(const char *name, void *data),
1970
+ void *data);
1971
+ const OSSL_PARAM *EVP_ASYM_CIPHER_gettable_ctx_params(const EVP_ASYM_CIPHER *ciph);
1972
+ const OSSL_PARAM *EVP_ASYM_CIPHER_settable_ctx_params(const EVP_ASYM_CIPHER *ciph);
1973
+
1974
+ void EVP_KEM_free(EVP_KEM *wrap);
1975
+ int EVP_KEM_up_ref(EVP_KEM *wrap);
1976
+ OSSL_PROVIDER *EVP_KEM_get0_provider(const EVP_KEM *wrap);
1977
+ EVP_KEM *EVP_KEM_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
1978
+ const char *properties);
1979
+ int EVP_KEM_is_a(const EVP_KEM *wrap, const char *name);
1980
+ const char *EVP_KEM_get0_name(const EVP_KEM *wrap);
1981
+ const char *EVP_KEM_get0_description(const EVP_KEM *wrap);
1982
+ void EVP_KEM_do_all_provided(OSSL_LIB_CTX *libctx,
1983
+ void (*fn)(EVP_KEM *wrap, void *arg), void *arg);
1984
+ int EVP_KEM_names_do_all(const EVP_KEM *wrap,
1985
+ void (*fn)(const char *name, void *data), void *data);
1986
+ const OSSL_PARAM *EVP_KEM_gettable_ctx_params(const EVP_KEM *kem);
1987
+ const OSSL_PARAM *EVP_KEM_settable_ctx_params(const EVP_KEM *kem);
1988
+
1989
+ int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx);
1990
+ int EVP_PKEY_sign_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
1991
+ int EVP_PKEY_sign_init_ex2(EVP_PKEY_CTX *ctx,
1992
+ EVP_SIGNATURE *algo, const OSSL_PARAM params[]);
1993
+ int EVP_PKEY_sign(EVP_PKEY_CTX *ctx,
1994
+ unsigned char *sig, size_t *siglen,
1995
+ const unsigned char *tbs, size_t tbslen);
1996
+ int EVP_PKEY_sign_message_init(EVP_PKEY_CTX *ctx,
1997
+ EVP_SIGNATURE *algo, const OSSL_PARAM params[]);
1998
+ int EVP_PKEY_sign_message_update(EVP_PKEY_CTX *ctx,
1999
+ const unsigned char *in, size_t inlen);
2000
+ int EVP_PKEY_sign_message_final(EVP_PKEY_CTX *ctx,
2001
+ unsigned char *sig, size_t *siglen);
2002
+ int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx);
2003
+ int EVP_PKEY_verify_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
2004
+ int EVP_PKEY_verify_init_ex2(EVP_PKEY_CTX *ctx,
2005
+ EVP_SIGNATURE *algo, const OSSL_PARAM params[]);
2006
+ int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,
2007
+ const unsigned char *sig, size_t siglen,
2008
+ const unsigned char *tbs, size_t tbslen);
2009
+ int EVP_PKEY_verify_message_init(EVP_PKEY_CTX *ctx,
2010
+ EVP_SIGNATURE *algo, const OSSL_PARAM params[]);
2011
+ int EVP_PKEY_verify_message_update(EVP_PKEY_CTX *ctx,
2012
+ const unsigned char *in, size_t inlen);
2013
+ int EVP_PKEY_verify_message_final(EVP_PKEY_CTX *ctx);
2014
+ int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx);
2015
+ int EVP_PKEY_verify_recover_init_ex(EVP_PKEY_CTX *ctx,
2016
+ const OSSL_PARAM params[]);
2017
+ int EVP_PKEY_verify_recover_init_ex2(EVP_PKEY_CTX *ctx,
2018
+ EVP_SIGNATURE *algo,
2019
+ const OSSL_PARAM params[]);
2020
+ int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,
2021
+ unsigned char *rout, size_t *routlen,
2022
+ const unsigned char *sig, size_t siglen);
2023
+ int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx);
2024
+ int EVP_PKEY_encrypt_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
2025
+ int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx,
2026
+ unsigned char *out, size_t *outlen,
2027
+ const unsigned char *in, size_t inlen);
2028
+ int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx);
2029
+ int EVP_PKEY_decrypt_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
2030
+ int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx,
2031
+ unsigned char *out, size_t *outlen,
2032
+ const unsigned char *in, size_t inlen);
2033
+
2034
+ int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx);
2035
+ int EVP_PKEY_derive_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
2036
+ int EVP_PKEY_derive_set_peer_ex(EVP_PKEY_CTX *ctx, EVP_PKEY *peer,
2037
+ int validate_peer);
2038
+ int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer);
2039
+ int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
2040
+
2041
+ int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
2042
+ int EVP_PKEY_auth_encapsulate_init(EVP_PKEY_CTX *ctx, EVP_PKEY *authpriv,
2043
+ const OSSL_PARAM params[]);
2044
+ int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx,
2045
+ unsigned char *wrappedkey, size_t *wrappedkeylen,
2046
+ unsigned char *genkey, size_t *genkeylen);
2047
+ int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
2048
+ int EVP_PKEY_auth_decapsulate_init(EVP_PKEY_CTX *ctx, EVP_PKEY *authpub,
2049
+ const OSSL_PARAM params[]);
2050
+ int EVP_PKEY_decapsulate(EVP_PKEY_CTX *ctx,
2051
+ unsigned char *unwrapped, size_t *unwrappedlen,
2052
+ const unsigned char *wrapped, size_t wrappedlen);
2053
+ typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx);
2054
+
2055
+ int EVP_PKEY_fromdata_init(EVP_PKEY_CTX *ctx);
2056
+ int EVP_PKEY_fromdata(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey, int selection,
2057
+ OSSL_PARAM param[]);
2058
+ const OSSL_PARAM *EVP_PKEY_fromdata_settable(EVP_PKEY_CTX *ctx, int selection);
2059
+
2060
+ int EVP_PKEY_todata(const EVP_PKEY *pkey, int selection, OSSL_PARAM **params);
2061
+ int EVP_PKEY_export(const EVP_PKEY *pkey, int selection,
2062
+ OSSL_CALLBACK *export_cb, void *export_cbarg);
2063
+
2064
+ const OSSL_PARAM *EVP_PKEY_gettable_params(const EVP_PKEY *pkey);
2065
+ int EVP_PKEY_get_params(const EVP_PKEY *pkey, OSSL_PARAM params[]);
2066
+ int EVP_PKEY_get_int_param(const EVP_PKEY *pkey, const char *key_name,
2067
+ int *out);
2068
+ int EVP_PKEY_get_size_t_param(const EVP_PKEY *pkey, const char *key_name,
2069
+ size_t *out);
2070
+ int EVP_PKEY_get_bn_param(const EVP_PKEY *pkey, const char *key_name,
2071
+ BIGNUM **bn);
2072
+ int EVP_PKEY_get_utf8_string_param(const EVP_PKEY *pkey, const char *key_name,
2073
+ char *str, size_t max_buf_sz, size_t *out_sz);
2074
+ int EVP_PKEY_get_octet_string_param(const EVP_PKEY *pkey, const char *key_name,
2075
+ unsigned char *buf, size_t max_buf_sz,
2076
+ size_t *out_sz);
2077
+
2078
+ const OSSL_PARAM *EVP_PKEY_settable_params(const EVP_PKEY *pkey);
2079
+ int EVP_PKEY_set_params(EVP_PKEY *pkey, OSSL_PARAM params[]);
2080
+ int EVP_PKEY_set_int_param(EVP_PKEY *pkey, const char *key_name, int in);
2081
+ int EVP_PKEY_set_size_t_param(EVP_PKEY *pkey, const char *key_name, size_t in);
2082
+ int EVP_PKEY_set_bn_param(EVP_PKEY *pkey, const char *key_name,
2083
+ const BIGNUM *bn);
2084
+ int EVP_PKEY_set_utf8_string_param(EVP_PKEY *pkey, const char *key_name,
2085
+ const char *str);
2086
+ int EVP_PKEY_set_octet_string_param(EVP_PKEY *pkey, const char *key_name,
2087
+ const unsigned char *buf, size_t bsize);
2088
+
2089
+ int EVP_PKEY_get_ec_point_conv_form(const EVP_PKEY *pkey);
2090
+ int EVP_PKEY_get_field_type(const EVP_PKEY *pkey);
2091
+
2092
+ EVP_PKEY *EVP_PKEY_Q_keygen(OSSL_LIB_CTX *libctx, const char *propq,
2093
+ const char *type, ...);
2094
+ int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx);
2095
+ int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
2096
+ int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx);
2097
+ int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
2098
+ int EVP_PKEY_generate(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
2099
+ int EVP_PKEY_check(EVP_PKEY_CTX *ctx);
2100
+ int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx);
2101
+ int EVP_PKEY_public_check_quick(EVP_PKEY_CTX *ctx);
2102
+ int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx);
2103
+ int EVP_PKEY_param_check_quick(EVP_PKEY_CTX *ctx);
2104
+ int EVP_PKEY_private_check(EVP_PKEY_CTX *ctx);
2105
+ int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx);
2106
+
2107
+ # define EVP_PKEY_get_ex_new_index(l, p, newf, dupf, freef) \
2108
+ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EVP_PKEY, l, p, newf, dupf, freef)
2109
+ int EVP_PKEY_set_ex_data(EVP_PKEY *key, int idx, void *arg);
2110
+ void *EVP_PKEY_get_ex_data(const EVP_PKEY *key, int idx);
2111
+
2112
+ void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb);
2113
+ EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx);
2114
+
2115
+ int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx);
2116
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
2117
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth,
2118
+ int (*init) (EVP_PKEY_CTX *ctx));
2119
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_copy
2120
+ (EVP_PKEY_METHOD *pmeth, int (*copy) (EVP_PKEY_CTX *dst,
2121
+ const EVP_PKEY_CTX *src));
2122
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_cleanup
2123
+ (EVP_PKEY_METHOD *pmeth, void (*cleanup) (EVP_PKEY_CTX *ctx));
2124
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_paramgen
2125
+ (EVP_PKEY_METHOD *pmeth, int (*paramgen_init) (EVP_PKEY_CTX *ctx),
2126
+ int (*paramgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
2127
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_keygen
2128
+ (EVP_PKEY_METHOD *pmeth, int (*keygen_init) (EVP_PKEY_CTX *ctx),
2129
+ int (*keygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
2130
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_sign
2131
+ (EVP_PKEY_METHOD *pmeth, int (*sign_init) (EVP_PKEY_CTX *ctx),
2132
+ int (*sign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
2133
+ const unsigned char *tbs, size_t tbslen));
2134
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_verify
2135
+ (EVP_PKEY_METHOD *pmeth, int (*verify_init) (EVP_PKEY_CTX *ctx),
2136
+ int (*verify) (EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen,
2137
+ const unsigned char *tbs, size_t tbslen));
2138
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_verify_recover
2139
+ (EVP_PKEY_METHOD *pmeth, int (*verify_recover_init) (EVP_PKEY_CTX *ctx),
2140
+ int (*verify_recover) (EVP_PKEY_CTX *ctx, unsigned char *sig,
2141
+ size_t *siglen, const unsigned char *tbs,
2142
+ size_t tbslen));
2143
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_signctx
2144
+ (EVP_PKEY_METHOD *pmeth, int (*signctx_init) (EVP_PKEY_CTX *ctx,
2145
+ EVP_MD_CTX *mctx),
2146
+ int (*signctx) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
2147
+ EVP_MD_CTX *mctx));
2148
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_verifyctx
2149
+ (EVP_PKEY_METHOD *pmeth, int (*verifyctx_init) (EVP_PKEY_CTX *ctx,
2150
+ EVP_MD_CTX *mctx),
2151
+ int (*verifyctx) (EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen,
2152
+ EVP_MD_CTX *mctx));
2153
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_encrypt
2154
+ (EVP_PKEY_METHOD *pmeth, int (*encrypt_init) (EVP_PKEY_CTX *ctx),
2155
+ int (*encryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
2156
+ const unsigned char *in, size_t inlen));
2157
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_decrypt
2158
+ (EVP_PKEY_METHOD *pmeth, int (*decrypt_init) (EVP_PKEY_CTX *ctx),
2159
+ int (*decrypt) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
2160
+ const unsigned char *in, size_t inlen));
2161
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_derive
2162
+ (EVP_PKEY_METHOD *pmeth, int (*derive_init) (EVP_PKEY_CTX *ctx),
2163
+ int (*derive) (EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen));
2164
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_ctrl
2165
+ (EVP_PKEY_METHOD *pmeth, int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1,
2166
+ void *p2),
2167
+ int (*ctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value));
2168
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_digestsign
2169
+ (EVP_PKEY_METHOD *pmeth,
2170
+ int (*digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen,
2171
+ const unsigned char *tbs, size_t tbslen));
2172
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_digestverify
2173
+ (EVP_PKEY_METHOD *pmeth,
2174
+ int (*digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig,
2175
+ size_t siglen, const unsigned char *tbs,
2176
+ size_t tbslen));
2177
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_check
2178
+ (EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey));
2179
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_public_check
2180
+ (EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey));
2181
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_param_check
2182
+ (EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey));
2183
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_digest_custom
2184
+ (EVP_PKEY_METHOD *pmeth, int (*digest_custom) (EVP_PKEY_CTX *ctx,
2185
+ EVP_MD_CTX *mctx));
2186
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_init
2187
+ (const EVP_PKEY_METHOD *pmeth, int (**pinit) (EVP_PKEY_CTX *ctx));
2188
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_copy
2189
+ (const EVP_PKEY_METHOD *pmeth, int (**pcopy) (EVP_PKEY_CTX *dst,
2190
+ const EVP_PKEY_CTX *src));
2191
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_cleanup
2192
+ (const EVP_PKEY_METHOD *pmeth, void (**pcleanup) (EVP_PKEY_CTX *ctx));
2193
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_paramgen
2194
+ (const EVP_PKEY_METHOD *pmeth, int (**pparamgen_init) (EVP_PKEY_CTX *ctx),
2195
+ int (**pparamgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
2196
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_keygen
2197
+ (const EVP_PKEY_METHOD *pmeth, int (**pkeygen_init) (EVP_PKEY_CTX *ctx),
2198
+ int (**pkeygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
2199
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_sign
2200
+ (const EVP_PKEY_METHOD *pmeth, int (**psign_init) (EVP_PKEY_CTX *ctx),
2201
+ int (**psign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
2202
+ const unsigned char *tbs, size_t tbslen));
2203
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_verify
2204
+ (const EVP_PKEY_METHOD *pmeth, int (**pverify_init) (EVP_PKEY_CTX *ctx),
2205
+ int (**pverify) (EVP_PKEY_CTX *ctx, const unsigned char *sig,
2206
+ size_t siglen, const unsigned char *tbs, size_t tbslen));
2207
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_verify_recover
2208
+ (const EVP_PKEY_METHOD *pmeth,
2209
+ int (**pverify_recover_init) (EVP_PKEY_CTX *ctx),
2210
+ int (**pverify_recover) (EVP_PKEY_CTX *ctx, unsigned char *sig,
2211
+ size_t *siglen, const unsigned char *tbs,
2212
+ size_t tbslen));
2213
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_signctx
2214
+ (const EVP_PKEY_METHOD *pmeth,
2215
+ int (**psignctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx),
2216
+ int (**psignctx) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
2217
+ EVP_MD_CTX *mctx));
2218
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_verifyctx
2219
+ (const EVP_PKEY_METHOD *pmeth,
2220
+ int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx),
2221
+ int (**pverifyctx) (EVP_PKEY_CTX *ctx, const unsigned char *sig,
2222
+ int siglen, EVP_MD_CTX *mctx));
2223
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_encrypt
2224
+ (const EVP_PKEY_METHOD *pmeth, int (**pencrypt_init) (EVP_PKEY_CTX *ctx),
2225
+ int (**pencryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
2226
+ const unsigned char *in, size_t inlen));
2227
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_decrypt
2228
+ (const EVP_PKEY_METHOD *pmeth, int (**pdecrypt_init) (EVP_PKEY_CTX *ctx),
2229
+ int (**pdecrypt) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
2230
+ const unsigned char *in, size_t inlen));
2231
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_derive
2232
+ (const EVP_PKEY_METHOD *pmeth, int (**pderive_init) (EVP_PKEY_CTX *ctx),
2233
+ int (**pderive) (EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen));
2234
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_ctrl
2235
+ (const EVP_PKEY_METHOD *pmeth,
2236
+ int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, void *p2),
2237
+ int (**pctrl_str) (EVP_PKEY_CTX *ctx, const char *type,
2238
+ const char *value));
2239
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_digestsign
2240
+ (const EVP_PKEY_METHOD *pmeth,
2241
+ int (**digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen,
2242
+ const unsigned char *tbs, size_t tbslen));
2243
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_digestverify
2244
+ (const EVP_PKEY_METHOD *pmeth,
2245
+ int (**digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig,
2246
+ size_t siglen, const unsigned char *tbs,
2247
+ size_t tbslen));
2248
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_check
2249
+ (const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey));
2250
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_public_check
2251
+ (const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey));
2252
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_param_check
2253
+ (const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey));
2254
+ OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_digest_custom
2255
+ (const EVP_PKEY_METHOD *pmeth,
2256
+ int (**pdigest_custom) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx));
2257
+ # endif
2258
+
2259
+ void EVP_KEYEXCH_free(EVP_KEYEXCH *exchange);
2260
+ int EVP_KEYEXCH_up_ref(EVP_KEYEXCH *exchange);
2261
+ EVP_KEYEXCH *EVP_KEYEXCH_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
2262
+ const char *properties);
2263
+ OSSL_PROVIDER *EVP_KEYEXCH_get0_provider(const EVP_KEYEXCH *exchange);
2264
+ int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *keyexch, const char *name);
2265
+ const char *EVP_KEYEXCH_get0_name(const EVP_KEYEXCH *keyexch);
2266
+ const char *EVP_KEYEXCH_get0_description(const EVP_KEYEXCH *keyexch);
2267
+ void EVP_KEYEXCH_do_all_provided(OSSL_LIB_CTX *libctx,
2268
+ void (*fn)(EVP_KEYEXCH *keyexch, void *data),
2269
+ void *data);
2270
+ int EVP_KEYEXCH_names_do_all(const EVP_KEYEXCH *keyexch,
2271
+ void (*fn)(const char *name, void *data),
2272
+ void *data);
2273
+ const OSSL_PARAM *EVP_KEYEXCH_gettable_ctx_params(const EVP_KEYEXCH *keyexch);
2274
+ const OSSL_PARAM *EVP_KEYEXCH_settable_ctx_params(const EVP_KEYEXCH *keyexch);
2275
+
2276
+ void EVP_add_alg_module(void);
2277
+
2278
+ int EVP_PKEY_CTX_set_group_name(EVP_PKEY_CTX *ctx, const char *name);
2279
+ int EVP_PKEY_CTX_get_group_name(EVP_PKEY_CTX *ctx, char *name, size_t namelen);
2280
+ int EVP_PKEY_get_group_name(const EVP_PKEY *pkey, char *name, size_t name_sz,
2281
+ size_t *gname_len);
2282
+
2283
+ OSSL_LIB_CTX *EVP_PKEY_CTX_get0_libctx(EVP_PKEY_CTX *ctx);
2284
+ const char *EVP_PKEY_CTX_get0_propq(const EVP_PKEY_CTX *ctx);
2285
+ const OSSL_PROVIDER *EVP_PKEY_CTX_get0_provider(const EVP_PKEY_CTX *ctx);
2286
+
2287
+ int EVP_SKEY_is_a(const EVP_SKEY *skey, const char *name);
2288
+ EVP_SKEY *EVP_SKEY_import(OSSL_LIB_CTX *libctx, const char *skeymgmtname, const char *propquery,
2289
+ int selection, const OSSL_PARAM *params);
2290
+ EVP_SKEY *EVP_SKEY_generate(OSSL_LIB_CTX *libctx, const char *skeymgmtname,
2291
+ const char *propquery, const OSSL_PARAM *params);
2292
+ EVP_SKEY *EVP_SKEY_import_raw_key(OSSL_LIB_CTX *libctx, const char *skeymgmtname,
2293
+ unsigned char *key, size_t keylen,
2294
+ const char *propquery);
2295
+ int EVP_SKEY_get0_raw_key(const EVP_SKEY *skey, const unsigned char **key,
2296
+ size_t *len);
2297
+ const char *EVP_SKEY_get0_key_id(const EVP_SKEY *skey);
2298
+ int EVP_SKEY_export(const EVP_SKEY *skey, int selection,
2299
+ OSSL_CALLBACK *export_cb, void *export_cbarg);
2300
+ int EVP_SKEY_up_ref(EVP_SKEY *skey);
2301
+ void EVP_SKEY_free(EVP_SKEY *skey);
2302
+ const char *EVP_SKEY_get0_skeymgmt_name(const EVP_SKEY *skey);
2303
+ const char *EVP_SKEY_get0_provider_name(const EVP_SKEY *skey);
2304
+ EVP_SKEY *EVP_SKEY_to_provider(EVP_SKEY *skey, OSSL_LIB_CTX *libctx,
2305
+ OSSL_PROVIDER *prov, const char *propquery);
2306
+
2307
+ # ifdef __cplusplus
2308
+ }
2309
+ # endif
2310
+ #endif