/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* * Keeps a list of playback devices that should be ignored for a card. This is * useful for devices that present non-functional alsa devices. For instance * some mics show a phantom playback device. */ #ifndef CRAS_DEVICE_BLACKLIST_H_ #define CRAS_DEVICE_BLACKLIST_H_ #include #include "cras_types.h" struct cras_device_blacklist; /* Creates a blacklist of devices that should never be added to the system. * Args: * config_path - Path containing the config files. * Returns: * A pointer to the created blacklist on success, NULL on failure. */ struct cras_device_blacklist *cras_device_blacklist_create( const char *config_path); /* Destroys a blacklist returned by cras_device_blacklist_create(). * Args: * blacklist - Blacklist returned by cras_device_blacklist_create() */ void cras_device_blacklist_destroy(struct cras_device_blacklist *blacklist); /* Checks if a playback device on a USB card is blacklisted. * Args: * blacklist - Blacklist returned by cras_device_blacklist_create() * vendor_id - USB vendor ID. * product_id - USB product ID. * device_index - Index of the alsa device in the card. * Returns: * 1 if the device is blacklisted, 0 otherwise. */ int cras_device_blacklist_check(struct cras_device_blacklist *blacklist, unsigned vendor_id, unsigned product_id, unsigned desc_checksum, unsigned device_index); #endif /* CRAS_CARD_DEVICE_BLACKLIST_H_ */