From 024f069d1f0feb3ecb2eea6b1443536defb01f35 Mon Sep 17 00:00:00 2001 From: Ian C Date: Mon, 7 May 2007 02:05:54 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r2, which included commits to RCS files with non-trunk default branches. --- src/diskimg.h | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 src/diskimg.h (limited to 'src/diskimg.h') diff --git a/src/diskimg.h b/src/diskimg.h new file mode 100644 index 0000000..f355c50 --- /dev/null +++ b/src/diskimg.h @@ -0,0 +1,99 @@ +/* + + atarisio - A UNIX backend for an Atari SIO2PC lead. + + Copyright (C) 2004 Ian Cowburn (ianc@noddybox.demon.co.uk) + + 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------- + + Disk handling + +*/ + +#ifndef ATARIOSIO_DISKIMG_H +#define ATARIOSIO_DISKIMG_H "$Id$" + +#include "util.h" + + +/* Type representing a disk +*/ +struct sDiskImg; +typedef struct sDiskImg *DiskImg; + + +/* Type representing disk config +*/ +typedef struct +{ + unsigned sectors; + unsigned bytes_per_sector; + int write_protect; +} DiskInfo; + + +/* Load a disk - returns NULL for error. +*/ +DiskImg DiskImgLoad(const char *path); + + +/* Why the last operation failed +*/ +const char *DiskImgError(void); + + +/* Read a sector (NULL if invalid sector) +*/ +const uchar *DiskImgGetSector(DiskImg img, unsigned sector); + + +/* Write a sector (returns FALSE for invalid sector) +*/ +int DiskImgPutSector(DiskImg img, unsigned sector, + const uchar *data); + + +/* Create a blank disk +*/ +DiskImg DiskImgNew(unsigned sectors, unsigned bytes_per_sector); + + +/* Write a disk image - silently ignored for read only disks. Returns TRUE + for success. If path is NULL then the path the file was loaded from is used. +*/ +int DiskImgSave(DiskImg img, const char *path); + + +/* Free up a disk image +*/ +void DiskImgFree(DiskImg img); + + +/* Returns info on a disk +*/ +void DiskImgInfo(DiskImg img, DiskInfo *info); + + +/* Returns path to a disk +*/ +const char *DiskImgPath(DiskImg img); + + +#endif + + +/* END OF FILE */ -- cgit v1.2.3