Return possible adapter modes for a given interface using a blacklist.

    :param interface: interface name
    :param blacklist: given blacklist
    :return: list of possible adapter modes

def _get_possible_adapter_modes(interface, blacklist):
    '''
    Return possible adapter modes for a given interface using a blacklist.

    :param interface: interface name
    :param blacklist: given blacklist
    :return: list of possible adapter modes
    '''
    adapter_modes = []
    protocols = _load_config('lvrt', ['AdditionalNetworkProtocols'])['AdditionalNetworkProtocols'].lower()
    sys_interface_path = os.readlink('/sys/class/net/{0}'.format(interface))
    with salt.utils.files.fopen('/sys/class/net/{0}/uevent'.format(interface)) as uevent_file:
        uevent_lines = uevent_file.readlines()
    uevent_devtype = ""
    for line in uevent_lines:
        if line.startswith("DEVTYPE="):
            uevent_devtype = line.split('=')[1].strip()
            break

    for adapter_mode in blacklist:
        if adapter_mode == '_':
            continue
        value = blacklist.get(adapter_mode, {})
        if value.get('additional_protocol') and adapter_mode not in protocols:
            continue

        if interface not in value['name'] \
            and not any((blacklist['_'][iface_type] == 'sys' and iface_type in sys_interface_path) or
                        (blacklist['_'][iface_type] == 'uevent' and iface_type == uevent_devtype)
                        for iface_type in value['type']):
            adapter_modes += [adapter_mode]
    return adapter_modes