1/*
2 * Copyright (C) 2013 Google, Inc.
3 *
4 * This software is licensed under the terms of the GNU General Public
5 * License version 2, as published by the Free Software Foundation, and
6 * may be copied, distributed, and modified under those terms.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * GNU General Public License for more details.
12 *
13 */
14
15#ifndef __VIDEO_ADF_ADF_FOPS_H
16#define __VIDEO_ADF_ADF_FOPS_H
17
18#include <linux/bitmap.h>
19#include <linux/fs.h>
20
21extern const struct file_operations adf_fops;
22
23struct adf_file {
24	struct list_head head;
25	struct adf_obj *obj;
26
27	DECLARE_BITMAP(event_subscriptions, ADF_EVENT_TYPE_MAX);
28	u8 event_buf[4096];
29	int event_head;
30	int event_tail;
31	wait_queue_head_t event_wait;
32};
33
34void adf_file_queue_event(struct adf_file *file, struct adf_event *event);
35long adf_file_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
36
37#endif /* __VIDEO_ADF_ADF_FOPS_H */
38