New API call isoburn_igopt_set_pvd_times()
This commit is contained in:
parent
6f63c6388c
commit
a65aa4f804
@ -456,7 +456,10 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
||||
0, "FAILURE", 0);
|
||||
{ret= -1; goto ex;}
|
||||
}
|
||||
|
||||
iso_write_opts_set_pvd_times(wopts,
|
||||
opts->vol_creation_time, opts->vol_modification_time,
|
||||
opts->vol_expiration_time, opts->vol_effective_time,
|
||||
opts->vol_uuid);
|
||||
|
||||
ret = isoburn_disc_track_lba_nwa(out_d, NULL, 0, &lba, &nwa);
|
||||
opts->effective_lba= nwa;
|
||||
@ -860,6 +863,10 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
|
||||
o->data_start_lba= -1;
|
||||
o->system_area_data= NULL;
|
||||
o->system_area_options= 0;
|
||||
o->vol_creation_time= 0;
|
||||
o->vol_modification_time= 0;
|
||||
o->vol_expiration_time= 0;
|
||||
o->vol_effective_time= 0;
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -1103,3 +1110,32 @@ int isoburn_igopt_get_system_area(struct isoburn_imgen_opts *opts,
|
||||
}
|
||||
|
||||
|
||||
int isoburn_igopt_set_pvd_times(struct isoburn_imgen_opts *opts,
|
||||
time_t vol_creation_time, time_t vol_modification_time,
|
||||
time_t vol_expiration_time, time_t vol_effective_time,
|
||||
char *vol_uuid)
|
||||
{
|
||||
opts->vol_creation_time = vol_creation_time;
|
||||
opts->vol_modification_time = vol_modification_time;
|
||||
opts->vol_expiration_time = vol_expiration_time;
|
||||
opts->vol_effective_time = vol_effective_time;
|
||||
strncpy(opts->vol_uuid, vol_uuid, 16);
|
||||
opts->vol_uuid[16] = 0;
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
int isoburn_igopt_get_pvd_times(struct isoburn_imgen_opts *opts,
|
||||
time_t *vol_creation_time, time_t *vol_modification_time,
|
||||
time_t *vol_expiration_time, time_t *vol_effective_time,
|
||||
char vol_uuid[17])
|
||||
{
|
||||
*vol_creation_time = opts->vol_creation_time;
|
||||
*vol_modification_time = opts->vol_modification_time;
|
||||
*vol_expiration_time = opts->vol_expiration_time;
|
||||
*vol_effective_time = opts->vol_effective_time;
|
||||
strcpy(vol_uuid, opts->vol_uuid);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -502,6 +502,15 @@ struct isoburn_imgen_opts {
|
||||
*/
|
||||
int system_area_options;
|
||||
|
||||
/* User settable PVD time stamps */
|
||||
time_t vol_creation_time;
|
||||
time_t vol_modification_time;
|
||||
time_t vol_expiration_time;
|
||||
time_t vol_effective_time;
|
||||
/* To eventually override vol_modification_time by unconverted string
|
||||
and timezone 0 */
|
||||
char vol_uuid[17];
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -1189,6 +1189,38 @@ int isoburn_igopt_set_system_area(struct isoburn_imgen_opts *o,
|
||||
int isoburn_igopt_get_system_area(struct isoburn_imgen_opts *o,
|
||||
char data[32768], int *options);
|
||||
|
||||
/** Explicitely set the four timestamps of the emerging ISO image.
|
||||
Default with all parameters is 0.
|
||||
@since 0.5.4
|
||||
ECMA-119 defines the timestamps in the Primary Volume Descriptor as:
|
||||
@param creation_time
|
||||
When "the information in the volume was created."
|
||||
A value of 0 means that the timepoint of write start is to be used.
|
||||
@param modification_time
|
||||
When "the informationin the volume was last modified."
|
||||
A value of 0 means that the timepoint of write start is to be used.
|
||||
@param expiration_time
|
||||
When "the information in the volume may be regarded as obsolete."
|
||||
A value of 0 means that the information never shall expire.
|
||||
@param effective_time
|
||||
When "the information in the volume may be used."
|
||||
A value of 0 means that not such retention is intended.
|
||||
@param uuid
|
||||
If this text is not empty, then it overrides vol_modification_time
|
||||
by copying the first 16 decimal digits from uuid, eventually
|
||||
padding up with decimal '1', and writing a NUL-byte as timezone GMT.
|
||||
It should express a reasonable time in form YYYYMMDDhhmmsscc
|
||||
E.g.: 2010040711405800 = 7 Apr 2010 11:40:58 (+0 centiseconds)
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
int isoburn_igopt_set_pvd_times(struct isoburn_imgen_opts *opts,
|
||||
time_t creation_time, time_t modification_time,
|
||||
time_t expiration_time, time_t effective_time,
|
||||
char *uuid);
|
||||
int isoburn_igopt_get_pvd_times(struct isoburn_imgen_opts *opts,
|
||||
time_t *creation_time, time_t *modification_time,
|
||||
time_t *expiration_time, time_t *effective_time,
|
||||
char uuid[17]);
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
/* End of Options for image generation */
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2010.04.07.073024"
|
||||
#define Xorriso_timestamP "2010.04.07.202148"
|
||||
|
Loading…
Reference in New Issue
Block a user