diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2012-02-22 23:27:15 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2012-04-16 23:40:56 +0200 |
commit | 211507d598b67e6e274275ab472d5e81ec1afcec (patch) | |
tree | 47d4ba219c740b85dd563e312083f2787016d0ec /events.h | |
parent | 4dd4dcb4f594c872df222390031975d06adc7e71 (diff) |
Factor event handling code out into events.c
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'events.h')
-rw-r--r-- | events.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/events.h b/events.h new file mode 100644 index 0000000..00a14bf --- /dev/null +++ b/events.h @@ -0,0 +1,50 @@ +/* + * OMAP3 generic events handling + * + * Copyright (C) 2010-2012 Ideas on board SPRL + * + * Contact: Laurent Pinchart <laurent.pinchart@ideasonboard.com> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU 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., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __EVENTS_H__ +#define __EVENTS_H__ + +#include <stdbool.h> +#include <sys/select.h> + +#include "isp/list.h" + +struct events { + struct list_entry events; + bool done; + + int maxfd; + fd_set rfds; + fd_set wfds; +}; + +void events_watch_fd(struct events *events, int fd, + enum omap3_isp_event_type type, + void(*callback)(void *), void *priv); +void events_unwatch_fd(struct events *events, int fd); + +bool events_loop(struct events *events); +void events_stop(struct events *events); + +void events_init(struct events *events); + +#endif |