#ifndef _TSLIB_FILTER_H_
#define _TSLIB_FILTER_H_
/*
 *  tslib/src/tslib-filter.h
 *
 *  Copyright (C) 2001 Russell King.
 *
 * This file is placed under the LGPL.
 *
 * $Id: tslib-filter.h,v 1.3 2005/03/01 18:18:05 kergoth Exp $
 *
 * Internal touch screen library definitions.
 */
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#include <tslib.h>

struct tslib_module_info;
struct tsdev;

struct tslib_vars {
	const char *name;
	void *data;
	int (*fn)(struct tslib_module_info *inf, char *str, void *data);
};

struct tslib_ops {
	int (*read)(struct tslib_module_info *inf, struct ts_sample *samp, int nr);
	int (*fini)(struct tslib_module_info *inf);
};

struct tslib_module_info {
	struct tsdev *dev;
	struct tslib_module_info *next;	/* next module in chain	*/
	const struct tslib_ops *ops;
	void *handle;			/* dl handle		*/
};

#if 0
TSAPI extern int tslib_parse_vars(struct tslib_module_info *,
			    const struct tslib_vars *, int,
			    const char *);
#endif

#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _TSLIB_FILTER_H_ */
