55 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
| /*
 | |
|  *
 | |
|  Copyright (c) Eicon Networks, 2002.
 | |
|  *
 | |
|  This source file is supplied for the use with
 | |
|  Eicon Networks range of DIVA Server Adapters.
 | |
|  *
 | |
|  Eicon File Revision :    2.1
 | |
|  *
 | |
|  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, or (at your option)
 | |
|  any later version.
 | |
|  *
 | |
|  This program is distributed in the hope that it will be useful,
 | |
|  but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
 | |
|  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., 675 Mass Ave, Cambridge, MA 02139, USA.
 | |
|  *
 | |
|  */
 | |
| #ifndef __DIVA_IDI_DFIFO_INC__
 | |
| #define __DIVA_IDI_DFIFO_INC__
 | |
| #define DIVA_DFIFO_CACHE_SZ   64 /* Used to isolate pipe from
 | |
| 				    rest of the world
 | |
| 				    should be divisible by 4
 | |
| 				 */
 | |
| #define DIVA_DFIFO_RAW_SZ    (2512 * 8)
 | |
| #define DIVA_DFIFO_DATA_SZ   68
 | |
| #define DIVA_DFIFO_HDR_SZ    4
 | |
| #define DIVA_DFIFO_SEGMENT_SZ  (DIVA_DFIFO_DATA_SZ + DIVA_DFIFO_HDR_SZ)
 | |
| #define DIVA_DFIFO_SEGMENTS   ((DIVA_DFIFO_RAW_SZ) / (DIVA_DFIFO_SEGMENT_SZ) + 1)
 | |
| #define DIVA_DFIFO_MEM_SZ (						\
 | |
| 		(DIVA_DFIFO_SEGMENT_SZ) * (DIVA_DFIFO_SEGMENTS) +	\
 | |
| 		(DIVA_DFIFO_CACHE_SZ) * 2				\
 | |
| 		)
 | |
| #define DIVA_DFIFO_STEP DIVA_DFIFO_SEGMENT_SZ
 | |
| /* -------------------------------------------------------------------------
 | |
|    Block header layout is:
 | |
|    byte[0] -> flags
 | |
|    byte[1] -> length of data in block
 | |
|    byte[2] -> reserved
 | |
|    byte[4] -> reserved
 | |
|    ------------------------------------------------------------------------- */
 | |
| #define DIVA_DFIFO_WRAP   0x80 /* This is the last block in fifo   */
 | |
| #define DIVA_DFIFO_READY  0x40 /* This block is ready for processing */
 | |
| #define DIVA_DFIFO_LAST   0x20 /* This block is last in message      */
 | |
| #define DIVA_DFIFO_AUTO   0x10 /* Don't look for 'ready', don't ack */
 | |
| int diva_dfifo_create(void *start, int length);
 | |
| #endif
 | 
