int gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t cert, unsigned int seq, void * ret, size_t * ret_size, unsigned int * ret_type, unsigned int * critical);
should contain a gnutls_x509_crt_t structure
unsigned int seq
specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.)
void * ret
is the place where the alternative name will be copied to
size_t * ret_size
holds the size of ret.
unsigned int * ret_type
holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t).
unsigned int * critical
will be non zero if the extension is marked as critical (may be null)
This function will return the alternative names, contained in the
given certificate. It is the same as
gnutls_x509_crt_get_subject_alt_name() except for the fact that it
will return the type of the alternative name in ret_type even if
the function fails for some reason (i.e. the buffer provided is
the alternative subject name type on success, one of the
enumerated gnutls_x509_subject_alt_name_t. It will return
GNUTLS_E_SHORT_MEMORY_BUFFER if ret_size is not large enough
to hold the value. In that case ret_size will be updated with
the required size. If the certificate does not have an
Alternative name with the specified sequence number then
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.