1 /*
2  * Copyright (c) 2007 Vreixo Formoso
3  * Copyright (c) 2009 - 2016 Thomas Schmitt
4  *
5  * This file is part of the libisofs project; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License version 2
7  * or later as published by the Free Software Foundation.
8  * See COPYING file for details.
9  */
10 
11 #ifndef LIBISO_FSOURCE_H_
12 #define LIBISO_FSOURCE_H_
13 
14 /*
15  * Definitions for the file sources. Most functions/structures related with
16  * this were moved to libisofs.h.
17  */
18 
19 #include "libisofs.h"
20 
21 #define ISO_LOCAL_FS_ID        1
22 #define ISO_IMAGE_FS_ID        2
23 #define ISO_ELTORITO_FS_ID     3
24 #define ISO_MEM_FS_ID          4
25 #define ISO_FILTER_FS_ID       5
26 
27 /**
28  * Create a new IsoFilesystem to deal with local filesystem.
29  *
30  * @return
31  *     1 success, < 0 error
32  */
33 int iso_local_filesystem_new(IsoFilesystem **fs);
34 
35 
36 /* Rank two IsoFileSource of ifs_class by their eventual old image LBAs.
37  * @param cmp_ret  will return the reply value -1, 0, or 1.
38  * @return         1= *cmp_ret is a valid reply
39  *                 0= not both streams are of ifs_class,
40  *                    *cmp_ret is only a rough estimation.
41 */
42 int iso_ifs_sections_cmp(IsoFileSource *s1, IsoFileSource *s2, int *cmp_ret,
43                          int flag);
44 
45 
46 /* Create an independent copy of an ifs_class IsoFileSource.
47 */
48 int iso_ifs_source_clone(IsoFileSource *old_source, IsoFileSource **new_source,
49                          int flag);
50 
51 
52 #endif /*LIBISO_FSOURCE_H_*/
53