@subheading gnutls_compression_get @anchor{gnutls_compression_get} @deftypefun {gnutls_compression_method_t} {gnutls_compression_get} (gnutls_session_t @var{session}) @var{session}: is a @code{gnutls_session_t} type. Get the currently used compression algorithm. @strong{Returns:} the currently used compression method, a @code{gnutls_compression_method_t} value. @end deftypefun @subheading gnutls_compression_get_id @anchor{gnutls_compression_get_id} @deftypefun {gnutls_compression_method_t} {gnutls_compression_get_id} (const char * @var{name}) @var{name}: is a compression method name The names are compared in a case insensitive way. @strong{Returns:} an id of the specified in a string compression method, or @code{GNUTLS_COMP_UNKNOWN} on error. @end deftypefun @subheading gnutls_compression_get_name @anchor{gnutls_compression_get_name} @deftypefun {const char *} {gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) @var{algorithm}: is a Compression algorithm Convert a @code{gnutls_compression_method_t} value to a string. @strong{Returns:} a pointer to a string that contains the name of the specified compression algorithm, or @code{NULL} . @end deftypefun @subheading gnutls_compression_list @anchor{gnutls_compression_list} @deftypefun {const gnutls_compression_method_t *} {gnutls_compression_list} ( @var{void}) Get a list of compression methods. @strong{Returns:} a zero-terminated list of @code{gnutls_compression_method_t} integers indicating the available compression methods. @end deftypefun @subheading gnutls_global_set_mem_functions @anchor{gnutls_global_set_mem_functions} @deftypefun {void} {gnutls_global_set_mem_functions} (gnutls_alloc_function @var{alloc_func}, gnutls_alloc_function @var{secure_alloc_func}, gnutls_is_secure_function @var{is_secure_func}, gnutls_realloc_function @var{realloc_func}, gnutls_free_function @var{free_func}) @var{alloc_func}: it's the default memory allocation function. Like @code{malloc()} . @var{secure_alloc_func}: This is the memory allocation function that will be used for sensitive data. @var{is_secure_func}: a function that returns 0 if the memory given is not secure. May be NULL. @var{realloc_func}: A realloc function @var{free_func}: The function that frees allocated data. Must accept a NULL pointer. @strong{Deprecated:} since 3.3.0 it is no longer possible to replace the internally used memory allocation functions This is the function where you set the memory allocation functions gnutls is going to use. By default the libc's allocation functions (@code{malloc()} , @code{free()} ), are used by gnutls, to allocate both sensitive and not sensitive data. This function is provided to set the memory allocation functions to something other than the defaults This function must be called before @code{gnutls_global_init()} is called. This function is not thread safe. @end deftypefun @subheading gnutls_openpgp_privkey_sign_hash @anchor{gnutls_openpgp_privkey_sign_hash} @deftypefun {int} {gnutls_openpgp_privkey_sign_hash} (gnutls_openpgp_privkey_t @var{key}, const gnutls_datum_t * @var{hash}, gnutls_datum_t * @var{signature}) @var{key}: Holds the key @var{hash}: holds the data to be signed @var{signature}: will contain newly allocated signature This function is no-op. @strong{Returns:} @code{GNUTLS_E_UNIMPLEMENTED_FEATURE} . @end deftypefun @subheading gnutls_priority_compression_list @anchor{gnutls_priority_compression_list} @deftypefun {int} {gnutls_priority_compression_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_priority_t} type. @var{list}: will point to an integer list Get a list of available compression method in the priority structure. @strong{Returns:} the number of methods, or an error code. @strong{Since:} 3.0 @end deftypefun @subheading gnutls_x509_crt_get_preferred_hash_algorithm @anchor{gnutls_x509_crt_get_preferred_hash_algorithm} @deftypefun {int} {gnutls_x509_crt_get_preferred_hash_algorithm} (gnutls_x509_crt_t @var{crt}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) @var{crt}: Holds the certificate @var{hash}: The result of the call with the hash algorithm used for signature @var{mand}: If non-zero it means that the algorithm MUST use this hash. May be @code{NULL} . This function will read the certificate and return the appropriate digest algorithm to use for signing with this certificate. Some certificates (i.e. DSA might not be able to sign without the preferred algorithm). @strong{Deprecated:} Please use @code{gnutls_pubkey_get_preferred_hash_algorithm()} . @strong{Returns:} the 0 if the hash algorithm is found. A negative error code is returned on error. @strong{Since:} 2.12.0 @end deftypefun @subheading gnutls_x509_privkey_sign_hash @anchor{gnutls_x509_privkey_sign_hash} @deftypefun {int} {gnutls_x509_privkey_sign_hash} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{hash}, gnutls_datum_t * @var{signature}) @var{key}: a key @var{hash}: holds the data to be signed @var{signature}: will contain newly allocated signature This function will sign the given hash using the private key. Do not use this function directly unless you know what it is. Typical signing requires the data to be hashed and stored in special formats (e.g. BER Digest-Info for RSA). This API is provided only for backwards compatibility, and thus restricted to RSA, DSA and ECDSA key types. For other key types please use @code{gnutls_privkey_sign_hash()} and @code{gnutls_privkey_sign_data()} . @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. Deprecated in: 2.12.0 @end deftypefun