2
* $Id: externs.h,v 1.5 2004/06/18 16:19:37 andrew_belov Exp $
3
* ---------------------------------------------------------------------------
4
* Each public variable defined in EXTERNS.C is declared here, so all modules
5
* that include this file will have access to all public variables.
9
#ifndef EXTERNS_INCLUDED
10
#define EXTERNS_INCLUDED
14
/* Obsolete/shared data */
16
extern char nullstr[];
17
extern char strform[];
18
extern char path_separators[];
19
extern char switch_chars[];
20
extern char arjtemp_spec[];
21
extern int error_occured;
25
extern char le_prompt[];
26
extern char vd_space[];
27
extern int file_packing;
28
extern char FAR *encblock_ptr;
29
extern char FAR *packblock_ptr;
30
extern unsigned int encmem_remain;
31
extern unsigned int packmem_remain;
32
extern unsigned int encmem_limit;
33
extern int ea_supported;
34
extern long ext_hdr_capacity;
35
extern struct ext_hdr FAR *eh;
36
extern int valid_ext_hdr;
37
extern unsigned int ea_size;
38
extern char *exe_name;
42
#if SFX_LEVEL>=ARJ||defined(REARJ)
43
extern unsigned char regdata[];
45
extern struct flist_root flist_order;
46
extern struct flist_root flist_archive;
47
extern struct flist_root flist_main;
48
extern struct flist_root flist_exclusion;
49
extern struct flist_root flist_ea;
50
extern struct flist_root flist_xea;
52
extern struct l_entries l_entries;
53
extern struct l_entries sl_entries;
55
extern int win32_platform;
56
extern int switch_char;
57
extern int display_totals;
58
extern unsigned int file_attr_mask;
59
extern int pattern_found;
60
extern int is_registered;
62
extern int is_commercial;
63
extern int lfn_supported;
64
extern int ext_hdr_flags;
65
extern int file_garbled;
66
extern int arch_wildcard_allowed;
68
extern int volume_flag_set;
69
extern int tmp_archive_used;
70
extern int method_specifier;
71
extern int primary_file_type;
72
extern int identical_filedata;
73
extern int ctrlc_not_busy;
74
extern int ignore_errors;
75
extern int ctrlc_processing;
76
extern int supply_comment_file;
77
extern int use_comment;
78
extern int assume_yes;
79
extern int extract_to_file;
80
extern int assign_work_directory;
81
extern int multivolume_option;
82
extern int allow_mv_update;
83
extern int beep_between_volumes;
84
extern int chk_arj_version;
85
extern int verbose_display;
86
extern int update_criteria;
87
extern int translate_unix_paths;
88
extern int type_override;
89
extern int timestamp_override;
90
extern int test_archive_crc;
91
extern int store_by_suffix;
92
extern int skip_ts_check;
93
extern int comment_display;
95
extern int create_sfx;
96
extern int filter_attrs;
97
extern int select_backup_files;
98
extern int search_mode;
99
extern int keep_tmp_file;
100
extern int hollow_mode;
101
extern int restart_at_filename;
102
extern int quiet_mode;
103
extern int recurse_subdirs;
104
extern int ignore_crc_errors;
105
extern int set_string_parameter;
106
extern int query_for_each_file;
107
extern int protfile_option;
108
extern int arjprot_tail;
109
extern int prot_blocks;
110
extern int arjdisp_enabled;
111
extern int prompt_for_more;
112
extern int marksym_expansion;
113
extern int fnm_matching;
114
extern int rsp_per_line;
115
extern int gost_cipher;
116
extern int filter_older;
117
extern int filter_same_or_newer;
118
extern int new_files_only;
119
extern int nonexist_filespec;
120
extern int skip_switch_processing;
121
extern int disable_sharing;
122
extern int yes_on_all_queries;
123
extern int indicator_style;
124
extern int disable_arj_sw;
125
extern int skip_time_attrs;
126
extern int custom_method;
127
extern int max_compression;
128
extern int filelist_storage;
129
extern int create_list_file;
130
extern int listfile_err_opt;
131
extern int listchars_allowed;
132
extern int handle_labels;
133
extern int sign_with_arjsec;
134
extern int keep_tmp_archive;
136
extern int create_index;
137
extern int detailed_index;
138
extern int ignore_archive_errors;
139
extern int ignore_open_errors;
140
extern int clear_archive_bit;
141
extern int jh_enabled;
142
extern int help_issued;
143
extern int garble_enabled;
144
extern int lowercase_names;
145
extern int validate_style;
146
extern int freshen_criteria;
147
extern int chk_free_space;
148
extern int force_lfn;
149
extern int select_by_number;
150
extern int show_filenames_only;
151
extern int override_archive_exts;
152
extern int extm_mode;
153
extern int exit_after_count;
154
extern int start_at_ext_pos;
155
extern int start_with_seek;
156
extern int exclude_paths;
157
extern int exclude_files;
158
extern int arjsec_opt;
159
extern int run_cmd_at_start;
160
extern int delete_processed;
161
extern int debug_enabled;
162
extern int install_errhdl;
163
extern int chapter_mode;
164
extern int set_target_directory;
165
extern int serialize_exts;
166
extern int allow_any_attrs;
167
extern int filter_fa_arch;
168
extern int append_curtime;
169
extern char *time_str;
170
extern int use_ansi_cp;
171
extern int queries_assume_no[TOTAL_QUERIES];
172
extern int queries_assume_yes[TOTAL_QUERIES];
173
extern int accept_shortcut_keys;
174
extern int skip_next_vol_query;
175
extern int skip_scanned_query;
176
extern int overwrite_existing;
177
extern int skip_rename_prompt;
178
extern int skip_space_query;
179
extern int query_delete;
180
extern int prompt_for_mkdir;
181
extern int skip_append_query;
182
extern int kbd_cleanup_on_input;
183
extern int use_sfxstub;
184
extern int whole_files_in_mv;
185
extern int pause_between_volumes;
186
extern int inhibit_change_test;
187
extern int mv_cmd_state;
188
extern int ignore_pcase;
189
extern int no_file_activity;
190
extern int std_list_cmd;
191
extern int print_with_more;
192
extern int subdir_extraction;
193
extern int execute_cmd;
194
extern int change_vol_delay;
195
extern unsigned int left_trim;
196
extern char listchar;
197
extern int errorlevel;
198
extern unsigned int errors;
199
extern int lines_per_page;
200
extern int lines_scrolled;
201
extern int secondary_file_type;
202
extern unsigned int file_type;
203
extern int unpackable;
204
extern int fdisp_lines;
205
extern int reserve_size;
207
extern FILE_COUNT av_total_files;
208
extern FILE_COUNT av_total_longnames;
209
extern FILE_COUNT exit_count;
210
extern FILE_COUNT split_files;
212
extern FILE_COUNT FAR *order;
213
extern char **f_arg_array;
215
extern int order[PARAMS_MAX];
216
extern char *f_arg_array[PARAMS_MAX];
218
extern int params_max;
219
extern char *comment_file;
220
extern char *archive_cmt_name;
221
extern char *yes_query_list;
222
extern char *extraction_filename;
223
extern char *swptr_hv;
224
extern char *search_reserve;
225
extern char *search_str[SEARCH_STR_MAX];
226
extern char *filename_to_restart;
227
extern char *string_parameter;
228
extern char *arjdisp_ptr;
229
extern char *arjcrypt_name;
230
extern char *nonexist_name;
231
extern unsigned long garble_ftime;
232
extern char *index_name;
233
extern char *list_file;
234
extern char *swptr_t;
235
extern char *cmd_to_exec;
236
extern char *archive_suffixes;
239
extern char *timestr_older;
240
extern char *timestr_newer;
242
extern char *arj_env_name;
243
extern char *swptr_hm;
244
extern char *work_directory;
245
extern char *target_dir;
246
extern char *tmp_archive_name;
247
extern char *rsp_name;
248
#if SFX_LEVEL>=ARJSFXV
249
extern char *tmp_tmp_filename;
250
extern char *archive_name;
252
extern char tmp_tmp_filename[FILENAME_MAX];
253
extern char archive_name[FILENAME_MAX];
255
extern char *arjsec_env_name;
256
extern char password_modifier;
257
extern char *garble_password;
258
extern char *archive_ext_list;
259
extern char *debug_opt;
260
extern char *start_cmd;
261
extern char *misc_buf;
262
extern char label_drive;
263
extern char *strcpy_buf;
264
extern unsigned char host_os;
265
extern char *out_buffer;
266
#if SFX_LEVEL>=ARJSFXV
269
extern char header[HEADERSIZE_MAX];
271
extern unsigned char byte_buf;
272
extern unsigned char subbitbuf;
273
extern FILE *new_stderr;
274
extern int user_wants_fail;
275
extern int resume_volume_num;
276
extern unsigned int ext_voldata;
277
extern int out_avail;
278
extern int out_bytes;
279
extern int total_chapters;
280
extern int chapter_to_process;
281
extern int current_chapter;
282
extern FILE_COUNT max_filenames;
283
extern unsigned int user_bufsiz;
284
extern unsigned int current_bufsiz;
285
extern unsigned short bitbuf;
286
extern FILE *tstream;
287
extern FILE *idxstream;
288
extern FILE *new_stdout;
289
extern FILE *atstream;
290
extern FILE *aostream;
291
extern FILE *encstream;
292
extern FILE *aistream;
293
extern unsigned long FAR *arch_hdr_index;
294
extern unsigned long last_hdr_offset;
295
extern long search_occurences[SEARCH_STR_MAX];
296
extern unsigned long ext_pos;
297
extern unsigned long arcv_ext_pos;
298
extern long uncompsize;
299
extern unsigned long compsize;
300
extern unsigned long origsize;
301
extern unsigned long av_uncompressed;
302
extern unsigned long av_compressed;
303
extern unsigned long total_size;
304
extern unsigned long total_written;
305
extern unsigned long minfree;
306
extern struct timestamp tested_ftime_older;
307
extern struct timestamp tested_ftime_newer;
308
extern unsigned long t_volume_offset;
309
extern unsigned long mv_reserve_space;
310
extern unsigned long volume_limit;
311
extern struct timestamp secondary_ftime;
312
extern struct timestamp ftime_max;
313
extern unsigned long disk_space_used;
314
extern unsigned long total_compressed;
315
extern unsigned long total_uncompressed;
316
extern unsigned long arjsec_offset;
317
extern unsigned long secured_size;
318
extern unsigned long cur_header_pos;
319
extern long main_hdr_offset;
320
extern char FAR *tmp_filename;
321
extern unsigned long volume_crc;
322
extern struct timestamp volume_ftime;
323
extern FILE *ofstream;
324
extern int recent_chapter;
325
extern unsigned int alloc_unit_size;
326
extern FILE_COUNT split_longnames;
327
extern FILE_COUNT total_longnames;
328
extern FILE_COUNT total_files;
329
extern FILE_COUNT comment_entries;
330
extern int max_chapter;
331
extern int force_volume_flag;
332
extern int sfx_desc_word;
333
extern int add_command;
334
extern int order_command;
335
extern int no_inarch;
336
extern int modify_command;
337
extern int continued_nextvolume;
338
extern int first_vol_passed;
339
extern int mvfile_type;
340
extern unsigned int volume_number;
341
extern int continued_prevvolume;
342
extern int encryption_applied;
344
extern int security_state;
345
extern int ansi_codepage;
346
extern int dual_name;
347
extern unsigned long archive_size;
348
extern unsigned long resume_position;
349
extern unsigned long header_crc;
350
extern unsigned long file_crc;
351
extern unsigned char chapter_number;
352
extern unsigned char ext_flags;
353
extern unsigned short host_data;
354
extern unsigned short entry_pos;
355
extern struct timestamp ctime_stamp;
356
extern struct timestamp atime_stamp;
357
extern struct timestamp ftime_stamp;
358
extern struct file_mode file_mode;
359
extern unsigned int method;
360
extern unsigned char arj_flags;
361
extern unsigned char arj_x_nbr;
362
extern unsigned char arj_nbr;
363
extern unsigned char first_hdr_size;
364
extern unsigned int basic_hdr_size;
365
extern char *hdr_comment;
366
extern char *hdr_filename;
367
#if SFX_LEVEL>=ARJSFXV
368
extern char FAR *comment;
370
extern char comment[COMMENT_MAX];
372
extern char filename[FILENAME_MAX];
373
extern struct file_properties properties;
374
extern unsigned char pt_len[NPT];
375
extern unsigned short left[2*NC-1];
376
extern unsigned short right[2*NC-1];
377
extern unsigned char c_len[NC];
378
extern unsigned short cpos;
379
extern unsigned int bufsiz;
380
#if SFX_LEVEL>=ARJSFXV
381
extern unsigned char *dec_text;
382
#elif (!defined(REARJ))
383
extern unsigned char dec_text[DICSIZ];
386
extern unsigned char *ntext;
390
extern int arcmail_sw;
392
extern struct priority priority;
393
extern int include_eas;
394
extern int exclude_eas;
395
extern int disable_comment_series;
396
extern int skip_century;
397
extern int fix_longnames;
399
extern int symlink_accuracy;
401
extern int suppress_hardlinks;
402
extern int recursion_order;
403
extern int encryption_id;
404
extern jmp_buf main_proc;
407
#if SFX_LEVEL<=ARJSFXV
408
extern int valid_envelope;
409
extern int skip_integrity_test;
410
extern int prompt_for_directory;
411
extern int extract_expath;
412
extern int process_lfn_archive;
413
extern int skip_preset_options;
414
extern int list_sfx_cmd;
415
extern int overwrite_ro;
416
extern int test_sfx_cmd;
417
extern int verbose_list;
418
extern int extract_cmd;
419
extern int skip_volumes;
420
extern int first_volume_number;
421
extern int execute_extr_cmd;
422
extern int skip_extract_query;
423
extern char *extr_cmd_text;
424
extern unsigned short reg_id;
425
extern int licensed_sfx;
426
extern int logo_shown;
429
#if SFX_LEVEL<=ARJSFX
430
extern int make_directories;
431
extern int show_ansi_comments;
432
extern char *list_adapted_name;
433
extern int test_mode;
434
extern int sflist_args;
435
extern char *sflist[SFLIST_MAX];
439
extern int redirected;
440
extern int no_colors;
441
extern struct color_hl color_table[];