* Return the outmost tag of the type.
*/
ber_tlv_tag_t
-asn_TYPE_outmost_tag(asn_TYPE_descriptor_t *type_descriptor,
+asn_TYPE_outmost_tag(const asn_TYPE_descriptor_t *type_descriptor,
const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag) {
if(tag_mode)
if(type_descriptor->tags_count)
return type_descriptor->tags[0];
- return type_descriptor->outmost_tag(type_descriptor, struct_ptr, 0, 0);
+ return type_descriptor->op->outmost_tag(type_descriptor, struct_ptr, 0, 0);
}
/*
* Print the target language's structure in human readable form.
*/
int
-asn_fprint(FILE *stream, asn_TYPE_descriptor_t *td, const void *struct_ptr) {
- if(!stream) stream = stdout;
- if(!td || !struct_ptr) {
- errno = EINVAL;
- return -1;
+asn_fprint(FILE *stream, const asn_TYPE_descriptor_t *td,
+ const void *struct_ptr) {
+ if(!stream) stream = stdout;
+ if(!td || !struct_ptr) {
+ errno = EINVAL;
+ return -1;
}
/* Invoke type-specific printer */
- if(td->print_struct(td, struct_ptr, 1, _print2fp, stream))
- return -1;
+ if(td->op->print_struct(td, struct_ptr, 1, _print2fp, stream)) {
+ return -1;
+ }
- /* Terminate the output */
- if(_print2fp("\n", 1, stream))
- return -1;
+ /* Terminate the output */
+ if(_print2fp("\n", 1, stream)) {
+ return -1;
+ }
- return fflush(stream);
+ return fflush(stream);
}
/* Dump the data into the specified stdio stream */