"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 */