=pod

=head1 NAME

DSA_new, DSA_free - allocate and free DSA objects

=head1 SYNOPSIS

 #include <openssl/dsa.h>

 DSA* DSA_new(void);

 void DSA_free(DSA *dsa);

=head1 DESCRIPTION

DSA_new() allocates and initializes a B<DSA> structure. It is equivalent to
calling DSA_new_method(NULL).

DSA_free() frees the B<DSA> structure and its components. The values are
erased before the memory is returned to the system.
If B<dsa> is NULL nothing is done.

=head1 RETURN VALUES

If the allocation fails, DSA_new() returns B<NULL> and sets an error
code that can be obtained by
L<ERR_get_error(3)|ERR_get_error(3)>. Otherwise it returns a pointer
to the newly allocated structure.

DSA_free() returns no value.

=head1 SEE ALSO

L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
L<DSA_generate_parameters(3)|DSA_generate_parameters(3)>,
L<DSA_generate_key(3)|DSA_generate_key(3)>

=head1 HISTORY

DSA_new() and DSA_free() are available in all versions of SSLeay and OpenSSL.

=cut
