Commit Graph

14 Commits

Author SHA1 Message Date
Vreixo Formoso 35ef22cdd7 Implement ECMA-119 burn_source and writer thread handling.
At this time, nglibisofs is able to output an image!! Note that communication
between writer and read thread is done via a pipe. That will be replaced by a
ring buffer in the near future.
2007-12-22 17:09:28 +01:00
Vreixo Formoso d07fed1a4c Add write function. Fix bug in PVD writing and dir. record len computation. 2007-12-22 14:45:00 +01:00
Vreixo Formoso 5cf2980c9c Append version number to file ids. 2007-12-21 23:08:21 +01:00
Vreixo Formoso 2fd3195747 Write the path tables on the ISO structure. 2007-12-21 22:53:48 +01:00
Vreixo Formoso 46ffb6d33d Fix implementation of PVD writing. 2007-12-21 00:05:41 +01:00
Vreixo Formoso e6bd1586d6 Replace glibc tsearch() with a custom red-black tree implementation.
The library supplied tree estructure is not enought for our needs, due to its
limited API. Thus, we have implemented a suitable red-black tree.
2007-12-20 00:25:25 +01:00
Vreixo Formoso 5eb3a7e038 Implementation of function to write the PVD.
The directory entry for the root directory is still missing.
2007-12-18 21:55:01 +01:00
Vreixo Formoso 36894d6a23 Implementation of the write function to use by the Writers. 2007-12-18 00:37:24 +01:00
Vreixo Formoso 257b08bfcf Code to compute position of directory records and path tables. 2007-12-18 00:20:03 +01:00
Vreixo Formoso 5e2de57aa9 Initial structure for ECMA-119 writer. 2007-12-17 23:22:19 +01:00
Vreixo Formoso c8715941e6 Define some functions and responsabilities for image generation.
Still very preliminary work.
2007-12-16 19:10:47 +01:00
Vreixo Formoso 40b27dbacc Initial support for low level ECMA-119 tree.
This only adds the tree creation functions, no sorting and name mangling 
yet. Only plain ECMA-119 supported for now, nor RR, relaxed 
restrictions, etc..

This also adds a little test program.
2007-12-15 16:55:44 +01:00
Vreixo Formoso aa312cf7d7 Fix bug in IsoFileSrc implementation, related to a wrogn usage of tsearch.
It happens that tsearch seems to not return a pointer to the inserted element,
but a pointer to a pointer to the inserted element (that makes sense, as we
are inserted pointers...). This bug, thus, was related to a wrong 
understanding of the tsearch API!
2007-12-15 16:48:50 +01:00
Vreixo Formoso 7b241176fb Init implementation of IsoFileSrc.
Ecma119Image, defined for first time in this commit, is the context for image 
written. It keeps the low level objects needed during image written.

IsoFileSrc is the low level object that takes care about the info needed to
write file contents to image. It takes care about reading from Stream in 2K
block chunks. To prevent the same file be written twice to image, we keep in
Ecma119Image a search tree, indexed by the triple key (fs, device, inode) that
uniquelly identifies a source.
2007-12-15 13:13:49 +01:00