def duplicate_wrapper_head(name):
- s = "#ifndef defined_%s\n" % name
- s += "#define defined_%s\n" % name
+ s = "#ifndef _vl_api_defined_%s\n" % name
+ s += "#define _vl_api_defined_%s\n" % name
return s
return '#endif\n\n'
-def typedefs(objs, filename):
+def typedefs(objs, aliases, filename):
name = filename.replace('.', '_')
output = '''\
#define included_{module}
'''
output = output.format(module=name)
+
+ for k, v in aliases.items():
+ output += duplicate_wrapper_head(k)
+ if 'length' in v:
+ output += 'typedef %s vl_api_%s_t[%s];\n' % (v['type'], k, v['length'])
+ else:
+ output += 'typedef %s vl_api_%s_t;\n' % (v['type'], k)
+ output += duplicate_wrapper_tail()
+
for o in objs:
tname = o.__class__.__name__
output += duplicate_wrapper_head(o.name)
output += msg_ids(s)
output += msg_names(s)
output += msg_name_crc_list(s, filename)
- output += typedefs(s['types'] + s['Define'], filename + file_extension)
+ output += typedefs(s['types'] + s['Define'], s['Alias'], filename + file_extension)
output += printfun(s['types'] + s['Define'])
output += endianfun(s['types'] + s['Define'])
output += version_tuple(s, basename)