From e6deb92553475e69f581ecf17078bb75769cfa84 Mon Sep 17 00:00:00 2001 From: Vreixo Formoso Date: Sat, 2 Feb 2008 01:49:26 +0100 Subject: [PATCH] Documentation improvements. --- doc/Tutorial | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/Wiki | 22 +++++++++------ 2 files changed, 89 insertions(+), 8 deletions(-) diff --git a/doc/Tutorial b/doc/Tutorial index 041b9cb..bfb0627 100755 --- a/doc/Tutorial +++ b/doc/Tutorial @@ -260,5 +260,80 @@ several functions to customize the behavior of that function: Once you have prepared the iso tree, it is time to select the options for the image writing. +These options affect the characteristics of the filesystem to create in the +image, but also can control how libisofs generates the image. +First of all you have to get an instance of IsoWriteOpts, with the function + + iso_write_opts_new() + +The several options available can be classified in: + +- Extensions to add to the ISO-9660 image: + + iso_write_opts_set_rockridge() + iso_write_opts_set_joliet() + iso_write_opts_set_iso1999() + +RockRidge is highly recommended, in fact you should use it in all image. Joliet +is needed if you want to use your images in Windows system. Nowadays, +ISO-9660:1999 is no much useful, so in most cases you don't want such +extension. + +- ISO-9660 options: + + iso_write_opts_set_iso_level() + iso_write_opts_set_omit_version_numbers() + iso_write_opts_set_allow_deep_paths() + iso_write_opts_set_allow_longer_paths() + iso_write_opts_set_max_37_char_filenames() + iso_write_opts_set_no_force_dots() + iso_write_opts_set_allow_lowercase() + iso_write_opts_set_allow_full_ascii() + +These control the options for the ISO-9660 filesystem. In most cases you won't +care about them, as it is the RockRidge or Joliet extensions what determine the +properties of the files once the image is mounted. + +- File attributes options + + iso_write_opts_set_replace_mode() + iso_write_opts_set_default_dir_mode() + iso_write_opts_set_default_file_mode() + iso_write_opts_set_default_uid() + iso_write_opts_set_default_gid() + iso_write_opts_set_replace_timestamps() + iso_write_opts_set_default_timestamp() + iso_write_opts_set_always_gmt() + +They allow to set default attributes for files in image, despite of the real +attributes of the file on the local filesystem. + +------------------------------------------------------------------------------- +2.3 Obtaining a burn_source + +Finally, you get the burn_source used to write the image with the function: + + iso_image_create_burn_source() + +The returned burn_source is suitable for using with libburn, to directly burn +the image to a disc. Alternatively, you can use burn_source read() to get +the image contents (for example, to write them to a file, pipe...). + +Before creating the burn_source, libisofs computes the size of the image, so +the get_size() function of the burn_source always returns the final image +size. It also starts a writing thread. All the operations needed to generate +the image are done by this thread, including read the original files contents. +The image is writing to a FIFO buffer, from which the burn_source will read. +The size of the buffer can be set in advanced with a property of the +IsoWriteOpts struct: + + iso_write_opts_set_fifo_size() + +You can get the state of the buffer in any moment, with the function: + + iso_ring_buffer_get_status() + +You can also cancel the writer thread at any time, with the cancel() function +of the burn_source. diff --git a/doc/Wiki b/doc/Wiki index 916e44c..97456b3 100755 --- a/doc/Wiki +++ b/doc/Wiki @@ -1,14 +1,20 @@ = libisofs = -libisofs is a library to create an ISO-9660 filesystem, and supports extensions like RockRidge or Joliet. It is also a full featured ISO-9660 editor, allowing you to modify an ISO image or multisession disc, including file addition/removal, change of file names and attributes, etc +libisofs is a library to create an ISO-9660 filesystem, and supports extensions like !RockRidge or Joliet. It is also a full featured ISO-9660 editor, allowing you to modify an ISO image or multisession disc, including file addition/removal, change of file names and attributes, etc -== Next generation of libisofs == - -We have been working last three months in a new version of libisofs. It is in fact a big refactoring of the library, of both its API and design. [TODO] - -Please report any feature you want to have implemented. - -See bug reports in http://libburnia-project.org/report/9 +The old libisofs has been declarated deprecated and frozen, it won't be maintained anymore. A full refactoring of the design has been done during this last months, and a next generation of the library will be released in the next days. == Source Code == +The code is maintained in a [http://bazaar-vcs.org/ Bazaar] repository at Launchpad (https://launchpad.net/libisofs/). You can download it with: + +{{{ +$ bzr branch lp:libisofs +}}} + + +To report any bug or suggest enhancementes, [http://libburnia-project.org/register register] yourself and submit a new ticket. Bug and enhacement reports for nglibisofs can be consulted in http://libburnia-project.org/report/9. + +== Usage tutorial == + +Coming soon... For now check "doc/Tutorial" in the source tree.