diff options
author | Ian C <ianc@noddybox.co.uk> | 2007-05-07 02:05:54 +0000 |
---|---|---|
committer | Ian C <ianc@noddybox.co.uk> | 2007-05-07 02:05:54 +0000 |
commit | 024f069d1f0feb3ecb2eea6b1443536defb01f35 (patch) | |
tree | fd108ce1dcc82fe14029db250f4505ea7f4321ff /src/diskimg.h | |
parent | c657944c91fae5f581839912cb0a55bee84c9278 (diff) |
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'src/diskimg.h')
-rw-r--r-- | src/diskimg.h | 99 |
1 files changed, 99 insertions, 0 deletions
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 */ |