[syslinux] Rock Ridge. Was: Allowed code pages and encodings to write f0.txt through f1.txt?
Thomas Schmitt
scdbackup at gmx.net
Thu Mar 28 14:15:26 PDT 2013
Hi,
i began to implement a common lookup function for SUSP and Rock Ridge
entries:
/* Obtain the payload bytes of all SUSP entries with a given signature.
@param fs The data source from which to read CE blocks.
@param dir_rec Memory containing the whole ISO 9660 directory record.
@param sig Two characters of SUSP signature. E.g. "NM", "ER", ...
@param data Returns allocated memory with the found payload.
@param len_data Returns the number of valid bytes in *data.
(Does not include the trailing 0-byte.)
@return 1= Success.
*data and *len_data are valid.
A trailing 0-byte was added to *data for convenience.
0= Desired signature not found.
*data and *len_data are NULL resp. 0.
-1= Error.
Something is wrong with the ISO 9660 or SUSP data in
the image.
*/
static int susp_get_entry(struct fs_info *fs, char *dir_rec, char *sig,
char **data, int *len_data);
The function and its subordinates already have more than 300 lines,
i fear. And still some necessary features are missing.
Some open questions:
How do i check for success or failure of get_cache() ?
Shall the new code become part of iso9660/iso9660.c
or shall i start a new source file iso9660/susp.c ?
Would it be ok to extend struct iso_sb_info ?
(I should implement non-zero skip length that might be defined by
the SUSP SP entry. Probably i find more use for global-ish parameters.)
Have a nice day :)
Thomas
More information about the Syslinux
mailing list