33 lines
		
	
	
		
			753 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			753 B
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /*
 | ||
|  | Copyright (C) 2015-2019 The University of Notre Dame | ||
|  | This software is distributed under the GNU General Public License. | ||
|  | See the file LICENSE for details. | ||
|  | */ | ||
|  | 
 | ||
|  | #ifndef ATA_H
 | ||
|  | #define ATA_H
 | ||
|  | 
 | ||
|  | #define ATA_BLOCKSIZE 512
 | ||
|  | #define ATAPI_BLOCKSIZE 2048
 | ||
|  | 
 | ||
|  | #include "device.h"
 | ||
|  | 
 | ||
|  | struct ata_count { | ||
|  | 	int blocks_written[4]; | ||
|  | 	int blocks_read[4]; | ||
|  | }; | ||
|  | 
 | ||
|  | void ata_init(); | ||
|  | 
 | ||
|  | struct ata_count ata_stats(); | ||
|  | void ata_reset(int unit); | ||
|  | 
 | ||
|  | int ata_probe(int unit, int *nblocks, int *blocksize, char *name); | ||
|  | int ata_read(int unit, void *buffer, int nblocks, int offset); | ||
|  | int ata_write(int unit, const void *buffer, int nblocks, int offset); | ||
|  | 
 | ||
|  | int atapi_probe(int unit, int *nblocks, int *blocksize, char *name); | ||
|  | int atapi_read(int unit, void *buffer, int nblocks, int offset); | ||
|  | 
 | ||
|  | #endif
 |