xorriso
1.5.4.pl02
About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.
![]() ![]() |
#include "libisofs.h"
#include "ecma119.h"
#include "util.h"
#include "rockridge.h"
#include "messages.h"
#include <sys/stat.h>
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | susp_iterator |
Macros | |
#define | ISO_SUSP_MAX_CE_BYTES (1024 * 1024) |
Functions | |
SuspIterator * | susp_iter_new (IsoDataSource *src, struct ecma119_dir_record *record, uint32_t fs_blocks, uint8_t len_skp, int msgid) |
int | susp_iter_next (SuspIterator *iter, struct susp_sys_user_entry **sue, int flag) |
void | susp_iter_free (SuspIterator *iter) |
int | read_rr_PX (struct susp_sys_user_entry *px, struct stat *st) |
int | read_rr_TF (struct susp_sys_user_entry *tf, struct stat *st) |
int | read_rr_NM (struct susp_sys_user_entry *nm, char **name, int *cont) |
int | read_rr_SL (struct susp_sys_user_entry *sl, char **dest, int *cont) |
int | read_rr_PN (struct susp_sys_user_entry *pn, struct stat *st) |
int | read_aaip_AA (struct susp_sys_user_entry *sue, unsigned char **aa_string, size_t *aa_size, size_t *aa_len, size_t *prev_field, int *is_done, int flag) |
int | read_aaip_AL (struct susp_sys_user_entry *sue, unsigned char **aa_string, size_t *aa_size, size_t *aa_len, size_t *prev_field, int *is_done, int flag) |
int | read_zisofs_ZF (struct susp_sys_user_entry *zf, uint8_t algorithm[2], uint8_t *header_size_div4, uint8_t *block_size_log2, uint64_t *uncompressed_size, int flag) |
#define ISO_SUSP_MAX_CE_BYTES (1024 * 1024) |
Definition at line 75 of file rockridge_read.c.
int read_aaip_AA | ( | struct susp_sys_user_entry * | sue, |
unsigned char ** | aa_string, | ||
size_t * | aa_size, | ||
size_t * | aa_len, | ||
size_t * | prev_field, | ||
int * | is_done, | ||
int | flag | ||
) |
Collects the AAIP field string from single AAIP fields. (see doc/susp_aaip_1_0.txt)
aa_string | Storage location of the emerging string. Begin with *aa_string == NULL, or own malloc() storage. |
aa_size | Current allocated size of aa_string. Begin with *aa_size == 0, or own storage size. |
aa_len | Current occupied size of aa_string. Begin with *aa_len == 0 |
prev_field | Returns the index of start of the previous field in the string. |
is_done | The current completion state of the AAIP field string. Fields will be ignored as soon as it is 1. Begin with *is_done == 0 |
flag | Unused yet. Submit 0. |
Definition at line 493 of file rockridge_read.c.
References susp_sys_user_entry::AL, aaip_AL::comps, susp_sys_user_entry::data, aaip_AL::flags, ISO_OUT_OF_MEM, ISO_SUCCESS, ISO_WRONG_RR, susp_sys_user_entry::len_sue, and susp_sys_user_entry::version.
int read_aaip_AL | ( | struct susp_sys_user_entry * | sue, |
unsigned char ** | aa_string, | ||
size_t * | aa_size, | ||
size_t * | aa_len, | ||
size_t * | prev_field, | ||
int * | is_done, | ||
int | flag | ||
) |
Collects the AAIP field string from single AL fields. (see doc/susp_aaip_2_0.txt)
Definition at line 567 of file rockridge_read.c.
References susp_sys_user_entry::AL, aaip_AL::comps, susp_sys_user_entry::data, aaip_AL::flags, ISO_OUT_OF_MEM, ISO_SUCCESS, ISO_WRONG_RR, susp_sys_user_entry::len_sue, and susp_sys_user_entry::version.
int read_rr_NM | ( | struct susp_sys_user_entry * | nm, |
char ** | name, | ||
int * | cont | ||
) |
Read a RR NM entry (RRIP, 4.1.4), and appends the name stored there to the given name. You can pass a pointer to NULL as name.
Definition at line 318 of file rockridge_read.c.
References susp_sys_user_entry::data, rr_NM::flags, ISO_NULL_POINTER, ISO_OUT_OF_MEM, ISO_SUCCESS, iso_util_strcopy(), ISO_WRONG_ARG_VALUE, ISO_WRONG_RR, susp_sys_user_entry::len_sue, rr_NM::name, susp_sys_user_entry::NM, and susp_sys_user_entry::sig.
int read_rr_PN | ( | struct susp_sys_user_entry * | pn, |
struct stat * | st | ||
) |
Fills a struct stat with the values of a Rock Ridge PN entry (RRIP, 4.1.2).
Definition at line 457 of file rockridge_read.c.
References susp_sys_user_entry::data, rr_PN::high, ISO_NULL_POINTER, iso_read_bb(), ISO_SUCCESS, ISO_WRONG_ARG_VALUE, ISO_WRONG_RR, susp_sys_user_entry::len_sue, rr_PN::low, susp_sys_user_entry::PN, and susp_sys_user_entry::sig.
int read_rr_PX | ( | struct susp_sys_user_entry * | px, |
struct stat * | st | ||
) |
Fills a struct stat with the values of a Rock Ridge PX entry (RRIP, 4.1.1).
Definition at line 190 of file rockridge_read.c.
References susp_sys_user_entry::data, rr_PX::gid, ISO_NULL_POINTER, iso_read_bb(), ISO_WRONG_ARG_VALUE, ISO_WRONG_RR, susp_sys_user_entry::len_sue, rr_PX::links, rr_PX::mode, susp_sys_user_entry::PX, rr_PX::serial, susp_sys_user_entry::sig, and rr_PX::uid.
int read_rr_SL | ( | struct susp_sys_user_entry * | sl, |
char ** | dest, | ||
int * | cont | ||
) |
Read a SL RR entry (RRIP, 4.1.3), checking if the destination continues.
cont | 0 not continue, 1 continue, 2 continue component |
Definition at line 368 of file rockridge_read.c.
References rr_SL::comps, susp_sys_user_entry::data, rr_SL::flags, ISO_NULL_POINTER, ISO_OUT_OF_MEM, ISO_SUCCESS, ISO_UNSUPPORTED_RR, iso_util_strcopy(), ISO_WRONG_ARG_VALUE, susp_sys_user_entry::len_sue, susp_sys_user_entry::sig, and susp_sys_user_entry::SL.
int read_rr_TF | ( | struct susp_sys_user_entry * | tf, |
struct stat * | st | ||
) |
Fills a struct stat with the values of a Rock Ridge TF entry (RRIP, 4.1.6)
Definition at line 223 of file rockridge_read.c.
References susp_sys_user_entry::data, rr_TF::flags, iso_datetime_read_17(), iso_datetime_read_7(), ISO_NULL_POINTER, ISO_SUCCESS, ISO_WRONG_ARG_VALUE, ISO_WRONG_RR, susp_sys_user_entry::len_sue, susp_sys_user_entry::sig, rr_TF::t_stamps, and susp_sys_user_entry::TF.
int read_zisofs_ZF | ( | struct susp_sys_user_entry * | zf, |
uint8_t | algorithm[2], | ||
uint8_t * | header_size_div4, | ||
uint8_t * | block_size_log2, | ||
uint64_t * | uncompressed_size, | ||
int | flag | ||
) |
Reads the zisofs parameters from a ZF field (see doc/zisofs_format.txt and doc/zisofs2_format.txt).
Definition at line 626 of file rockridge_read.c.
References susp_sys_user_entry::data, ISO_NULL_POINTER, iso_read_bb(), iso_read_lsb64(), ISO_SUCCESS, ISO_WRONG_ARG_VALUE, ISO_WRONG_RR, susp_sys_user_entry::len_sue, zisofs_ZF::parameters, susp_sys_user_entry::sig, susp_sys_user_entry::version, and susp_sys_user_entry::ZF.
void susp_iter_free | ( | SuspIterator * | iter | ) |
Free a given susp iterator.
Definition at line 178 of file rockridge_read.c.
References susp_iterator::buffer.
Referenced by read_root_susp_entries().
SuspIterator* susp_iter_new | ( | IsoDataSource * | src, |
struct ecma119_dir_record * | record, | ||
uint32_t | fs_blocks, | ||
uint8_t | len_skp, | ||
int | msgid | ||
) |
Definition at line 52 of file rockridge_read.c.
References susp_iterator::base, susp_iterator::buffer, susp_iterator::ce_len, ecma119_dir_record::file_id, susp_iterator::fs_blocks, ecma119_dir_record::len_dr, ecma119_dir_record::len_fi, susp_iterator::msgid, susp_iterator::pos, susp_iterator::size, and susp_iterator::src.
Referenced by read_root_susp_entries().
int susp_iter_next | ( | SuspIterator * | iter, |
struct susp_sys_user_entry ** | sue, | ||
int | flag | ||
) |
Get the next SUSP System User Entry using given iterator.
sue | Pointer to the next susp entry. It refers to an internal buffer and it's not guaranteed to be allocated after calling susp_iter_next() again. Thus, if you need to keep some entry you have to do a copy. |
Definition at line 81 of file rockridge_read.c.
References susp_iterator::base, susp_CE::block, BLOCK_SIZE, susp_iterator::buffer, susp_sys_user_entry::CE, susp_iterator::ce_block, susp_iterator::ce_len, susp_iterator::ce_off, susp_sys_user_entry::data, DIV_UP, susp_iterator::fs_blocks, iso_msg_submit(), iso_read_bb(), ISO_SUCCESS, ISO_SUSP_MAX_CE_BYTES, ISO_SUSP_WRONG_CE_SIZE, ISO_UNSUPPORTED_SUSP, ISO_WRONG_RR, susp_CE::len, susp_sys_user_entry::len_sue, susp_iterator::msgid, susp_CE::offset, susp_iterator::pos, iso_data_source::read_block, susp_iterator::size, susp_iterator::src, susp_iter_next(), and SUSP_SIG.
Referenced by read_root_susp_entries(), and susp_iter_next().