def get_ht_mcs(mcs):
    """http://git.kernel.org/cgit/linux/kernel/git/jberg/iw.git/tree/util.c?id=v3.17#n591.

    Positional arguments:
    mcs -- bytearray.

    Returns:
    Dict.
    """
    answers = dict()
    max_rx_supp_data_rate = (mcs[10] & ((mcs[11] & 0x3) << 8))
    tx_mcs_set_defined = not not (mcs[12] & (1 << 0))
    tx_mcs_set_equal = not (mcs[12] & (1 << 1))
    tx_max_num_spatial_streams = ((mcs[12] >> 2) & 3) + 1
    tx_unequal_modulation = not not (mcs[12] & (1 << 4))

    if max_rx_supp_data_rate:
        answers['HT Max RX data rate (Mbps)'] = max_rx_supp_data_rate

    if tx_mcs_set_defined and tx_mcs_set_equal:
        answers['HT TX/RX MCS rate indexes supported'] = get_mcs_index(mcs)
    elif tx_mcs_set_defined:
        answers['HT RX MCS rate indexes supported'] = get_mcs_index(mcs)
        answers['TX unequal modulation supported'] = bool(tx_unequal_modulation)
        answers['HT TX Max spatial streams'] = tx_max_num_spatial_streams
    else:
        answers['HT RX MCS rate indexes supported'] = get_mcs_index(mcs)

    return answers