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
|