Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / libhfs_iso / hybrid.h
1 /*
2  * This file has been modified for the cdrkit suite.
3  *
4  * The behaviour and appearence of the program code below can differ to a major
5  * extent from the version distributed by the original author(s).
6  *
7  * For details, see Changelog file distributed with the cdrkit package. If you
8  * received this file from another source then ask the distributing person for
9  * a log of modifications.
10  *
11  */
12
13 /* @(#)hybrid.h 1.3 02/10/04 joerg */
14 /*
15 **      hybrid.h: extra info needed by libhfs and mkisofs
16 **
17 **      James Pearson 15/9/97
18 */
19
20 #ifndef _HYBRID_H
21
22 /*
23  *      The following three variables can be overridden at run time
24  *      by using the -hfs-parms option i.e. to use the following defaults
25  *      you could use: -hfs-parms CTC=2,CTC_LOOP=4,MAX_XTCSIZE=4194304
26  *      i.e. to change just MAX_XTCSIZE to 2Mb use:
27  *      -hfs-parms MAX_XTCSIZE=2097152
28  */
29
30 #define CTC     2               /* factor to increase initial Catalog file
31                                    size to prevent the file growing */
32 #define CTC_LOOP 4              /* number of attemps before we give up
33                                    trying to create the volume */
34
35 #define MAX_XTCSIZE 4*1024*1024 /* the maximum size of the Catalog file -
36                                    as the size of the Catalog file is linked
37                                    to the size of the volume, multi-gigabyte
38                                    volumes create very large Catalog and
39                                    Extent files - 4Mb is the size calculated
40                                    for a 1Gb volume - which is probably
41                                    overkill, but seems to be OK */
42
43 #define HCE_ERROR -9999         /* dummy errno value for Catalog file
44                                    size problems */
45
46 #define HFS_MAP_SIZE    16      /* size of HFS partition maps (8Kb) */
47
48 typedef struct {
49   int hfs_ce_size;              /* extents/catalog size in HFS blks */
50   int hfs_hdr_size;             /* vol header size in HFS blks */
51   int hfs_dt_size;              /* Desktop file size in HFS blks */
52   int hfs_tot_size;             /* extents/catalog/dt size in HFS blks */
53   int hfs_map_size;             /* size of partition maps in HFS blks */
54   unsigned long hfs_vol_size;   /* size of volume in HFS blks */
55   unsigned char *hfs_ce;        /* mem copy of extents/catalog files */
56   unsigned char *hfs_hdr;       /* mem copy of vol header */
57   unsigned char *hfs_alt_mdb;   /* location of alternate MDB */
58   unsigned char *hfs_map;       /* location of partiton_maps */
59   int Csize;                    /* size of allocation unit (bytes) */
60   int XTCsize;                  /* def size of catalog/extents files (bytes) */
61   int max_XTCsize;              /* max size of catalog/extents files (bytes) */
62   int ctc_size;                 /* factor to increase Catalog file size */
63   char *error;                  /* HFS error message */
64 } hce_mem;
65
66 #define _HYBRID_H
67 #endif /* _HYBRID_H */