Updated to state of discussion

This commit is contained in:
2007-09-06 11:58:51 +00:00
parent 804391fc44
commit ffc4b67c77
4 changed files with 55 additions and 30 deletions

View File

@ -18,19 +18,17 @@
struct isoburn {
/* The libburn drive to which this isoburn object is related */
/* Most isoburn calls will use a burn_drive as object handle */
/* The libburn drive to which this isoburn object is related
Most isoburn calls will use a burn_drive as object handle */
struct burn_drive *drive;
/* -1= inappropriate media state detected */
/* 0= libburn multi-session media, resp. undecided yet */
/* 1= random access media */
/* -1= inappropriate media state detected
0= libburn multi-session media, resp. undecided yet
1= random access media */
int emulation_mode;
/* Although rarely used, libburn can operate on several */
/* drives simultaneously. */
/* >>> I propose to design isoburn as chain link of a list with its */
/* >>> start stored globally. */
/* Although rarely used, libburn can operate on several
drives simultaneously. */
struct isoburn *prev;
struct isoburn *next;
@ -49,21 +47,22 @@ struct isoburn {
/* Expansion treatment strategy: 1= grow, 2= modify, (any use for 0 ?) */
int treatment;
/* The options for reading the old image. */
/* target_ropts.size will contain the number of blocks of the image. */
/* The options for reading the old image.
target_ropts.size will contain the number of blocks of the image. */
struct ecma119_read_opts *target_ropts;
/* Buffered ISO head from media (should that become part of ecma119_read_opts ?) */
/* Buffered ISO head from media (should that become part of
ecma119_read_opts ?) */
uint8_t target_iso_head[65536];
/* The filesystem structure of the old image from media. */
struct iso_volset *target_volset;
/* The output options of the current run of libisofs. */
/* Element .overwrite eventually points to a buffered new head */
/* with size fields describing the new size alone, not the */
/* new combined size counted from block 0. */
/* (This head is to be merged with above target_iso_head.) */
/* The output options of the current run of libisofs.
Element .overwrite eventually points to a buffered new head
with size fields describing the new size alone, not the
new combined size counted from block 0.
(This head is to be merged with above target_iso_head.) */
struct ecma119_source_opts *new_wopts;
@ -79,7 +78,6 @@ int isoburn_destroy(struct isoburn **objpt, int flag);
int isoburn_get_emulation_mode(struct isoburn *o, int *pt, int flag);
int isoburn_get_target_volset(struct isoburn *o, struct iso_volset **pt,
int flag);
/* List management */
int isoburn_get_prev(struct isoburn *o, struct isoburn **pt, int flag);
int isoburn_get_next(struct isoburn *o, struct isoburn **pt, int flag);
@ -89,12 +87,30 @@ int isoburn_count(struct isoburn *o, int flag);
int isoburn_by_idx(struct isoburn *o, int idx, struct isoburn **pt, int flag);
int isoburn_find_by_drive(struct isoburn **pt, struct burn_drive *d, int flag);
/* Non API inner interfaces */
/* Calls from burn_wrap.c into isofs_wrap.c */
int isoburn_start_emulation(struct isoburn *o, int flag);
int isoburn_new_rwopts(struct isoburn *o);
int isoburn_free_rwopts(struct isoburn *o);
int isoburn_invalidate_iso(struct isoburn *o, int flag);
int isoburn_read_volset(struct isoburn *o);
/* Calls from isofs_wrap.c into burn_wrap.c */
/** Get an eventual isoburn object which is wrapped around the drive.
@param pt Eventually contains a pointer to the found object.
Is allowed to contain NULL if return value is -1 or 0.
In this case, the drive is a genuine libburn drive
with no emulation activated by isoburn.
@param drive The drive to be searched for
@param flag unused yet
@return -1 unsuitable media, 0 generic media, 1 emulated media.
*/
int isoburn_find_emulator(struct isoburn **pt,
struct burn_drive *drive, int flag);
#endif /* Isoburn_includeD */