#include<krb5.h>typedefstructkrb5_digest*krb5_digest;krb5_error_codekrb5_digest_alloc(krb5_contextcontext, krb5_digest*digest);
voidkrb5_digest_free(krb5_digestdigest);
krb5_error_codekrb5_digest_set_type(krb5_contextcontext, krb5_digestdigest, constchar*type);
krb5_error_codekrb5_digest_set_server_cb(krb5_contextcontext, krb5_digestdigest, constchar*type,
constchar*binding);
krb5_error_codekrb5_digest_set_hostname(krb5_contextcontext, krb5_digestdigest, constchar*hostname);
constchar*krb5_digest_get_server_nonce(krb5_contextcontext, krb5_digestdigest);
krb5_error_codekrb5_digest_set_server_nonce(krb5_contextcontext, krb5_digestdigest, constchar*nonce);
constchar*krb5_digest_get_opaque(krb5_contextcontext, krb5_digestdigest);
krb5_error_codekrb5_digest_set_opaque(krb5_contextcontext, krb5_digestdigest, constchar*opaque);
constchar*krb5_digest_get_identifier(krb5_contextcontext, krb5_digestdigest);
krb5_error_codekrb5_digest_set_identifier(krb5_contextcontext, krb5_digestdigest, constchar*id);
krb5_error_codekrb5_digest_init_request(krb5_contextcontext, krb5_digestdigest, krb5_realmrealm, krb5_ccacheccache);
krb5_error_codekrb5_digest_set_client_nonce(krb5_contextcontext, krb5_digestdigest, constchar*nonce);
krb5_error_codekrb5_digest_set_digest(krb5_contextcontext, krb5_digestdigest, constchar*dgst);
krb5_error_codekrb5_digest_set_username(krb5_contextcontext, krb5_digestdigest, constchar*username);
krb5_error_codekrb5_digest_set_authid(krb5_contextcontext, krb5_digestdigest, constchar*authid);
krb5_error_codekrb5_digest_set_authentication_user(krb5_contextcontext, krb5_digestdigest,
krb5_principalauthentication_user);
krb5_error_codekrb5_digest_set_realm(krb5_contextcontext, krb5_digestdigest, constchar*realm);
krb5_error_codekrb5_digest_set_method(krb5_contextcontext, krb5_digestdigest, constchar*method);
krb5_error_codekrb5_digest_set_uri(krb5_contextcontext, krb5_digestdigest, constchar*uri);
krb5_error_codekrb5_digest_set_nonceCount(krb5_contextcontext, krb5_digestdigest, constchar*nonce_count);
krb5_error_codekrb5_digest_set_qop(krb5_contextcontext, krb5_digestdigest, constchar*qop);
krb5_error_codekrb5_digest_request(krb5_contextcontext, krb5_digestdigest, krb5_realmrealm, krb5_ccacheccache);
constchar*krb5_digest_get_responseData(krb5_contextcontext, krb5_digestdigest);
constchar*krb5_digest_get_rsp(krb5_contextcontext, krb5_digestdigest);
krb5_error_codekrb5_digest_get_tickets(krb5_contextcontext, krb5_digestdigest, Ticket**tickets);
krb5_error_codekrb5_digest_get_client_binding(krb5_contextcontext, krb5_digestdigest, char**type, char**binding);
krb5_error_codekrb5_digest_get_a1_hash(krb5_contextcontext, krb5_digestdigest, krb5_data*data);