pub unsafe extern "C" fn mbedtls_ecdh_gen_public(
    grp: *mut mbedtls_ecp_group,
    d: *mut mbedtls_mpi,
    Q: *mut mbedtls_ecp_point,
    f_rng: Option<unsafe extern "C" fn(arg1: *mut c_void, arg2: *mut c_uchar, arg3: usize) -> c_int>,
    p_rng: *mut c_void
) -> c_int
Expand description

\brief This function generates an ECDH keypair on an elliptic curve.

             This function performs the first of two core computations
             implemented during the ECDH key exchange. The second core
             computation is performed by mbedtls_ecdh_compute_shared().

\see ecp.h

\param grp The ECP group to use. This must be initialized and have domain parameters loaded, for example through mbedtls_ecp_load() or mbedtls_ecp_tls_read_group(). \param d The destination MPI (private key). This must be initialized. \param Q The destination point (public key). This must be initialized. \param f_rng The RNG function to use. This must not be \c NULL. \param p_rng The RNG context to be passed to \p f_rng. This may be \c NULL in case \p f_rng doesn’t need a context argument.

\return \c 0 on success. \return Another \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_MPI_XXX error code on failure.