"Fossies" - the Fresh Open Source Software Archive 
Member "xorriso-1.5.4/libburn/options.h" (30 Jan 2021, 4779 Bytes) of package /linux/misc/xorriso-1.5.4.pl02.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "options.h" see the
Fossies "Dox" file reference documentation and the last
Fossies "Diffs" side-by-side code changes report:
1.5.2_vs_1.5.4.
1
2 /* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
3 Copyright (c) 2006 - 2013 Thomas Schmitt <scdbackup@gmx.net>
4 Provided under GPL version 2 or later.
5 */
6
7 #ifndef BURN__OPTIONS_H
8 #define BURN__OPTIONS_H
9
10 #include "libburn.h"
11
12 /** Options for disc writing operations. This should be created with
13 burn_write_opts_new() and freed with burn_write_opts_free(). */
14 struct burn_write_opts
15 {
16 /** Drive the write opts are good for */
17 struct burn_drive *drive;
18
19 /** For internal use. */
20 int refcount;
21
22 /** The method/style of writing to use. */
23 enum burn_write_types write_type;
24 /** format of the data to send to the drive */
25 enum burn_block_types block_type;
26
27 /** Number of toc entries. if this is 0, they will be auto generated*/
28 int toc_entries;
29 /** Toc entries for the disc */
30 struct burn_toc_entry *toc_entry;
31
32 /** Simulate the write so that the disc is not actually written */
33 unsigned int simulate:1;
34 /** If available, enable a drive feature which prevents buffer
35 underruns if not enough data is available to keep up with the
36 drive. */
37 unsigned int underrun_proof:1;
38 /** Perform calibration of the drive's laser before beginning the
39 write. */
40 unsigned int perform_opc:1;
41
42 /* ts A61219 : Output block size to trigger buffer flush if hit.
43 -1 with CD, 32 kB with DVD */
44 int obs;
45 int obs_pad; /* >0 pad up last block to obs, 0 do not
46 2 indicates burn_write_opts_set_obs_pad(,1)
47 */
48
49 /* ts A61222 : Start address for media which offer a choice */
50 off_t start_byte;
51
52 /* ts A70213 : Whether to fill up the available space on media */
53 int fill_up_media;
54
55 /* ts A70303 : Whether to override conformance checks:
56 - the check whether CD write+block type is supported by the drive
57 */
58 int force_is_set;
59
60 /* ts A80412 : whether to use WRITE12 with Streaming bit set
61 rather than WRITE10. Speeds up DVD-RAM. Might help with BD-RE.
62 This gets transferred to burn_drive.do_stream_recording
63 */
64 int do_stream_recording;
65
66 /* ts A91115 : override value for .obs on DVD media.
67 Only values 0, 32K and 64K are allowed for now. */
68 int dvd_obs_override;
69
70 /* ts A91115 : size of the fsync() interval for stdio writing.
71 Values 0 or >= 32 counted in 2 KB blocks. */
72 int stdio_fsync_size;
73
74 /* ts B11203 : CD-TEXT */
75 unsigned char *text_packs;
76 int num_text_packs;
77 int no_text_pack_crc_check;
78
79 /** A disc can have a media catalog number */
80 int has_mediacatalog;
81 unsigned char mediacatalog[13];
82 /** Session format */
83 int format;
84
85 /* internal use only */
86 unsigned char control;
87
88 /* Whether to keep medium appendable */
89 unsigned char multi;
90
91 /* ts B31024 */
92 /* The severity to be attributed to error messages about failed
93 write attempt with blank DVD-RW, possibly due to falsely reported
94 feature 21h Incremental Streaming Writable
95 */
96 int feat21h_fail_sev;
97 };
98
99 /* Default value for burn_write_opts.stdio_flush_size
100 */
101 #define Libburn_stdio_fsync_limiT 8192
102
103 /* Maximum number of Lead-in text packs.
104 READ TOC/PMA/ATIP can at most return 3640.7 packs.
105 The sequence counters of the packs have 8 bits. There are 8 blocks at most.
106 Thus max 2048 packs.
107 */
108 #define Libburn_leadin_cdtext_packs_maX 2048
109
110
111 /** Options for disc reading operations. This should be created with
112 burn_read_opts_new() and freed with burn_read_opts_free(). */
113 struct burn_read_opts
114 {
115 /** Drive the read opts are good for */
116 struct burn_drive *drive;
117
118 /** For internal use. */
119 int refcount;
120
121 /** Read in raw mode, so that everything in the data tracks on the
122 disc is read, including headers. Not needed if just reading a
123 filesystem off a disc, but it should usually be used when making a
124 disc image or copying a disc. */
125 unsigned int raw:1;
126 /** Report c2 errors. Useful for statistics reporting */
127 unsigned int c2errors:1;
128 /** Read subcodes from audio tracks on the disc */
129 unsigned int subcodes_audio:1;
130 /** Read subcodes from data tracks on the disc */
131 unsigned int subcodes_data:1;
132 /** Have the drive recover errors if possible */
133 unsigned int hardware_error_recovery:1;
134 /** Report errors even when they were recovered from */
135 unsigned int report_recovered_errors:1;
136 /** Read blocks even when there are unrecoverable errors in them */
137 unsigned int transfer_damaged_blocks:1;
138
139 /** The number of retries the hardware should make to correct
140 errors. */
141 unsigned char hardware_error_retries;
142
143 /* ts B21119 */
144 /* >>> Needs API access */
145 /** Whether to set DAP bit which allows the drive to apply
146 "flaw obscuring mechanisms like audio data mute and interpolate"
147 */
148 unsigned int dap_bit;
149
150 };
151
152
153 int burn_write_opts_clone(struct burn_write_opts *from,
154 struct burn_write_opts **to, int flag);
155
156
157 #endif /* BURN__OPTIONS_H */