1*b285192aSMauro Carvalho Chehab /* 2*b285192aSMauro Carvalho Chehab * cx18 file operation functions 3*b285192aSMauro Carvalho Chehab * 4*b285192aSMauro Carvalho Chehab * Derived from ivtv-fileops.h 5*b285192aSMauro Carvalho Chehab * 6*b285192aSMauro Carvalho Chehab * Copyright (C) 2007 Hans Verkuil <hverkuil@xs4all.nl> 7*b285192aSMauro Carvalho Chehab * 8*b285192aSMauro Carvalho Chehab * This program is free software; you can redistribute it and/or modify 9*b285192aSMauro Carvalho Chehab * it under the terms of the GNU General Public License as published by 10*b285192aSMauro Carvalho Chehab * the Free Software Foundation; either version 2 of the License, or 11*b285192aSMauro Carvalho Chehab * (at your option) any later version. 12*b285192aSMauro Carvalho Chehab * 13*b285192aSMauro Carvalho Chehab * This program is distributed in the hope that it will be useful, 14*b285192aSMauro Carvalho Chehab * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*b285192aSMauro Carvalho Chehab * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*b285192aSMauro Carvalho Chehab * GNU General Public License for more details. 17*b285192aSMauro Carvalho Chehab * 18*b285192aSMauro Carvalho Chehab * You should have received a copy of the GNU General Public License 19*b285192aSMauro Carvalho Chehab * along with this program; if not, write to the Free Software 20*b285192aSMauro Carvalho Chehab * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 21*b285192aSMauro Carvalho Chehab * 02111-1307 USA 22*b285192aSMauro Carvalho Chehab */ 23*b285192aSMauro Carvalho Chehab 24*b285192aSMauro Carvalho Chehab /* Testing/Debugging */ 25*b285192aSMauro Carvalho Chehab int cx18_v4l2_open(struct file *filp); 26*b285192aSMauro Carvalho Chehab ssize_t cx18_v4l2_read(struct file *filp, char __user *buf, size_t count, 27*b285192aSMauro Carvalho Chehab loff_t *pos); 28*b285192aSMauro Carvalho Chehab ssize_t cx18_v4l2_write(struct file *filp, const char __user *buf, size_t count, 29*b285192aSMauro Carvalho Chehab loff_t *pos); 30*b285192aSMauro Carvalho Chehab int cx18_v4l2_close(struct file *filp); 31*b285192aSMauro Carvalho Chehab unsigned int cx18_v4l2_enc_poll(struct file *filp, poll_table *wait); 32*b285192aSMauro Carvalho Chehab int cx18_start_capture(struct cx18_open_id *id); 33*b285192aSMauro Carvalho Chehab void cx18_stop_capture(struct cx18_open_id *id, int gop_end); 34*b285192aSMauro Carvalho Chehab void cx18_mute(struct cx18 *cx); 35*b285192aSMauro Carvalho Chehab void cx18_unmute(struct cx18 *cx); 36*b285192aSMauro Carvalho Chehab int cx18_v4l2_mmap(struct file *file, struct vm_area_struct *vma); 37*b285192aSMauro Carvalho Chehab void cx18_vb_timeout(unsigned long data); 38*b285192aSMauro Carvalho Chehab 39*b285192aSMauro Carvalho Chehab /* Shared with cx18-alsa module */ 40*b285192aSMauro Carvalho Chehab int cx18_claim_stream(struct cx18_open_id *id, int type); 41*b285192aSMauro Carvalho Chehab void cx18_release_stream(struct cx18_stream *s); 42