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