



@deftypefun {int} {gnutls_x509_crt_get_extension_info} (gnutls_x509_crt_t @var{cert}, unsigned @var{indx}, void * @var{oid}, size_t * @var{oid_size}, unsigned int * @var{critical})
@var{cert}: should contain a @code{gnutls_x509_crt_t}  type

@var{indx}: Specifies which extension OID to send. Use (0) to get the first one.

@var{oid}: a pointer to a structure to hold the OID

@var{oid_size}: initially holds the maximum size of  @code{oid} , on return
holds actual size of  @code{oid} .

@var{critical}: output variable with critical flag, may be NULL.

This function will return the requested extension OID in the
certificate, and the critical flag for it.  The extension OID will
be stored as a string in the provided buffer.  Use
@code{gnutls_x509_crt_get_extension()}  to extract the data.

If the buffer provided is not long enough to hold the output, then
 @code{oid_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER}  will be
returned. The  @code{oid} returned will be null terminated, although
 @code{oid_size} will not account for the trailing null (the latter is not
true for GnuTLS prior to 3.6.0).

@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned,
otherwise a negative error code is returned.  If you have reached the
last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} 
will be returned.
@end deftypefun
