···7676# Here begins a long set of transformations to turn structure member prefixes7777# and macro invocations into something we can parse and generate kdoc for.7878#7979-struct_attribute = KernRe(r"__attribute__\s*\(\([a-z0-9,_\*\s\(\)]*\)\)",8080- flags=re.I | re.S, cache=False)8179struct_args_pattern = r'([^,)]+)'82808381struct_prefixes = [8482 # Strip attributes8585- (struct_attribute, ' '),8383+ (KernRe(r"__attribute__\s*\(\([a-z0-9,_\*\s\(\)]*\)\)", flags=re.I | re.S, cache=False), ' '),8684 (KernRe(r'\s*__aligned\s*\([^;]*\)', re.S), ' '),8785 (KernRe(r'\s*__counted_by\s*\([^;]*\)', re.S), ' '),8886 (KernRe(r'\s*__counted_by_(le|be)\s*\([^;]*\)', re.S), ' '),