|  | =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. | 
|  |  | 
|  | DSA_free() frees the B<DSA> structure and its components. The values are | 
|  | erased before the memory is returned to the system. | 
|  |  | 
|  | =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(3)|err(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 |