Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
asn1_read_value(3)		    libtasn1		      asn1_read_value(3)

NAME
     asn1_read_value - API function

SYNOPSIS
     #include <libtasn1.h>

     int asn1_read_value(asn1_node_const root, const char * name, void * ivalue,
     int * len);

ARGUMENTS
     asn1_node_const root
		 pointer to a structure.

     const char * name
		 the  name  of	the  element inside a structure that you want to
		 read.

     void * ivalue
		 vector that will contain  the	element's  content,  must  be  a
		 pointer to memory cells already allocated (may be NULL).

     int * len	 number  of  bytes  of *value: value[0]..value[len-1]. Initially
		 holds the sizeof value.

DESCRIPTION
     Returns the value of one element inside a structure.  If an element is  OP-
     TIONAL  and this returns ASN1_ELEMENT_NOT_FOUND, it means that this element
     wasn't present in the der encoding that created the structure.   The  first
     element  of  a SEQUENCE_OF or SET_OF is named "?1". The second one "?2" and
     so on. If the  root provided is a node to specific sequence  element,  then
     the  keyword  "?CURRENT"  is  also acceptable and indicates the current se-
     quence element of this node.

     Note that there can be valid values with length zero. In  these  case  this
     function will succeed and	len will be zero.

INTEGER
     VALUE will contain a two's complement form integer.

     integer=-1   ->  value[0]=0xFF  ,	len=1.	 integer=1    -> value[0]=0x01 ,
     len=1.

ENUMERATED
     As INTEGER (but only with not negative numbers).

BOOLEAN
     VALUE will be the null terminated string "TRUE" or  "FALSE"  and  LEN=5  or
     LEN=6.

     OBJECT  IDENTIFIER: VALUE will be a null terminated string with each number
     separated by a dot (i.e. "1.2.3.543.1").

     LEN = strlen(VALUE)+1

UTCTIME
     VALUE will be a null terminated string in one of these formats:  "YYMMDDhh-
     mmss+hh'mm'" or "YYMMDDhhmmss-hh'mm'".  LEN=strlen(VALUE)+1.

GENERALIZEDTIME
     VALUE  will  be a null terminated string in the same format used to set the
     value.

     OCTET STRING: VALUE will contain the octet string and LEN will be the  num-
     ber of octets.

GENERALSTRING
     VALUE will contain the generalstring and LEN will be the number of octets.

     BIT  STRING:  VALUE  will contain the bit string organized by bytes and LEN
     will be the number of bits.

CHOICE
     If NAME indicates a choice type, VALUE will  specify  the	alternative  se-
     lected.

ANY
     If  NAME indicates an any type, VALUE will indicate the DER encoding of the
     structure actually used.

RETURNS
     ASN1_SUCCESS if value is returned, ASN1_ELEMENT_NOT_FOUND if  name is not a
     valid element, ASN1_VALUE_NOT_FOUND if there isn't any value for  the  ele-
     ment  selected,  and ASN1_MEM_ERROR if The value vector isn't big enough to
     store the result, and in this case  len will contain the  number  of  bytes
     needed.  On the occasion that the stored data are of zero-length this func-
     tion may return ASN1_SUCCESS even if the provided	len is zero.

COPYRIGHT
     Copyright (C) 2006-2025 Free Software Foundation, Inc..
     Copying and distribution of this file, with or  without  modification,  are
     permitted	in  any medium without royalty provided the copyright notice and
     this notice are preserved.

SEE ALSO
     The full documentation for libtasn1 is maintained as a Texinfo manual.   If
     the  info	and  libtasn1  programs are properly installed at your site, the
     command

	    info libtasn1

     should give you access to the complete manual.  As an alternative	you  may
     obtain the manual from:

	    https://www.gnu.org/software/libtasn1/manual/

libtasn1			     4.21.0		      asn1_read_value(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=asn1_read_value&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help