mirror of https://gerrit.osmocom.org/asn1c
57 lines
1.0 KiB
Perl
Executable File
57 lines
1.0 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
|
|
|
|
print<<EOM;
|
|
/*
|
|
* This file is automatically generated by $0
|
|
* DO NOT EDIT MANUALLY, fix the $0 instead if necessary.
|
|
*/
|
|
#ifndef ASN1_PARSER_EXPR_STR_H
|
|
#define ASN1_PARSER_EXPR_STR_H
|
|
|
|
#include <assert.h>
|
|
|
|
#ifndef __GNUC__
|
|
#define __attribute__(x) /* unused */
|
|
#endif
|
|
|
|
static char *asn1p_expr_type2str[] __attribute__ ((unused)) = {
|
|
EOM
|
|
|
|
while(<>) {
|
|
chomp;
|
|
next if(/TYPE_MAX/);
|
|
next unless(/^[ \t]+(ASN_[A-Z]+_([A-Za-z0-9_]+))/);
|
|
|
|
print "\t[ $1 ]\t = ";
|
|
|
|
$_ = $2;
|
|
if($_ eq "RELATIVE_OID") {
|
|
print '"RELATIVE-OID"';
|
|
} else {
|
|
s/_/ /;
|
|
print '"'.$_.'"';
|
|
}
|
|
|
|
print ",\n";
|
|
}
|
|
|
|
print<<EOM;
|
|
};
|
|
|
|
/*
|
|
* Convert the ASN.1 expression type back into the string representation.
|
|
*/
|
|
#define ASN_EXPR_TYPE2STR(type) _asn1p_expr_type2string(type)
|
|
|
|
static inline char * __attribute__((unused))
|
|
_asn1p_expr_type2string(asn1p_expr_type_e type) {
|
|
assert((signed int)type >= 0);
|
|
if(type < sizeof(asn1p_expr_type2str)/sizeof(asn1p_expr_type2str[0]))
|
|
return asn1p_expr_type2str[type];
|
|
return NULL;
|
|
}
|
|
|
|
#endif /* ASN1_PARSER_EXPR_STR_H */
|
|
EOM
|