pub unsafe extern "C" fn mbedtls_pk_sign_ext(
    pk_type: mbedtls_pk_type_t,
    ctx: *mut mbedtls_pk_context,
    md_alg: mbedtls_md_type_t,
    hash: *const c_uchar,
    hash_len: usize,
    sig: *mut c_uchar,
    sig_size: usize,
    sig_len: *mut usize,
    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 Make signature given a signature type.

\param pk_type Signature type. \param ctx The PK context to use. It must have been set up with a private key. \param md_alg Hash algorithm used (see notes) \param hash Hash of the message to sign \param hash_len Hash length \param sig Place to write the signature. It must have enough room for the signature. #MBEDTLS_PK_SIGNATURE_MAX_SIZE is always enough. You may use a smaller buffer if it is large enough given the key type. \param sig_size The size of the \p sig buffer in bytes. \param sig_len On successful return, the number of bytes written to \p sig. \param f_rng RNG function, must not be \c NULL. \param p_rng RNG parameter

\return 0 on success, or a specific error code.

\note When \p pk_type is #MBEDTLS_PK_RSASSA_PSS, see #PSA_ALG_RSA_PSS for a description of PSS options used.

\note For RSA, md_alg may be MBEDTLS_MD_NONE if hash_len != 0. For ECDSA, md_alg may never be MBEDTLS_MD_NONE.