def _windows_get_covered_types(windows):
    """
    Gets list of types covered by an NSECx windows list.

    :param list windows: An NSEC or NSEC3 windows list.
    :return: List of dns.rdatatype's that the NSECx covers.
    """
    types = []
    for win in windows:
        window = win[0]
        bitmap = win[1]
        if bitmap:
            for byte in range(len(bitmap)):
                bits = bitmap[byte]
                if bits:
                    for bit in range(8):
                        if bits & 128 >> bit:
                            types.append(window * 256 + byte * 8 + bit)
    return types
