



@deftypefun {int} {gnutls_x509_crq_get_subject_alt_name} (gnutls_x509_crq_t @var{crq}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{ret_type}, unsigned int * @var{critical})
@var{crq}: should contain a @code{gnutls_x509_crq_t}  structure

@var{seq}: specifies the sequence number of the alt name, 0 for the
first one, 1 for the second etc.

@var{ret}: is the place where the alternative name will be copied to

@var{ret_size}: holds the size of ret.

@var{ret_type}: holds the @code{gnutls_x509_subject_alt_name_t}  name type

@var{critical}: will be non (0) 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
@code{gnutls_x509_crq_get_subject_alt_name()}  except for the fact that it
will return the type of the alternative name in  @code{ret_type} even if
the function fails for some reason (i.e.  the buffer provided is
not enough).

@strong{Returns:} the alternative subject name type on success, one of the
enumerated @code{gnutls_x509_subject_alt_name_t} .  It will return
@code{GNUTLS_E_SHORT_MEMORY_BUFFER}  if  @code{ret_size} is not large enough to
hold the value.  In that case  @code{ret_size} will be updated with the
required size.  If the certificate request does not have an
Alternative name with the specified sequence number then
@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}  is returned.

@strong{Since:} 2.8.0
@end deftypefun
