1 /* This is a generated file, edit the .stub.php file instead. 2 * Stub hash: 1d75807de20b87cd274e6073ef9c9392a34f7279 */ 3 4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_aes256gcm_is_available, 0, 0, _IS_BOOL, 0) 5 ZEND_END_ARG_INFO() 6 7 #if defined(HAVE_AESGCM) 8 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_aead_aes256gcm_decrypt, 0, 4, MAY_BE_STRING|MAY_BE_FALSE) 9 ZEND_ARG_TYPE_INFO(0, ciphertext, IS_STRING, 0) 10 ZEND_ARG_TYPE_INFO(0, additional_data, IS_STRING, 0) 11 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 12 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 13 ZEND_END_ARG_INFO() 14 #endif 15 16 #if defined(HAVE_AESGCM) 17 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_aes256gcm_encrypt, 0, 4, IS_STRING, 0) 18 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 19 ZEND_ARG_TYPE_INFO(0, additional_data, IS_STRING, 0) 20 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 21 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 22 ZEND_END_ARG_INFO() 23 #endif 24 25 #if defined(HAVE_AESGCM) 26 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_aes256gcm_keygen, 0, 0, IS_STRING, 0) 27 ZEND_END_ARG_INFO() 28 #endif 29 30 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_aead_chacha20poly1305_decrypt, 0, 4, MAY_BE_STRING|MAY_BE_FALSE) 31 ZEND_ARG_TYPE_INFO(0, ciphertext, IS_STRING, 0) 32 ZEND_ARG_TYPE_INFO(0, additional_data, IS_STRING, 0) 33 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 34 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 35 ZEND_END_ARG_INFO() 36 37 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_chacha20poly1305_encrypt, 0, 4, IS_STRING, 0) 38 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 39 ZEND_ARG_TYPE_INFO(0, additional_data, IS_STRING, 0) 40 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 41 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 42 ZEND_END_ARG_INFO() 43 44 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_chacha20poly1305_keygen, 0, 0, IS_STRING, 0) 45 ZEND_END_ARG_INFO() 46 47 #define arginfo_sodium_crypto_aead_chacha20poly1305_ietf_decrypt arginfo_sodium_crypto_aead_chacha20poly1305_decrypt 48 49 #define arginfo_sodium_crypto_aead_chacha20poly1305_ietf_encrypt arginfo_sodium_crypto_aead_chacha20poly1305_encrypt 50 51 #define arginfo_sodium_crypto_aead_chacha20poly1305_ietf_keygen arginfo_sodium_crypto_aead_chacha20poly1305_keygen 52 53 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 54 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_aead_xchacha20poly1305_ietf_decrypt, 0, 4, MAY_BE_STRING|MAY_BE_FALSE) 55 ZEND_ARG_TYPE_INFO(0, ciphertext, IS_STRING, 0) 56 ZEND_ARG_TYPE_INFO(0, additional_data, IS_STRING, 0) 57 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 58 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 59 ZEND_END_ARG_INFO() 60 #endif 61 62 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 63 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_xchacha20poly1305_ietf_keygen, 0, 0, IS_STRING, 0) 64 ZEND_END_ARG_INFO() 65 #endif 66 67 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 68 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_xchacha20poly1305_ietf_encrypt, 0, 4, IS_STRING, 0) 69 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 70 ZEND_ARG_TYPE_INFO(0, additional_data, IS_STRING, 0) 71 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 72 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 73 ZEND_END_ARG_INFO() 74 #endif 75 76 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_auth, 0, 2, IS_STRING, 0) 77 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 78 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 79 ZEND_END_ARG_INFO() 80 81 #define arginfo_sodium_crypto_auth_keygen arginfo_sodium_crypto_aead_chacha20poly1305_keygen 82 83 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_auth_verify, 0, 3, _IS_BOOL, 0) 84 ZEND_ARG_TYPE_INFO(0, mac, IS_STRING, 0) 85 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 86 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 87 ZEND_END_ARG_INFO() 88 89 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_box, 0, 3, IS_STRING, 0) 90 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 91 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 92 ZEND_ARG_TYPE_INFO(0, key_pair, IS_STRING, 0) 93 ZEND_END_ARG_INFO() 94 95 #define arginfo_sodium_crypto_box_keypair arginfo_sodium_crypto_aead_chacha20poly1305_keygen 96 97 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_box_seed_keypair, 0, 1, IS_STRING, 0) 98 ZEND_ARG_TYPE_INFO(0, seed, IS_STRING, 0) 99 ZEND_END_ARG_INFO() 100 101 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_box_keypair_from_secretkey_and_publickey, 0, 2, IS_STRING, 0) 102 ZEND_ARG_TYPE_INFO(0, secret_key, IS_STRING, 0) 103 ZEND_ARG_TYPE_INFO(0, public_key, IS_STRING, 0) 104 ZEND_END_ARG_INFO() 105 106 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_box_open, 0, 3, MAY_BE_STRING|MAY_BE_FALSE) 107 ZEND_ARG_TYPE_INFO(0, ciphertext, IS_STRING, 0) 108 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 109 ZEND_ARG_TYPE_INFO(0, key_pair, IS_STRING, 0) 110 ZEND_END_ARG_INFO() 111 112 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_box_publickey, 0, 1, IS_STRING, 0) 113 ZEND_ARG_TYPE_INFO(0, key_pair, IS_STRING, 0) 114 ZEND_END_ARG_INFO() 115 116 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_box_publickey_from_secretkey, 0, 1, IS_STRING, 0) 117 ZEND_ARG_TYPE_INFO(0, secret_key, IS_STRING, 0) 118 ZEND_END_ARG_INFO() 119 120 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_box_seal, 0, 2, IS_STRING, 0) 121 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 122 ZEND_ARG_TYPE_INFO(0, public_key, IS_STRING, 0) 123 ZEND_END_ARG_INFO() 124 125 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_box_seal_open, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) 126 ZEND_ARG_TYPE_INFO(0, ciphertext, IS_STRING, 0) 127 ZEND_ARG_TYPE_INFO(0, key_pair, IS_STRING, 0) 128 ZEND_END_ARG_INFO() 129 130 #define arginfo_sodium_crypto_box_secretkey arginfo_sodium_crypto_box_publickey 131 132 #define arginfo_sodium_crypto_kx_keypair arginfo_sodium_crypto_aead_chacha20poly1305_keygen 133 134 #define arginfo_sodium_crypto_kx_publickey arginfo_sodium_crypto_box_publickey 135 136 #define arginfo_sodium_crypto_kx_secretkey arginfo_sodium_crypto_box_publickey 137 138 #define arginfo_sodium_crypto_kx_seed_keypair arginfo_sodium_crypto_box_seed_keypair 139 140 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_kx_client_session_keys, 0, 2, IS_ARRAY, 0) 141 ZEND_ARG_TYPE_INFO(0, client_key_pair, IS_STRING, 0) 142 ZEND_ARG_TYPE_INFO(0, server_key, IS_STRING, 0) 143 ZEND_END_ARG_INFO() 144 145 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_kx_server_session_keys, 0, 2, IS_ARRAY, 0) 146 ZEND_ARG_TYPE_INFO(0, server_key_pair, IS_STRING, 0) 147 ZEND_ARG_TYPE_INFO(0, client_key, IS_STRING, 0) 148 ZEND_END_ARG_INFO() 149 150 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_generichash, 0, 1, IS_STRING, 0) 151 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 152 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, key, IS_STRING, 0, "\"\"") 153 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 0, "SODIUM_CRYPTO_GENERICHASH_BYTES") 154 ZEND_END_ARG_INFO() 155 156 #define arginfo_sodium_crypto_generichash_keygen arginfo_sodium_crypto_aead_chacha20poly1305_keygen 157 158 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_generichash_init, 0, 0, IS_STRING, 0) 159 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, key, IS_STRING, 0, "\"\"") 160 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 0, "SODIUM_CRYPTO_GENERICHASH_BYTES") 161 ZEND_END_ARG_INFO() 162 163 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_generichash_update, 0, 2, _IS_BOOL, 0) 164 ZEND_ARG_TYPE_INFO(1, state, IS_STRING, 0) 165 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 166 ZEND_END_ARG_INFO() 167 168 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_generichash_final, 0, 1, IS_STRING, 0) 169 ZEND_ARG_TYPE_INFO(1, state, IS_STRING, 0) 170 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 0, "SODIUM_CRYPTO_GENERICHASH_BYTES") 171 ZEND_END_ARG_INFO() 172 173 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_kdf_derive_from_key, 0, 4, IS_STRING, 0) 174 ZEND_ARG_TYPE_INFO(0, subkey_length, IS_LONG, 0) 175 ZEND_ARG_TYPE_INFO(0, subkey_id, IS_LONG, 0) 176 ZEND_ARG_TYPE_INFO(0, context, IS_STRING, 0) 177 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 178 ZEND_END_ARG_INFO() 179 180 #define arginfo_sodium_crypto_kdf_keygen arginfo_sodium_crypto_aead_chacha20poly1305_keygen 181 182 #if defined(crypto_pwhash_SALTBYTES) 183 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_pwhash, 0, 5, IS_STRING, 0) 184 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 185 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) 186 ZEND_ARG_TYPE_INFO(0, salt, IS_STRING, 0) 187 ZEND_ARG_TYPE_INFO(0, opslimit, IS_LONG, 0) 188 ZEND_ARG_TYPE_INFO(0, memlimit, IS_LONG, 0) 189 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, algo, IS_LONG, 0, "SODIUM_CRYPTO_PWHASH_ALG_DEFAULT") 190 ZEND_END_ARG_INFO() 191 #endif 192 193 #if defined(crypto_pwhash_SALTBYTES) 194 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_pwhash_str, 0, 3, IS_STRING, 0) 195 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) 196 ZEND_ARG_TYPE_INFO(0, opslimit, IS_LONG, 0) 197 ZEND_ARG_TYPE_INFO(0, memlimit, IS_LONG, 0) 198 ZEND_END_ARG_INFO() 199 #endif 200 201 #if defined(crypto_pwhash_SALTBYTES) 202 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_pwhash_str_verify, 0, 2, _IS_BOOL, 0) 203 ZEND_ARG_TYPE_INFO(0, hash, IS_STRING, 0) 204 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) 205 ZEND_END_ARG_INFO() 206 #endif 207 208 #if SODIUM_LIBRARY_VERSION_MAJOR > 9 || (SODIUM_LIBRARY_VERSION_MAJOR == 9 && SODIUM_LIBRARY_VERSION_MINOR >= 6) 209 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_pwhash_str_needs_rehash, 0, 3, _IS_BOOL, 0) 210 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) 211 ZEND_ARG_TYPE_INFO(0, opslimit, IS_LONG, 0) 212 ZEND_ARG_TYPE_INFO(0, memlimit, IS_LONG, 0) 213 ZEND_END_ARG_INFO() 214 #endif 215 216 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 217 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_pwhash_scryptsalsa208sha256, 0, 5, IS_STRING, 0) 218 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 219 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) 220 ZEND_ARG_TYPE_INFO(0, salt, IS_STRING, 0) 221 ZEND_ARG_TYPE_INFO(0, opslimit, IS_LONG, 0) 222 ZEND_ARG_TYPE_INFO(0, memlimit, IS_LONG, 0) 223 ZEND_END_ARG_INFO() 224 #endif 225 226 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 227 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_pwhash_scryptsalsa208sha256_str, 0, 3, IS_STRING, 0) 228 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) 229 ZEND_ARG_TYPE_INFO(0, opslimit, IS_LONG, 0) 230 ZEND_ARG_TYPE_INFO(0, memlimit, IS_LONG, 0) 231 ZEND_END_ARG_INFO() 232 #endif 233 234 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 235 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_pwhash_scryptsalsa208sha256_str_verify, 0, 2, _IS_BOOL, 0) 236 ZEND_ARG_TYPE_INFO(0, hash, IS_STRING, 0) 237 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) 238 ZEND_END_ARG_INFO() 239 #endif 240 241 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_scalarmult, 0, 2, IS_STRING, 0) 242 ZEND_ARG_TYPE_INFO(0, n, IS_STRING, 0) 243 ZEND_ARG_TYPE_INFO(0, p, IS_STRING, 0) 244 ZEND_END_ARG_INFO() 245 246 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_secretbox, 0, 3, IS_STRING, 0) 247 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 248 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 249 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 250 ZEND_END_ARG_INFO() 251 252 #define arginfo_sodium_crypto_secretbox_keygen arginfo_sodium_crypto_aead_chacha20poly1305_keygen 253 254 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_secretbox_open, 0, 3, MAY_BE_STRING|MAY_BE_FALSE) 255 ZEND_ARG_TYPE_INFO(0, ciphertext, IS_STRING, 0) 256 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 257 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 258 ZEND_END_ARG_INFO() 259 260 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 261 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_secretstream_xchacha20poly1305_keygen, 0, 0, IS_STRING, 0) 262 ZEND_END_ARG_INFO() 263 #endif 264 265 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 266 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_secretstream_xchacha20poly1305_init_push, 0, 1, IS_ARRAY, 0) 267 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 268 ZEND_END_ARG_INFO() 269 #endif 270 271 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 272 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_secretstream_xchacha20poly1305_push, 0, 2, IS_STRING, 0) 273 ZEND_ARG_TYPE_INFO(1, state, IS_STRING, 0) 274 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 275 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, additional_data, IS_STRING, 0, "\"\"") 276 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, tag, IS_LONG, 0, "SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE") 277 ZEND_END_ARG_INFO() 278 #endif 279 280 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 281 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_secretstream_xchacha20poly1305_init_pull, 0, 2, IS_STRING, 0) 282 ZEND_ARG_TYPE_INFO(0, header, IS_STRING, 0) 283 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 284 ZEND_END_ARG_INFO() 285 #endif 286 287 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 288 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_secretstream_xchacha20poly1305_pull, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE) 289 ZEND_ARG_TYPE_INFO(1, state, IS_STRING, 0) 290 ZEND_ARG_TYPE_INFO(0, ciphertext, IS_STRING, 0) 291 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, additional_data, IS_STRING, 0, "\"\"") 292 ZEND_END_ARG_INFO() 293 #endif 294 295 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 296 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_secretstream_xchacha20poly1305_rekey, 0, 1, IS_VOID, 0) 297 ZEND_ARG_TYPE_INFO(1, state, IS_STRING, 0) 298 ZEND_END_ARG_INFO() 299 #endif 300 301 #define arginfo_sodium_crypto_shorthash arginfo_sodium_crypto_auth 302 303 #define arginfo_sodium_crypto_shorthash_keygen arginfo_sodium_crypto_aead_chacha20poly1305_keygen 304 305 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_sign, 0, 2, IS_STRING, 0) 306 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 307 ZEND_ARG_TYPE_INFO(0, secret_key, IS_STRING, 0) 308 ZEND_END_ARG_INFO() 309 310 #define arginfo_sodium_crypto_sign_detached arginfo_sodium_crypto_sign 311 312 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_sign_ed25519_pk_to_curve25519, 0, 1, IS_STRING, 0) 313 ZEND_ARG_TYPE_INFO(0, public_key, IS_STRING, 0) 314 ZEND_END_ARG_INFO() 315 316 #define arginfo_sodium_crypto_sign_ed25519_sk_to_curve25519 arginfo_sodium_crypto_box_publickey_from_secretkey 317 318 #define arginfo_sodium_crypto_sign_keypair arginfo_sodium_crypto_aead_chacha20poly1305_keygen 319 320 #define arginfo_sodium_crypto_sign_keypair_from_secretkey_and_publickey arginfo_sodium_crypto_box_keypair_from_secretkey_and_publickey 321 322 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_sodium_crypto_sign_open, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) 323 ZEND_ARG_TYPE_INFO(0, signed_message, IS_STRING, 0) 324 ZEND_ARG_TYPE_INFO(0, public_key, IS_STRING, 0) 325 ZEND_END_ARG_INFO() 326 327 #define arginfo_sodium_crypto_sign_publickey arginfo_sodium_crypto_box_publickey 328 329 #define arginfo_sodium_crypto_sign_secretkey arginfo_sodium_crypto_box_publickey 330 331 #define arginfo_sodium_crypto_sign_publickey_from_secretkey arginfo_sodium_crypto_box_publickey_from_secretkey 332 333 #define arginfo_sodium_crypto_sign_seed_keypair arginfo_sodium_crypto_box_seed_keypair 334 335 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_sign_verify_detached, 0, 3, _IS_BOOL, 0) 336 ZEND_ARG_TYPE_INFO(0, signature, IS_STRING, 0) 337 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) 338 ZEND_ARG_TYPE_INFO(0, public_key, IS_STRING, 0) 339 ZEND_END_ARG_INFO() 340 341 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_stream, 0, 3, IS_STRING, 0) 342 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) 343 ZEND_ARG_TYPE_INFO(0, nonce, IS_STRING, 0) 344 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) 345 ZEND_END_ARG_INFO() 346 347 #define arginfo_sodium_crypto_stream_keygen arginfo_sodium_crypto_aead_chacha20poly1305_keygen 348 349 #define arginfo_sodium_crypto_stream_xor arginfo_sodium_crypto_secretbox 350 351 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_add, 0, 2, IS_VOID, 0) 352 ZEND_ARG_TYPE_INFO(1, string1, IS_STRING, 0) 353 ZEND_ARG_TYPE_INFO(0, string2, IS_STRING, 0) 354 ZEND_END_ARG_INFO() 355 356 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_compare, 0, 2, IS_LONG, 0) 357 ZEND_ARG_TYPE_INFO(0, string1, IS_STRING, 0) 358 ZEND_ARG_TYPE_INFO(0, string2, IS_STRING, 0) 359 ZEND_END_ARG_INFO() 360 361 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_increment, 0, 1, IS_VOID, 0) 362 ZEND_ARG_TYPE_INFO(1, string, IS_STRING, 0) 363 ZEND_END_ARG_INFO() 364 365 #define arginfo_sodium_memcmp arginfo_sodium_compare 366 367 #define arginfo_sodium_memzero arginfo_sodium_increment 368 369 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_pad, 0, 2, IS_STRING, 0) 370 ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) 371 ZEND_ARG_TYPE_INFO(0, block_size, IS_LONG, 0) 372 ZEND_END_ARG_INFO() 373 374 #define arginfo_sodium_unpad arginfo_sodium_pad 375 376 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_bin2hex, 0, 1, IS_STRING, 0) 377 ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) 378 ZEND_END_ARG_INFO() 379 380 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_hex2bin, 0, 1, IS_STRING, 0) 381 ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) 382 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ignore, IS_STRING, 0, "\"\"") 383 ZEND_END_ARG_INFO() 384 385 #if defined(sodium_base64_VARIANT_ORIGINAL) 386 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_bin2base64, 0, 2, IS_STRING, 0) 387 ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) 388 ZEND_ARG_TYPE_INFO(0, id, IS_LONG, 0) 389 ZEND_END_ARG_INFO() 390 #endif 391 392 #if defined(sodium_base64_VARIANT_ORIGINAL) 393 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_base642bin, 0, 2, IS_STRING, 0) 394 ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) 395 ZEND_ARG_TYPE_INFO(0, id, IS_LONG, 0) 396 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ignore, IS_STRING, 0, "\"\"") 397 ZEND_END_ARG_INFO() 398 #endif 399 400 #define arginfo_sodium_crypto_scalarmult_base arginfo_sodium_crypto_box_publickey_from_secretkey 401 402 403 ZEND_FUNCTION(sodium_crypto_aead_aes256gcm_is_available); 404 #if defined(HAVE_AESGCM) 405 ZEND_FUNCTION(sodium_crypto_aead_aes256gcm_decrypt); 406 #endif 407 #if defined(HAVE_AESGCM) 408 ZEND_FUNCTION(sodium_crypto_aead_aes256gcm_encrypt); 409 #endif 410 #if defined(HAVE_AESGCM) 411 ZEND_FUNCTION(sodium_crypto_aead_aes256gcm_keygen); 412 #endif 413 ZEND_FUNCTION(sodium_crypto_aead_chacha20poly1305_decrypt); 414 ZEND_FUNCTION(sodium_crypto_aead_chacha20poly1305_encrypt); 415 ZEND_FUNCTION(sodium_crypto_aead_chacha20poly1305_keygen); 416 ZEND_FUNCTION(sodium_crypto_aead_chacha20poly1305_ietf_decrypt); 417 ZEND_FUNCTION(sodium_crypto_aead_chacha20poly1305_ietf_encrypt); 418 ZEND_FUNCTION(sodium_crypto_aead_chacha20poly1305_ietf_keygen); 419 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 420 ZEND_FUNCTION(sodium_crypto_aead_xchacha20poly1305_ietf_decrypt); 421 #endif 422 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 423 ZEND_FUNCTION(sodium_crypto_aead_xchacha20poly1305_ietf_keygen); 424 #endif 425 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 426 ZEND_FUNCTION(sodium_crypto_aead_xchacha20poly1305_ietf_encrypt); 427 #endif 428 ZEND_FUNCTION(sodium_crypto_auth); 429 ZEND_FUNCTION(sodium_crypto_auth_keygen); 430 ZEND_FUNCTION(sodium_crypto_auth_verify); 431 ZEND_FUNCTION(sodium_crypto_box); 432 ZEND_FUNCTION(sodium_crypto_box_keypair); 433 ZEND_FUNCTION(sodium_crypto_box_seed_keypair); 434 ZEND_FUNCTION(sodium_crypto_box_keypair_from_secretkey_and_publickey); 435 ZEND_FUNCTION(sodium_crypto_box_open); 436 ZEND_FUNCTION(sodium_crypto_box_publickey); 437 ZEND_FUNCTION(sodium_crypto_box_publickey_from_secretkey); 438 ZEND_FUNCTION(sodium_crypto_box_seal); 439 ZEND_FUNCTION(sodium_crypto_box_seal_open); 440 ZEND_FUNCTION(sodium_crypto_box_secretkey); 441 ZEND_FUNCTION(sodium_crypto_kx_keypair); 442 ZEND_FUNCTION(sodium_crypto_kx_publickey); 443 ZEND_FUNCTION(sodium_crypto_kx_secretkey); 444 ZEND_FUNCTION(sodium_crypto_kx_seed_keypair); 445 ZEND_FUNCTION(sodium_crypto_kx_client_session_keys); 446 ZEND_FUNCTION(sodium_crypto_kx_server_session_keys); 447 ZEND_FUNCTION(sodium_crypto_generichash); 448 ZEND_FUNCTION(sodium_crypto_generichash_keygen); 449 ZEND_FUNCTION(sodium_crypto_generichash_init); 450 ZEND_FUNCTION(sodium_crypto_generichash_update); 451 ZEND_FUNCTION(sodium_crypto_generichash_final); 452 ZEND_FUNCTION(sodium_crypto_kdf_derive_from_key); 453 ZEND_FUNCTION(sodium_crypto_kdf_keygen); 454 #if defined(crypto_pwhash_SALTBYTES) 455 ZEND_FUNCTION(sodium_crypto_pwhash); 456 #endif 457 #if defined(crypto_pwhash_SALTBYTES) 458 ZEND_FUNCTION(sodium_crypto_pwhash_str); 459 #endif 460 #if defined(crypto_pwhash_SALTBYTES) 461 ZEND_FUNCTION(sodium_crypto_pwhash_str_verify); 462 #endif 463 #if SODIUM_LIBRARY_VERSION_MAJOR > 9 || (SODIUM_LIBRARY_VERSION_MAJOR == 9 && SODIUM_LIBRARY_VERSION_MINOR >= 6) 464 ZEND_FUNCTION(sodium_crypto_pwhash_str_needs_rehash); 465 #endif 466 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 467 ZEND_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256); 468 #endif 469 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 470 ZEND_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256_str); 471 #endif 472 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 473 ZEND_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256_str_verify); 474 #endif 475 ZEND_FUNCTION(sodium_crypto_scalarmult); 476 ZEND_FUNCTION(sodium_crypto_secretbox); 477 ZEND_FUNCTION(sodium_crypto_secretbox_keygen); 478 ZEND_FUNCTION(sodium_crypto_secretbox_open); 479 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 480 ZEND_FUNCTION(sodium_crypto_secretstream_xchacha20poly1305_keygen); 481 #endif 482 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 483 ZEND_FUNCTION(sodium_crypto_secretstream_xchacha20poly1305_init_push); 484 #endif 485 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 486 ZEND_FUNCTION(sodium_crypto_secretstream_xchacha20poly1305_push); 487 #endif 488 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 489 ZEND_FUNCTION(sodium_crypto_secretstream_xchacha20poly1305_init_pull); 490 #endif 491 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 492 ZEND_FUNCTION(sodium_crypto_secretstream_xchacha20poly1305_pull); 493 #endif 494 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 495 ZEND_FUNCTION(sodium_crypto_secretstream_xchacha20poly1305_rekey); 496 #endif 497 ZEND_FUNCTION(sodium_crypto_shorthash); 498 ZEND_FUNCTION(sodium_crypto_shorthash_keygen); 499 ZEND_FUNCTION(sodium_crypto_sign); 500 ZEND_FUNCTION(sodium_crypto_sign_detached); 501 ZEND_FUNCTION(sodium_crypto_sign_ed25519_pk_to_curve25519); 502 ZEND_FUNCTION(sodium_crypto_sign_ed25519_sk_to_curve25519); 503 ZEND_FUNCTION(sodium_crypto_sign_keypair); 504 ZEND_FUNCTION(sodium_crypto_sign_keypair_from_secretkey_and_publickey); 505 ZEND_FUNCTION(sodium_crypto_sign_open); 506 ZEND_FUNCTION(sodium_crypto_sign_publickey); 507 ZEND_FUNCTION(sodium_crypto_sign_secretkey); 508 ZEND_FUNCTION(sodium_crypto_sign_publickey_from_secretkey); 509 ZEND_FUNCTION(sodium_crypto_sign_seed_keypair); 510 ZEND_FUNCTION(sodium_crypto_sign_verify_detached); 511 ZEND_FUNCTION(sodium_crypto_stream); 512 ZEND_FUNCTION(sodium_crypto_stream_keygen); 513 ZEND_FUNCTION(sodium_crypto_stream_xor); 514 ZEND_FUNCTION(sodium_add); 515 ZEND_FUNCTION(sodium_compare); 516 ZEND_FUNCTION(sodium_increment); 517 ZEND_FUNCTION(sodium_memcmp); 518 ZEND_FUNCTION(sodium_memzero); 519 ZEND_FUNCTION(sodium_pad); 520 ZEND_FUNCTION(sodium_unpad); 521 ZEND_FUNCTION(sodium_bin2hex); 522 ZEND_FUNCTION(sodium_hex2bin); 523 #if defined(sodium_base64_VARIANT_ORIGINAL) 524 ZEND_FUNCTION(sodium_bin2base64); 525 #endif 526 #if defined(sodium_base64_VARIANT_ORIGINAL) 527 ZEND_FUNCTION(sodium_base642bin); 528 #endif 529 530 531 static const zend_function_entry ext_functions[] = { 532 ZEND_FE(sodium_crypto_aead_aes256gcm_is_available, arginfo_sodium_crypto_aead_aes256gcm_is_available) 533 #if defined(HAVE_AESGCM) 534 ZEND_FE(sodium_crypto_aead_aes256gcm_decrypt, arginfo_sodium_crypto_aead_aes256gcm_decrypt) 535 #endif 536 #if defined(HAVE_AESGCM) 537 ZEND_FE(sodium_crypto_aead_aes256gcm_encrypt, arginfo_sodium_crypto_aead_aes256gcm_encrypt) 538 #endif 539 #if defined(HAVE_AESGCM) 540 ZEND_FE(sodium_crypto_aead_aes256gcm_keygen, arginfo_sodium_crypto_aead_aes256gcm_keygen) 541 #endif 542 ZEND_FE(sodium_crypto_aead_chacha20poly1305_decrypt, arginfo_sodium_crypto_aead_chacha20poly1305_decrypt) 543 ZEND_FE(sodium_crypto_aead_chacha20poly1305_encrypt, arginfo_sodium_crypto_aead_chacha20poly1305_encrypt) 544 ZEND_FE(sodium_crypto_aead_chacha20poly1305_keygen, arginfo_sodium_crypto_aead_chacha20poly1305_keygen) 545 ZEND_FE(sodium_crypto_aead_chacha20poly1305_ietf_decrypt, arginfo_sodium_crypto_aead_chacha20poly1305_ietf_decrypt) 546 ZEND_FE(sodium_crypto_aead_chacha20poly1305_ietf_encrypt, arginfo_sodium_crypto_aead_chacha20poly1305_ietf_encrypt) 547 ZEND_FE(sodium_crypto_aead_chacha20poly1305_ietf_keygen, arginfo_sodium_crypto_aead_chacha20poly1305_ietf_keygen) 548 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 549 ZEND_FE(sodium_crypto_aead_xchacha20poly1305_ietf_decrypt, arginfo_sodium_crypto_aead_xchacha20poly1305_ietf_decrypt) 550 #endif 551 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 552 ZEND_FE(sodium_crypto_aead_xchacha20poly1305_ietf_keygen, arginfo_sodium_crypto_aead_xchacha20poly1305_ietf_keygen) 553 #endif 554 #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) 555 ZEND_FE(sodium_crypto_aead_xchacha20poly1305_ietf_encrypt, arginfo_sodium_crypto_aead_xchacha20poly1305_ietf_encrypt) 556 #endif 557 ZEND_FE(sodium_crypto_auth, arginfo_sodium_crypto_auth) 558 ZEND_FE(sodium_crypto_auth_keygen, arginfo_sodium_crypto_auth_keygen) 559 ZEND_FE(sodium_crypto_auth_verify, arginfo_sodium_crypto_auth_verify) 560 ZEND_FE(sodium_crypto_box, arginfo_sodium_crypto_box) 561 ZEND_FE(sodium_crypto_box_keypair, arginfo_sodium_crypto_box_keypair) 562 ZEND_FE(sodium_crypto_box_seed_keypair, arginfo_sodium_crypto_box_seed_keypair) 563 ZEND_FE(sodium_crypto_box_keypair_from_secretkey_and_publickey, arginfo_sodium_crypto_box_keypair_from_secretkey_and_publickey) 564 ZEND_FE(sodium_crypto_box_open, arginfo_sodium_crypto_box_open) 565 ZEND_FE(sodium_crypto_box_publickey, arginfo_sodium_crypto_box_publickey) 566 ZEND_FE(sodium_crypto_box_publickey_from_secretkey, arginfo_sodium_crypto_box_publickey_from_secretkey) 567 ZEND_FE(sodium_crypto_box_seal, arginfo_sodium_crypto_box_seal) 568 ZEND_FE(sodium_crypto_box_seal_open, arginfo_sodium_crypto_box_seal_open) 569 ZEND_FE(sodium_crypto_box_secretkey, arginfo_sodium_crypto_box_secretkey) 570 ZEND_FE(sodium_crypto_kx_keypair, arginfo_sodium_crypto_kx_keypair) 571 ZEND_FE(sodium_crypto_kx_publickey, arginfo_sodium_crypto_kx_publickey) 572 ZEND_FE(sodium_crypto_kx_secretkey, arginfo_sodium_crypto_kx_secretkey) 573 ZEND_FE(sodium_crypto_kx_seed_keypair, arginfo_sodium_crypto_kx_seed_keypair) 574 ZEND_FE(sodium_crypto_kx_client_session_keys, arginfo_sodium_crypto_kx_client_session_keys) 575 ZEND_FE(sodium_crypto_kx_server_session_keys, arginfo_sodium_crypto_kx_server_session_keys) 576 ZEND_FE(sodium_crypto_generichash, arginfo_sodium_crypto_generichash) 577 ZEND_FE(sodium_crypto_generichash_keygen, arginfo_sodium_crypto_generichash_keygen) 578 ZEND_FE(sodium_crypto_generichash_init, arginfo_sodium_crypto_generichash_init) 579 ZEND_FE(sodium_crypto_generichash_update, arginfo_sodium_crypto_generichash_update) 580 ZEND_FE(sodium_crypto_generichash_final, arginfo_sodium_crypto_generichash_final) 581 ZEND_FE(sodium_crypto_kdf_derive_from_key, arginfo_sodium_crypto_kdf_derive_from_key) 582 ZEND_FE(sodium_crypto_kdf_keygen, arginfo_sodium_crypto_kdf_keygen) 583 #if defined(crypto_pwhash_SALTBYTES) 584 ZEND_FE(sodium_crypto_pwhash, arginfo_sodium_crypto_pwhash) 585 #endif 586 #if defined(crypto_pwhash_SALTBYTES) 587 ZEND_FE(sodium_crypto_pwhash_str, arginfo_sodium_crypto_pwhash_str) 588 #endif 589 #if defined(crypto_pwhash_SALTBYTES) 590 ZEND_FE(sodium_crypto_pwhash_str_verify, arginfo_sodium_crypto_pwhash_str_verify) 591 #endif 592 #if SODIUM_LIBRARY_VERSION_MAJOR > 9 || (SODIUM_LIBRARY_VERSION_MAJOR == 9 && SODIUM_LIBRARY_VERSION_MINOR >= 6) 593 ZEND_FE(sodium_crypto_pwhash_str_needs_rehash, arginfo_sodium_crypto_pwhash_str_needs_rehash) 594 #endif 595 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 596 ZEND_FE(sodium_crypto_pwhash_scryptsalsa208sha256, arginfo_sodium_crypto_pwhash_scryptsalsa208sha256) 597 #endif 598 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 599 ZEND_FE(sodium_crypto_pwhash_scryptsalsa208sha256_str, arginfo_sodium_crypto_pwhash_scryptsalsa208sha256_str) 600 #endif 601 #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) 602 ZEND_FE(sodium_crypto_pwhash_scryptsalsa208sha256_str_verify, arginfo_sodium_crypto_pwhash_scryptsalsa208sha256_str_verify) 603 #endif 604 ZEND_FE(sodium_crypto_scalarmult, arginfo_sodium_crypto_scalarmult) 605 ZEND_FE(sodium_crypto_secretbox, arginfo_sodium_crypto_secretbox) 606 ZEND_FE(sodium_crypto_secretbox_keygen, arginfo_sodium_crypto_secretbox_keygen) 607 ZEND_FE(sodium_crypto_secretbox_open, arginfo_sodium_crypto_secretbox_open) 608 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 609 ZEND_FE(sodium_crypto_secretstream_xchacha20poly1305_keygen, arginfo_sodium_crypto_secretstream_xchacha20poly1305_keygen) 610 #endif 611 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 612 ZEND_FE(sodium_crypto_secretstream_xchacha20poly1305_init_push, arginfo_sodium_crypto_secretstream_xchacha20poly1305_init_push) 613 #endif 614 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 615 ZEND_FE(sodium_crypto_secretstream_xchacha20poly1305_push, arginfo_sodium_crypto_secretstream_xchacha20poly1305_push) 616 #endif 617 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 618 ZEND_FE(sodium_crypto_secretstream_xchacha20poly1305_init_pull, arginfo_sodium_crypto_secretstream_xchacha20poly1305_init_pull) 619 #endif 620 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 621 ZEND_FE(sodium_crypto_secretstream_xchacha20poly1305_pull, arginfo_sodium_crypto_secretstream_xchacha20poly1305_pull) 622 #endif 623 #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) 624 ZEND_FE(sodium_crypto_secretstream_xchacha20poly1305_rekey, arginfo_sodium_crypto_secretstream_xchacha20poly1305_rekey) 625 #endif 626 ZEND_FE(sodium_crypto_shorthash, arginfo_sodium_crypto_shorthash) 627 ZEND_FE(sodium_crypto_shorthash_keygen, arginfo_sodium_crypto_shorthash_keygen) 628 ZEND_FE(sodium_crypto_sign, arginfo_sodium_crypto_sign) 629 ZEND_FE(sodium_crypto_sign_detached, arginfo_sodium_crypto_sign_detached) 630 ZEND_FE(sodium_crypto_sign_ed25519_pk_to_curve25519, arginfo_sodium_crypto_sign_ed25519_pk_to_curve25519) 631 ZEND_FE(sodium_crypto_sign_ed25519_sk_to_curve25519, arginfo_sodium_crypto_sign_ed25519_sk_to_curve25519) 632 ZEND_FE(sodium_crypto_sign_keypair, arginfo_sodium_crypto_sign_keypair) 633 ZEND_FE(sodium_crypto_sign_keypair_from_secretkey_and_publickey, arginfo_sodium_crypto_sign_keypair_from_secretkey_and_publickey) 634 ZEND_FE(sodium_crypto_sign_open, arginfo_sodium_crypto_sign_open) 635 ZEND_FE(sodium_crypto_sign_publickey, arginfo_sodium_crypto_sign_publickey) 636 ZEND_FE(sodium_crypto_sign_secretkey, arginfo_sodium_crypto_sign_secretkey) 637 ZEND_FE(sodium_crypto_sign_publickey_from_secretkey, arginfo_sodium_crypto_sign_publickey_from_secretkey) 638 ZEND_FE(sodium_crypto_sign_seed_keypair, arginfo_sodium_crypto_sign_seed_keypair) 639 ZEND_FE(sodium_crypto_sign_verify_detached, arginfo_sodium_crypto_sign_verify_detached) 640 ZEND_FE(sodium_crypto_stream, arginfo_sodium_crypto_stream) 641 ZEND_FE(sodium_crypto_stream_keygen, arginfo_sodium_crypto_stream_keygen) 642 ZEND_FE(sodium_crypto_stream_xor, arginfo_sodium_crypto_stream_xor) 643 ZEND_FE(sodium_add, arginfo_sodium_add) 644 ZEND_FE(sodium_compare, arginfo_sodium_compare) 645 ZEND_FE(sodium_increment, arginfo_sodium_increment) 646 ZEND_FE(sodium_memcmp, arginfo_sodium_memcmp) 647 ZEND_FE(sodium_memzero, arginfo_sodium_memzero) 648 ZEND_FE(sodium_pad, arginfo_sodium_pad) 649 ZEND_FE(sodium_unpad, arginfo_sodium_unpad) 650 ZEND_FE(sodium_bin2hex, arginfo_sodium_bin2hex) 651 ZEND_FE(sodium_hex2bin, arginfo_sodium_hex2bin) 652 #if defined(sodium_base64_VARIANT_ORIGINAL) 653 ZEND_FE(sodium_bin2base64, arginfo_sodium_bin2base64) 654 #endif 655 #if defined(sodium_base64_VARIANT_ORIGINAL) 656 ZEND_FE(sodium_base642bin, arginfo_sodium_base642bin) 657 #endif 658 ZEND_FALIAS(sodium_crypto_scalarmult_base, sodium_crypto_box_publickey_from_secretkey, arginfo_sodium_crypto_scalarmult_base) 659 ZEND_FE_END 660 }; 661 662 663 static const zend_function_entry class_SodiumException_methods[] = { 664 ZEND_FE_END 665 }; 666