EVP_AEAD_CTX_init function

  1. @RecordUse.new()
  2. @Native<Int Function(Pointer<EVP_AEAD_CTX>, Pointer<EVP_AEAD>, Pointer<Uint8>, Size, Size, Pointer<ENGINE>)>(ffi.Pointer<EVP_AEAD_CTX>, ffi.Pointer<EVP_AEAD>, ffi.Pointer<ffi.Uint8>, ffi.Size, ffi.Size, ffi.Pointer<ENGINE>)>(symbol: 'bssl_dart_EVP_AEAD_CTX_init')
int EVP_AEAD_CTX_init(
  1. Pointer<EVP_AEAD_CTX> ctx,
  2. Pointer<EVP_AEAD> aead,
  3. Pointer<Uint8> key,
  4. int key_len,
  5. int tag_len,
  6. Pointer<ENGINE> impl,
)

EVP_AEAD_CTX_init initializes |ctx| for the given AEAD algorithm. The |impl| argument is ignored and should be NULL. Authentication tags may be truncated by passing a size as |tag_len|. A |tag_len| of zero indicates the default tag length and this is defined as EVP_AEAD_DEFAULT_TAG_LENGTH for readability.

Returns 1 on success. Otherwise returns 0 and pushes to the error stack. In the error case, you do not need to call |EVP_AEAD_CTX_cleanup|, but it's harmless to do so.

Implementation

@meta.RecordUse()
@ffi.Native<
  ffi.Int Function(
    ffi.Pointer<EVP_AEAD_CTX>,
    ffi.Pointer<EVP_AEAD>,
    ffi.Pointer<ffi.Uint8>,
    ffi.Size,
    ffi.Size,
    ffi.Pointer<ENGINE>,
  )
>(symbol: 'bssl_dart_EVP_AEAD_CTX_init')
external int EVP_AEAD_CTX_init(
  ffi.Pointer<EVP_AEAD_CTX> ctx,
  ffi.Pointer<EVP_AEAD> aead,
  ffi.Pointer<ffi.Uint8> key,
  int key_len,
  int tag_len,
  ffi.Pointer<ENGINE> impl,
);