Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / icedax / global.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 /* @(#)global.h 1.11 04/07/29 Copyright 1998-2004 Heiko Eissfeldt */
14 /* Global Variables */
15
16 #ifdef  MD5_SIGNATURES
17 #include "md5.h"
18 #endif
19 #ifdef  USE_PARANOIA
20 #include "cdda_paranoia.h"
21 #endif
22
23 typedef struct index_list
24 {
25         struct index_list       *next;
26         int                     frameoffset;
27 }
28 index_list;
29
30 typedef struct global
31 {
32
33         char                    *dev_name;              /* device name */
34         char                    *aux_name;              /* device name */
35         char                    fname_base[200];
36
37         int                     have_forked;
38         int                     parent_died;
39         int                     audio;
40         struct soundfile        *audio_out;
41         int                     cooked_fd;
42         int                     no_file;
43         int                     no_infofile;
44         int                     no_cddbfile;
45         int                     quiet;
46         int                     verbose;
47         int                     scsi_silent;
48         int                     scsi_verbose;
49         int                     scanbus;
50         int                     scandevs;
51         int                     multiname;
52         int                     sh_bits;
53         int                     Remainder;
54         int                     SkippedSamples;
55         int                     OutSampleSize;
56         int                     need_big_endian;
57         int                     need_hostorder;
58         int                     channels;
59         unsigned long           iloop;
60         unsigned long           nSamplesDoneInTrack;
61         unsigned                overlap;
62         int                     useroverlap;
63         unsigned                nsectors;
64         unsigned                buffers;
65         unsigned                shmsize;
66         long                    pagesize;
67         int                     in_lendian;
68         int                     outputendianess;
69         int                     findminmax;
70         int                     maxamp[2];
71         int                     minamp[2];
72         unsigned                speed;
73         int                     userspeed;
74         int                     ismono;
75         int                     findmono;
76         int                     swapchannels;
77         int                     deemphasize;
78         int                     gui;
79         long                    playback_rate;
80         int                     target; /* SCSI Id to be used */
81         int                     lun;    /* SCSI Lun to be used */
82         UINT4                   cddb_id;
83         int                     cddbp;
84         char *                  cddbp_server;
85         char *                  cddbp_port;
86         unsigned                cddb_revision;
87         int                     cddb_year;
88         char                    cddb_genre[60];
89         int                     illleadout_cd;
90         int                     reads_illleadout;
91         unsigned char           *cdindex_id;
92         unsigned char           *creator;
93         unsigned char           *copyright_message;
94         unsigned char           *disctitle;
95         unsigned char           *tracktitle[100];
96         unsigned char           *trackcreator[100];
97         index_list              *trackindexlist[100];
98
99         int                     paranoia_selected;
100 #ifdef  USE_PARANOIA
101         cdrom_paranoia          *cdp;
102
103         struct paranoia_parms_t
104         {
105                 Ucbit   disable_paranoia:1;
106                 Ucbit   disable_extra_paranoia:1;
107                 Ucbit   disable_scratch_detect:1;
108                 Ucbit   disable_scratch_repair:1;
109                 int     retries;
110                 int     overlap;
111                 int     mindynoverlap;
112                 int     maxdynoverlap;
113         }
114         paranoia_parms;
115 #endif
116
117         unsigned                md5blocksize;
118 #ifdef  MD5_SIGNATURES
119         int                     md5count;
120         MD5_CTX                 context;
121         unsigned char           MD5_result[16];
122 #endif
123
124 #ifdef  ECHO_TO_SOUNDCARD
125         int                     soundcard_fd;
126 #endif
127         int                     echo;
128
129         int                     just_the_toc;
130 }
131 global_t;
132
133 extern global_t global;