def METHOD_NAME(field_list):
    class subtables(cdata.Struct):
        _pack_ = 1
        _fields_ = field_list
        def __iter__(self):
            for f in self._fields_:
                yield getattr(self, f[0])
    class DMARSubtableATSR(cdata.Struct):
        _pack = 1
        _fields_ = copy.copy(DMARSubtable._fields_) + [
            ('flags', atsr_flags),
            ('reserved', ctypes.c_uint8),
            ('segment_number', ctypes.c_uint16),
            ('device_scopes', subtables),
        ]
    return DMARSubtableATSR