basekernel/kernel/ata.h

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