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.
  Fossies Dox: xorriso-1.5.4.pl02.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

hfsplus.h File Reference
#include "libisofs.h"
#include "ecma119.h"
Include dependency graph for hfsplus.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  hfsplus_btree_node
 
struct  hfsplus_btree_level
 
struct  hfsplus_node
 
struct  hfsplus_extent
 
struct  hfsplus_forkdata
 
struct  hfsplus_volheader
 
struct  hfsplus_btnode
 
struct  hfsplus_btheader
 
struct  hfsplus_catfile_thread
 
struct  hfsplus_catfile_common
 

Macros

#define LIBISO_HFSPLUS_NAME_MAX   255
 
#define HFSPLUS_MAX_DECOMPOSE_LEN   4
 

Enumerations

enum  hfsplus_node_type { HFSPLUS_DIR = 1 , HFSPLUS_FILE = 2 , HFSPLUS_DIR_THREAD = 3 , HFSPLUS_FILE_THREAD = 4 }
 

Functions

int hfsplus_writer_create (Ecma119Image *target)
 
int hfsplus_tail_writer_create (Ecma119Image *target)
 
void make_hfsplus_decompose_pages ()
 
void make_hfsplus_class_pages ()
 
int iso_get_hfsplus_name (char *input_charset, int imgid, char *name, uint16_t **result, uint32_t *result_len, uint16_t **cmp_name)
 
void iso_setup_hfsplus_block_size (Ecma119Image *target)
 

Variables

uint16_t(*[256] hfsplus_decompose_pages )[4+1]
 
uint16_t * hfsplus_class_pages [256]
 
const uint16_t hfsplus_casefold []
 

Macro Definition Documentation

◆ HFSPLUS_MAX_DECOMPOSE_LEN

#define HFSPLUS_MAX_DECOMPOSE_LEN   4

Definition at line 187 of file hfsplus.h.

◆ LIBISO_HFSPLUS_NAME_MAX

#define LIBISO_HFSPLUS_NAME_MAX   255

Declare HFS+ related structures.

Definition at line 20 of file hfsplus.h.

Enumeration Type Documentation

◆ hfsplus_node_type

Enumerator
HFSPLUS_DIR 
HFSPLUS_FILE 
HFSPLUS_DIR_THREAD 
HFSPLUS_FILE_THREAD 

Definition at line 23 of file hfsplus.h.

Function Documentation

◆ hfsplus_tail_writer_create()

◆ hfsplus_writer_create()

int hfsplus_writer_create ( Ecma119Image target)

Definition at line 1590 of file hfsplus.c.

References hfsplus_node::cat_id, Iso_Dir::children, hfsplus_node::cmp_name, cmp_node(), hfsplus_btree_node::cnt, Iso_Image_Writer::compute_data_blocks, create_tree(), Iso_Image_Writer::data, hfsplus_node::file, Iso_Image_Writer::free_data, ecma119_image::hfsp_bless_id, ecma119_image::hfsp_cat_id, ecma119_image::hfsp_cat_node_size, ecma119_image::hfsp_curleaf, ecma119_image::hfsp_leafs, ecma119_image::hfsp_levels, ecma119_image::hfsp_ndirs, ecma119_image::hfsp_nfiles, ecma119_image::hfsp_nleafs, ecma119_image::hfsp_nlevels, ecma119_image::hfsp_nnodes, hfsplus_count_tree(), HFSPLUS_DIR, HFSPLUS_DIR_THREAD, hfsplus_writer_compute_data_blocks(), hfsplus_writer_free_data(), hfsplus_writer_write_data(), Iso_Image::id, ecma119_image::image, ISO_HFSPLUS_BLESS_MAX, ISO_HFSPLUS_TOO_MANY_FILES, iso_msg_debug(), iso_msg_submit(), ISO_OUT_OF_MEM, iso_setup_hfsplus_block_size(), ISO_SUCCESS, hfsplus_btree_level::level_size, make_hfsplus_class_pages(), make_hfsplus_decompose_pages(), mangle_leafs(), hfsplus_node::name, hfsplus_node::nchildren, Iso_Node::next, hfsplus_node::node, hfsplus_btree_level::nodes, nop_writer_write_vol_desc(), ecma119_image::nwriters, hfsplus_btree_node::parent_id, hfsplus_node::parent_id, Iso_Image::root, set_hfsplus_name(), hfsplus_btree_node::start, hfsplus_btree_node::str, hfsplus_btree_node::strlen, hfsplus_node::strlen, Iso_Image_Writer::target, hfsplus_node::type, hfsplus_node::unix_type, hfsplus_node::used_size, Iso_Image::volume_id, Iso_Image_Writer::write_data, Iso_Image_Writer::write_vol_desc, and ecma119_image::writers.

Referenced by ecma119_image_new().

◆ iso_get_hfsplus_name()

int iso_get_hfsplus_name ( char *  input_charset,
int  imgid,
char *  name,
uint16_t **  result,
uint32_t *  result_len,
uint16_t **  cmp_name 
)

◆ iso_setup_hfsplus_block_size()

◆ make_hfsplus_class_pages()

void make_hfsplus_class_pages ( )

Definition at line 435 of file hfsplus_classes.c.

References class_page_data, class_pages, and hfsplus_class_pages.

Referenced by hfsplus_writer_create(), and main().

◆ make_hfsplus_decompose_pages()

void make_hfsplus_decompose_pages ( )

Variable Documentation

◆ hfsplus_casefold

const uint16_t hfsplus_casefold[]
extern

Definition at line 10 of file hfsplus_case_apple_vladimir.c.

◆ hfsplus_class_pages

uint16_t* hfsplus_class_pages[256]
extern

Definition at line 431 of file hfsplus_classes.c.

Referenced by compare_class_pages(), get_class(), and make_hfsplus_class_pages().

◆ hfsplus_decompose_pages

uint16_t(*[256] hfsplus_decompose_pages)[4+1]
extern