Began to implement interface to our libraries
This commit is contained in:
169
test/xorriso_private.h
Normal file
169
test/xorriso_private.h
Normal file
@@ -0,0 +1,169 @@
|
||||
|
||||
/* Command line oriented batch and dialog tool which creates, loads,
|
||||
manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2.
|
||||
|
||||
This file contains the inner description of xorriso.
|
||||
*/
|
||||
|
||||
|
||||
/* For now, #ifdef Xorriso_is_xorriso_selF has no meaning.
|
||||
But it is already now to be set only by the xorriso.c module.
|
||||
*/
|
||||
|
||||
#ifndef Xorriso_private_includeD
|
||||
#define Xorriso_private_includeD yes
|
||||
|
||||
|
||||
/* Because regex_t is mentioned in struct XorrisO */
|
||||
#ifdef Xorriso_with_regeX
|
||||
#include <regex.h>
|
||||
#endif /* Xorriso_with_regeX */
|
||||
|
||||
|
||||
#define Smem_malloC malloc
|
||||
#define Smem_freE free
|
||||
#define SfileadrL 4096
|
||||
|
||||
/* <<< ??? */
|
||||
typedef int (*Cleanup_app_handler_T)();
|
||||
|
||||
|
||||
|
||||
/* maximum number of history lines to be reported with -status:long_history */
|
||||
#define Xorriso_status_history_maX 100
|
||||
|
||||
/* <<< ??? */
|
||||
/* try to catch signals and ignore them during abort handling */
|
||||
#define Xorriso_abort_handler_defaulT (1|(2<<4))
|
||||
|
||||
|
||||
/** The list of startup file names */
|
||||
#define Xorriso_rc_nuM 4
|
||||
|
||||
|
||||
struct XorrisO { /* the global context of xorriso */
|
||||
|
||||
/* source */
|
||||
char progname[SfileadrL];
|
||||
char initial_wdx[SfileadrL];
|
||||
int no_rc;
|
||||
|
||||
/** List of startupfiles */
|
||||
char rc_filenames[Xorriso_rc_nuM][SfileadrL];
|
||||
int rc_filename_count;
|
||||
|
||||
char wdi[SfileadrL];
|
||||
char wdx[SfileadrL];
|
||||
int did_something_useful;
|
||||
|
||||
|
||||
/* >>> put libisofs aspects here <<< */
|
||||
|
||||
int do_joliet;
|
||||
int do_follow_links;
|
||||
int do_global_uid;
|
||||
uid_t global_uid;
|
||||
int do_global_gid;
|
||||
gid_t global_gid;
|
||||
int do_overwrite;
|
||||
int do_reassure;
|
||||
|
||||
char volid[SfileadrL];
|
||||
|
||||
/* >>> put libburn/isoburn aspects here */
|
||||
|
||||
char indev[SfileadrL];
|
||||
char outdev[SfileadrL];
|
||||
int ban_stdio_write;
|
||||
int do_dummy;
|
||||
int do_close;
|
||||
int speed; /* in libburn units : 1000 bytes/second , 0 = Max, -1 = Min */
|
||||
int fs; /* fifo size in 2048 byte chunks : at most 1 GB */
|
||||
|
||||
/* XORRISO options */
|
||||
int allow_graft_points;
|
||||
|
||||
int dialog;
|
||||
|
||||
|
||||
|
||||
/* ??? does this search stuff make sense ? */
|
||||
int search_mode;
|
||||
/* 0= start text
|
||||
1= fgrep ,
|
||||
2= regular expression
|
||||
3= (eventually structured) shell parser expression
|
||||
4= shell parser expression for leaf name
|
||||
*/
|
||||
int structured_search;
|
||||
/* ( 0= flat text search )
|
||||
1= '/' is a significant separator that cannot be matched by wildcards
|
||||
( 2= like 1 : but report only occurence in tree, no payload, no location )
|
||||
( 3= like 2 : but report first content level of matching directories )
|
||||
4= actually not structured but unique find mode (with search_mode 4)
|
||||
*/
|
||||
|
||||
int use_stdin; /* use raw stdin even if readline support is compiled */
|
||||
int result_page_length;
|
||||
int result_page_width;
|
||||
char mark_text[SfileadrL]; /* ( stdout+stderr, M: ) */
|
||||
int packet_output;
|
||||
char logfile[4][SfileadrL];
|
||||
int status_history_max; /* for -status long_history */
|
||||
|
||||
/* >>> put -abort_on severity parameters here <<< */
|
||||
char abort_on_severity[20];
|
||||
|
||||
|
||||
/* temporary search facilities */
|
||||
#ifdef Xorriso_with_regeX
|
||||
regex_t *re;
|
||||
regmatch_t match[1];
|
||||
#endif /* Xorriso_with_regeX */
|
||||
char **re_constants;
|
||||
int re_count;
|
||||
int re_fill;
|
||||
char reg_expr[2*SfileadrL];
|
||||
|
||||
/* >>> put overwrite_mode here */
|
||||
|
||||
/* run state */
|
||||
int is_dialog;
|
||||
int bar_is_fresh;
|
||||
char pending_option[SfileadrL]; /* eventual option entered at page prompt */
|
||||
int request_to_abort;
|
||||
double idle_time;
|
||||
int re_failed_at; /* mismatch position with structured_search */
|
||||
int prepended_wd;
|
||||
double insert_count;
|
||||
double insert_bytes;
|
||||
double error_count; /* double will not roll over */
|
||||
|
||||
/* <<< ??? result (stdout, R: ) */
|
||||
char result_line[5*SfileadrL];
|
||||
int result_line_counter;
|
||||
int result_page_counter;
|
||||
int result_open_line_len;
|
||||
|
||||
|
||||
/* info (stderr, I:) */
|
||||
char info_text[10*SfileadrL];
|
||||
|
||||
};
|
||||
|
||||
|
||||
int Xorriso_destroy(struct XorrisO **xorriso, int flag);
|
||||
int Xorriso_prepare_regex(struct XorrisO *xorriso, char *adr, int flag);
|
||||
int Xorriso_info(struct XorrisO *xorriso, int flag);
|
||||
int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int flag);
|
||||
|
||||
int Xorriso_execute_option(struct XorrisO *xorriso, char *line, int flag);
|
||||
|
||||
|
||||
#endif /* Xorriso_private_includeD */
|
||||
|
Reference in New Issue
Block a user