SYNOPSIS

#include <shishi.h>

int shishi_asn1_read_optional(Shishi * handle, Shishi_asn1 node, const char * field, char ** data, size_t * datalen);

ARGUMENTS

Shishi * handle

shishi handle as allocated by shishi_init().

Shishi_asn1 node

ASN.1 variable to read field from.

const char * field

name of field in node to read.

char ** data

newly allocated output buffer that will hold ASN.1 field data.

size_t * datalen

actual size of output buffer.

DESCRIPTION

Extract data stored in a ASN.1 field into a newly allocated buffer. If the field does not exist (i.e., SHISHI_ASN1_NO_ELEMENT), this function set datalen to 0 and succeeds. Can be useful to read ASN.1 fields which are marked OPTIONAL in the grammar, if you want to avoid special error handling in your code.

RETURN VALUE

Returns SHISHI_OK if successful, SHISHI_ASN1_NO_VALUE if the field has no value, ot SHISHI_ASN1_ERROR otherwise.

REPORTING BUGS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright © 2002-2010 Simon Josefsson.

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.

RELATED TO shishi_asn1_read_optional…

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

  • info shishi

should give you access to the complete manual.