shishi_asn1_read_optional(3) API function

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.