1 /* 2 * video1394.h - driver for OHCI 1394 boards 3 * Copyright (C)1999,2000 Sebastien Rougeaux <sebastien.rougeaux@anu.edu.au> 4 * Peter Schlaile <udbz@rz.uni-karlsruhe.de> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software Foundation, 18 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 */ 20 21 #ifndef _VIDEO_1394_H 22 #define _VIDEO_1394_H 23 24 #include "ieee1394-ioctl.h" 25 26 #define VIDEO1394_DRIVER_NAME "video1394" 27 28 #define VIDEO1394_MAX_SIZE 0x4000000 29 30 enum { 31 VIDEO1394_BUFFER_FREE = 0, 32 VIDEO1394_BUFFER_QUEUED, 33 VIDEO1394_BUFFER_READY 34 }; 35 36 #define VIDEO1394_SYNC_FRAMES 0x00000001 37 #define VIDEO1394_INCLUDE_ISO_HEADERS 0x00000002 38 #define VIDEO1394_VARIABLE_PACKET_SIZE 0x00000004 39 40 struct video1394_mmap { 41 int channel; /* -1 to find an open channel in LISTEN/TALK */ 42 unsigned int sync_tag; 43 unsigned int nb_buffers; 44 unsigned int buf_size; 45 unsigned int packet_size; /* For VARIABLE_PACKET_SIZE: 46 Maximum packet size */ 47 unsigned int fps; 48 unsigned int syt_offset; 49 unsigned int flags; 50 }; 51 52 /* For TALK_QUEUE_BUFFER with VIDEO1394_VARIABLE_PACKET_SIZE use */ 53 struct video1394_queue_variable { 54 unsigned int channel; 55 unsigned int buffer; 56 unsigned int __user * packet_sizes; /* Buffer of size: 57 buf_size / packet_size */ 58 }; 59 60 struct video1394_wait { 61 unsigned int channel; 62 unsigned int buffer; 63 struct timeval filltime; /* time of buffer full */ 64 }; 65 66 67 #endif 68