CRYPTO_EX_free typedef

CRYPTO_EX_free = NativeFunction<Void Function(Pointer<Void> parent, Pointer<Void> ptr, Pointer<CRYPTO_EX_DATA> ad, Int index, Long argl, Pointer<Void> argp)>

CRYPTO_EX_free is a callback function that is called when an object of the class with extra data pointers is being destroyed. For example, if this callback has been passed to SSL_get_ex_new_index then it may be called each time an SSL* is destroyed.

parent and ad will be NULL. Historically, the parent object was passed in parent, but accessing the pointer was not safe because parent was in the process of being destroyed. If the callback has access to some other pointer to the parent object, it must not pass the pointer to any BoringSSL APIs. Mid-destruction, invariants on the parent object no longer hold.

The arguments argl and argp contain opaque values that were given to CRYPTO_get_ex_new_index_ex.

This callback may be called with a NULL value for ptr if the object has no value set for this index. However, the callbacks may also be skipped entirely if no extra data pointers are set on the object at all.

Implementation

typedef CRYPTO_EX_free =
    ffi.NativeFunction<
      ffi.Void Function(
        ffi.Pointer<ffi.Void> parent,
        ffi.Pointer<ffi.Void> ptr,
        ffi.Pointer<CRYPTO_EX_DATA> ad,
        ffi.Int index,
        ffi.Long argl,
        ffi.Pointer<ffi.Void> argp,
      )
    >;