Search
lxdream.org :: lxdream/src/drivers/cdrom/isofs.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/drivers/cdrom/isofs.h
changeset 1179:af1c5d7d5a5a
prev1152:6464d890cc9e
author Nathan Keynes <nkeynes@lxdream.org>
date Sun Sep 18 08:24:27 2011 +1000 (12 years ago)
permissions -rw-r--r--
last change Include stdint.h before libisofs.h - needed for more recent versions
file annotate diff log raw
nkeynes@1107
     1
/**
nkeynes@1107
     2
 * $Id$
nkeynes@1107
     3
 *
nkeynes@1107
     4
 * libisofs adapter
nkeynes@1107
     5
 *
nkeynes@1107
     6
 * Copyright (c) 2010 Nathan Keynes.
nkeynes@1107
     7
 *
nkeynes@1107
     8
 * This program is free software; you can redistribute it and/or modify
nkeynes@1107
     9
 * it under the terms of the GNU General Public License as published by
nkeynes@1107
    10
 * the Free Software Foundation; either version 2 of the License, or
nkeynes@1107
    11
 * (at your option) any later version.
nkeynes@1107
    12
 *
nkeynes@1107
    13
 * This program is distributed in the hope that it will be useful,
nkeynes@1107
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nkeynes@1107
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
nkeynes@1107
    16
 * GNU General Public License for more details.
nkeynes@1107
    17
 */
nkeynes@1107
    18
nkeynes@1107
    19
#ifndef cdrom_isofs_H
nkeynes@1107
    20
#define cdrom_isofs_H 1
nkeynes@1107
    21
nkeynes@1179
    22
#include <stdint.h>
nkeynes@1111
    23
#include <libisofs.h>
nkeynes@1107
    24
#include "drivers/cdrom/sector.h"
nkeynes@1107
    25
nkeynes@1107
    26
/**
nkeynes@1107
    27
 * Construct an IsoFilesystem from an existing sector source
nkeynes@1107
    28
 */
nkeynes@1107
    29
IsoImageFilesystem *iso_filesystem_new_from_source( sector_source_t track, cdrom_lba_t start, ERROR *err );
nkeynes@1107
    30
IsoImageFilesystem *iso_filesystem_new_from_disc( cdrom_disc_t disc, cdrom_lba_t start, ERROR *err );
nkeynes@1107
    31
IsoImageFilesystem *iso_filesystem_new_from_track( cdrom_disc_t disc, cdrom_track_t track, ERROR *err );
nkeynes@1107
    32
nkeynes@1107
    33
nkeynes@1107
    34
/**
nkeynes@1107
    35
 * Convenience function to read an entire IsoFileSource
nkeynes@1107
    36
 */
nkeynes@1107
    37
int iso_source_file_read_all( IsoFileSource *file, unsigned char *buf, size_t max_size );
nkeynes@1107
    38
nkeynes@1107
    39
/**
nkeynes@1107
    40
 * Construct an IsoImage image from an existing sector source, for use in
nkeynes@1107
    41
 * creating a modified image
nkeynes@1107
    42
 */
nkeynes@1107
    43
IsoImage *iso_image_new_from_source( sector_source_t track, cdrom_lba_t start, ERROR *err );
nkeynes@1107
    44
nkeynes@1107
    45
/**
nkeynes@1107
    46
 * Construct an IsoImage from a cdrom disc and sector position.
nkeynes@1107
    47
 * @return a new isofs_reader, or NULL on an error.
nkeynes@1107
    48
 */
nkeynes@1107
    49
IsoImage *iso_image_new_from_disc( cdrom_disc_t disc, cdrom_lba_t start_sector, ERROR *err );
nkeynes@1107
    50
nkeynes@1107
    51
IsoImage *iso_image_new_from_track( cdrom_disc_t disc, cdrom_track_t track, ERROR *err );
nkeynes@1107
    52
nkeynes@1107
    53
/**
nkeynes@1107
    54
 * Construct a sector source from a given IsoImage.
nkeynes@1107
    55
 */
nkeynes@1107
    56
sector_source_t iso_sector_source_new( IsoImage *image, sector_mode_t mode, cdrom_lba_t start_sector,
nkeynes@1107
    57
                                       const char *bootstrap, ERROR *err );
nkeynes@1107
    58
nkeynes@1108
    59
nkeynes@1108
    60
/** Prototypes for "Internal" Libisofs functions */
nkeynes@1152
    61
int iso_mem_stream_new(unsigned char *buf, size_t size, IsoStream **stream);
nkeynes@1108
    62
nkeynes@1107
    63
#endif /* !cdrom_isofs_H */
.