tizen 2.3.1 release
[external/alsa-lib.git] / src / ucm / ucm_local.h
index 1b00ea2..03d3ace 100644 (file)
@@ -9,9 +9,9 @@
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  *  Lesser General Public License for more details.
  *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software  
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  *
  *  Support for the verb/device/modifier core logic and API,
  *  command line tool and file parser was kindly sponsored by
@@ -57,7 +57,7 @@ struct sequence_element {
        struct list_head list;
        unsigned int type;
        union {
-               long sleep; /* Sleep time in msecs if sleep element, else 0 */
+               long sleep; /* Sleep time in microseconds if sleep element, else 0 */
                char *cdev;
                char *cset;
                char *exec;
@@ -76,11 +76,21 @@ struct transition_sequence {
 /*
  * Modifier Supported Devices.
  */
-struct dev_list {
+enum dev_list_type {
+       DEVLIST_NONE,
+       DEVLIST_SUPPORTED,
+       DEVLIST_CONFLICTING
+};
+
+struct dev_list_node {
        struct list_head list;
        char *name;
 };
 
+struct dev_list {
+       enum dev_list_type type;
+       struct list_head list;
+};
 
 /*
  * Describes a Use Case Modifier and it's enable and disable sequences.
@@ -100,8 +110,8 @@ struct use_case_modifier {
        /* modifier transition list */
        struct list_head transition_list;
 
-       /* list of supported devices per modifier */
-       struct list_head dev_list;
+       /* list of devices supported or conflicting */
+       struct dev_list dev_list;
 
        /* values */
        struct list_head value_list;
@@ -125,6 +135,9 @@ struct use_case_device {
        /* device transition list */
        struct list_head transition_list;
 
+       /* list of devices supported or conflicting */
+       struct dev_list dev_list;
+
        /* value list */
        struct list_head value_list;
 };