aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJoão Valverde <j@v6e.pt>2021-12-11 14:30:37 +0000
committerJoão Valverde <j@v6e.pt>2021-12-11 16:32:33 +0000
commite67ce21f81e51d677917bd7fb6572797e1487099 (patch)
tree4cb7629d6acc9b87dd75299505fc85c64f3f12f1 /tools
parent3230ed2dac645ddc7d917323c27813300ff98df3 (diff)
Netlink nl80211: Convert to normal proto tree API
Diffstat (limited to 'tools')
-rwxr-xr-xtools/generate-nl80211-fields.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/tools/generate-nl80211-fields.py b/tools/generate-nl80211-fields.py
index 1dbef2e910..dfa8faaf62 100755
--- a/tools/generate-nl80211-fields.py
+++ b/tools/generate-nl80211-fields.py
@@ -168,7 +168,11 @@ def remove_prefix(prefix, text):
return text[len(prefix):]
return text
-def make_hfi(name, indent):
+def make_hf_defs(name, indent):
+ code = 'static gint hf_%s = -1;' % name
+ return code
+
+def make_hf(name, indent):
(field_name, field_type, field_blurb) = EXPORT_ENUMS.get(name)
field_abbrev = name
@@ -189,20 +193,18 @@ def make_hfi(name, indent):
field_abbrev = rename_fields[name]
field_abbrev = remove_prefix('nl80211_', field_abbrev)
- code = 'static header_field_info hfi_%s =\n' % name
- code += indent + '{ "%s", "nl80211.%s", %s, BASE_DEC | BASE_EXT_STRING,\n' % \
- (field_name, field_abbrev, field_type)
- code += indent + ' VALS_EXT_PTR(&ws_%s_vals_ext), 0x00, %s, HFILL };\n' % (name, field_blurb)
+ code = indent + indent + '{ &hf_%s,\n' % name
+ code += indent*3 + '{ "%s", "nl80211.%s",\n' % (field_name, field_abbrev)
+ code += indent*3 + ' %s, BASE_DEC | BASE_EXT_STRING,\n' % (field_type)
+ code += indent*3 + ' VALS_EXT_PTR(&ws_%s_vals_ext), 0x00,\n' % (name)
+ code += indent*3 + ' %s, HFILL },\n' % (field_blurb)
+ code += indent + indent + '},'
return code
def make_ett_defs(name, indent):
code = 'static gint ett_%s = -1;' % name
return code
-def make_hfi_init(name, indent):
- code = indent + indent + '&hfi_%s,' % name
- return code
-
def make_ett(name, indent):
code = indent + indent + '&ett_%s,' % name
return code
@@ -317,19 +319,19 @@ def main():
"Could not parse data, found %d/%d results" % \
(len(enums), len(EXPORT_ENUMS))
- code_enums, code_vals, code_hfi, code_ett_defs, code_hfi_init, code_ett = '', '', '', '', '', ''
+ code_enums, code_vals, code_hf_defs, code_ett_defs, code_hf, code_ett = '', '', '', '', '', ''
for enum_name, enum_values, expressions in enums:
code_enums += make_enum(enum_name, enum_values, expressions, indent) + '\n'
code_vals += make_value_string(enum_name, enum_values, indent) + '\n'
- code_hfi += make_hfi(enum_name, indent) + '\n'
+ code_hf_defs += make_hf_defs(enum_name, indent) + '\n'
code_ett_defs += make_ett_defs(enum_name, indent) + '\n'
- code_hfi_init += make_hfi_init(enum_name, indent) + '\n'
+ code_hf += make_hf(enum_name, indent) + '\n'
code_ett += make_ett(enum_name, indent) + '\n'
- code_top = code_enums + code_vals + code_hfi + code_ett_defs
+ code_top = code_enums + code_vals + code_hf_defs + '\n' + code_ett_defs
code_top = code_top.rstrip("\n") + "\n"
- code = [code_top, code_hfi_init, code_ett]
+ code = [code_top, code_hf, code_ett]
update = False
if args.update: