#include <libisofs.h>
Definition at line 766 of file libisofs.h.
Data Fields | |
| int | version |
| char | type [4] |
| Type of Stream. | |
| int(* | open )(IsoStream *stream) |
| Opens the stream. | |
| int(* | close )(IsoStream *stream) |
| Close the Stream. | |
| off_t(* | get_size )(IsoStream *stream) |
| Get the size (in bytes) of the stream. | |
| int(* | read )(IsoStream *stream, void *buf, size_t count) |
| Attempts to read up to count bytes from the given stream into the buffer starting at buf. | |
| int(* | is_repeatable )(IsoStream *stream) |
| Whether this IsoStream can be read several times, with the same results. | |
| void(* | get_id )(IsoStream *stream, unsigned int *fs_id, dev_t *dev_id, ino_t *ino_id) |
| Get an unique identifier for the IsoStream. | |
| void(* | free )(IsoStream *stream) |
| Free implementation specific data. | |
| int(* | update_size )(IsoStream *stream) |
| Present if .version is 1 or higher: Updates the size of the IsoStream with the current size of the underlying source. | |
| IsoStream *(* | get_input_stream )(IsoStream *stream, int flag) |
| Present if .version is 2 or higher: Obtains the eventual input stream of a filter stream. | |
Definition at line 777 of file libisofs.h.
| char IsoStream_Iface::type[4] |
Type of Stream.
"fsrc" -> Read from file source "mem " -> Read from memory "boot" -> Boot catalog "extf" -> External filter program "ziso" -> zisofs compression "osiz" -> zisofs uncompression "user" -> User supplied stream
Definition at line 789 of file libisofs.h.
| int(* IsoStream_Iface::open)(IsoStream *stream) |
Opens the stream.
| int(* IsoStream_Iface::close)(IsoStream *stream) |
Close the Stream.
| off_t(* IsoStream_Iface::get_size)(IsoStream *stream) |
Get the size (in bytes) of the stream.
This function should always return the same size, even if the underlying source size changes, unless you call update_size() method.
| int(* IsoStream_Iface::read)(IsoStream *stream, void *buf, size_t count) |
Attempts to read up to count bytes from the given stream into the buffer starting at buf.
The implementation has to make sure that either the full desired count of bytes is delivered or that the next call to this function will return EOF or error. I.e. only the last read block may be shorter than parameter count.
The stream must be open() before calling this, and close() when no more needed.
| int(* IsoStream_Iface::is_repeatable)(IsoStream *stream) |
Whether this IsoStream can be read several times, with the same results.
For example, a regular file is repeatable, you can read it as many times as you want. However, a pipe isn't.
This function doesn't take into account if the file has been modified between the two reads.
| void(* IsoStream_Iface::get_id)(IsoStream *stream, unsigned int *fs_id, dev_t *dev_id, ino_t *ino_id) |
Get an unique identifier for the IsoStream.
| void(* IsoStream_Iface::free)(IsoStream *stream) |
Free implementation specific data.
Should never be called by user. Use iso_stream_unref() instead.
| int(* IsoStream_Iface::update_size)(IsoStream *stream) |
Present if .version is 1 or higher: Updates the size of the IsoStream with the current size of the underlying source.
After calling this, get_size() will return the new size. This should never be called after iso_image_create_burn_source() was called and the image was not completely written. To update the size of all files before written the image, you may want to call iso_image_update_sizes() just before iso_image_create_burn_source().
| IsoStream*(* IsoStream_Iface::get_input_stream)(IsoStream *stream, int flag) |
Present if .version is 2 or higher: Obtains the eventual input stream of a filter stream.
| stream | The eventual filter stream to be inquired. | |
| flag | Bitfield for control purposes. Submit 0 for now. |
1.5.6