6 * Copyright (c) 2010 Nathan Keynes.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
20 #define cdrom_isofs_H 1
24 #include "drivers/cdrom/sector.h"
27 * Construct an IsoFilesystem from an existing sector source
29 IsoImageFilesystem *iso_filesystem_new_from_source( sector_source_t track, cdrom_lba_t start, ERROR *err );
30 IsoImageFilesystem *iso_filesystem_new_from_disc( cdrom_disc_t disc, cdrom_lba_t start, ERROR *err );
31 IsoImageFilesystem *iso_filesystem_new_from_track( cdrom_disc_t disc, cdrom_track_t track, ERROR *err );
35 * Convenience function to read an entire IsoFileSource
37 int iso_source_file_read_all( IsoFileSource *file, unsigned char *buf, size_t max_size );
40 * Construct an IsoImage image from an existing sector source, for use in
41 * creating a modified image
43 IsoImage *iso_image_new_from_source( sector_source_t track, cdrom_lba_t start, ERROR *err );
46 * Construct an IsoImage from a cdrom disc and sector position.
47 * @return a new isofs_reader, or NULL on an error.
49 IsoImage *iso_image_new_from_disc( cdrom_disc_t disc, cdrom_lba_t start_sector, ERROR *err );
51 IsoImage *iso_image_new_from_track( cdrom_disc_t disc, cdrom_track_t track, ERROR *err );
54 * Construct a sector source from a given IsoImage.
56 sector_source_t iso_sector_source_new( IsoImage *image, sector_mode_t mode, cdrom_lba_t start_sector,
57 const char *bootstrap, ERROR *err );
60 /** Prototypes for "Internal" Libisofs functions */
61 int iso_mem_stream_new(unsigned char *buf, size_t size, IsoStream **stream);
63 #endif /* !cdrom_isofs_H */
.