1 /**
2  * Copyright (C) 2008, Creative Technology Ltd. All Rights Reserved.
3  *
4  * This source file is released under GPL v2 license (no other versions).
5  * See the COPYING file included in the main directory of this source
6  * distribution for the license terms and conditions.
7  *
8  * @File	ctimap.h
9  *
10  * @Brief
11  * This file contains the definition of generic input mapper operations
12  * for input mapper management.
13  *
14  * @Author	Liu Chun
15  * @Date 	May 23 2008
16  *
17  */
18 
19 #ifndef CTIMAP_H
20 #define CTIMAP_H
21 
22 #include <linux/list.h>
23 
24 struct imapper {
25 	unsigned short slot; /* the id of the slot containing input data */
26 	unsigned short user; /* the id of the user resource consuming data */
27 	unsigned short addr; /* the input mapper ram id */
28 	unsigned short next; /* the next input mapper ram id */
29 	struct list_head	list;
30 };
31 
32 int input_mapper_add(struct list_head *mappers, struct imapper *entry,
33 		     int (*map_op)(void *, struct imapper *), void *data);
34 
35 int input_mapper_delete(struct list_head *mappers, struct imapper *entry,
36 		     int (*map_op)(void *, struct imapper *), void *data);
37 
38 void free_input_mapper_list(struct list_head *mappers);
39 
40 #endif /* CTIMAP_H */
41