 47cea614a1
			
		
	
	
		47cea614a1
		
	
	
	
	
		
			
			git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@813 c046a42c-6fe2-441c-8c8c-71466251a162
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|    Copyright (C) Matthew Chapman 2003
 | |
| 
 | |
|    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., 675 Mass Ave, Cambridge, MA 02139, USA.
 | |
| */
 | |
| 
 | |
| #define SECTOR_BITS	9
 | |
| #define SECTOR_SIZE	(1 << SECTOR_BITS)
 | |
| #define SECTOR_MASK	(SECTOR_SIZE - 1)
 | |
| 
 | |
| #define L1_BITS		(SECTOR_BITS - 3)
 | |
| #define L1_SIZE		(1 << L1_BITS)
 | |
| #define L1_MASK		(L1_SIZE - 1)
 | |
| 
 | |
| #define L2_BITS		SECTOR_BITS
 | |
| #define L2_SIZE		(1 << L2_BITS)
 | |
| #define L2_MASK		(L2_SIZE - 1)
 | |
| 
 | |
| #define MIN(x,y)	(((x) < (y)) ? (x) : (y))
 | |
| 
 | |
| struct cowdisk_header
 | |
| {
 | |
|     char magic[4]; /* COWD */
 | |
|     uint32_t version;
 | |
|     uint32_t flags;
 | |
|     uint32_t disk_sectors;
 | |
|     uint32_t granularity;
 | |
|     uint32_t l1dir_sector;
 | |
|     uint32_t l1dir_size;
 | |
|     uint32_t file_sectors;
 | |
|     uint32_t cylinders;
 | |
|     uint32_t heads;
 | |
|     uint32_t sectors_per_track;
 | |
| };
 | |
| 
 | |
| struct cowdisk_header2
 | |
| {
 | |
|    uint32_t parent_ts;
 | |
|    uint32_t timestamp;
 | |
| };
 |