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)  

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

Go to the source code of this file.

Data Structures

struct  iso_mbr_partition_request
 
struct  iso_apm_partition_request
 
struct  iso_gpt_partition_request
 
struct  iso_mips_voldir_entry
 
struct  iso_sun_disk_label_entry
 

Macros

#define Libisofs_grub2_mbr_patch_poS   0x1b0
 
#define Libisofs_grub2_mbr_patch_offsT   4
 
#define Libisofs_grub2_sparc_patch_adr_poS   0x228
 
#define Libisofs_grub2_sparc_patch_size_poS   0x230
 
#define Libisofs_appended_partitions_inlinE   yes
 
#define Libisofs_part_align_writeR   yes
 

Functions

int make_isohybrid_mbr (int bin_lba, int *img_blocks, char *mbr, int flag)
 
int iso_write_system_area (Ecma119Image *t, uint8_t *buf, int flag)
 
int iso_align_isohybrid (Ecma119Image *t, int flag)
 
int iso_read_mipsel_elf (Ecma119Image *t, int flag)
 
int iso_compute_append_partitions (Ecma119Image *t, int flag)
 
int iso_register_mbr_entry (struct iso_mbr_partition_request **req_array, int *mbr_req_count, struct iso_mbr_partition_request *req, int flag)
 
int iso_quick_mbr_entry (struct iso_mbr_partition_request **req_array, int *mbr_req_count, uint64_t start_block, uint64_t block_count, uint8_t type_byte, uint8_t status_byte, int desired_slot)
 
int iso_mbr_entry_slot_is_free (struct iso_mbr_partition_request **req_array, int mbr_req_count, int slot)
 
int iso_register_apm_entry (struct iso_apm_partition_request **req_array, int *apm_req_count, struct iso_apm_partition_request *req, int flag)
 
int iso_quick_apm_entry (struct iso_apm_partition_request **req_array, int *apm_req_count, uint32_t start_block, uint32_t block_count, char *name, char *type)
 
void iso_gpt_uuid (Ecma119Image *t, uint8_t uuid[16])
 
void iso_mark_guid_version_4 (uint8_t *u)
 
int iso_register_gpt_entry (struct iso_gpt_partition_request **req_array, int *gpt_req_count, struct iso_gpt_partition_request *req, int flag)
 
int iso_quick_gpt_entry (struct iso_gpt_partition_request **req_array, int *gpt_req_count, uint64_t start_block, uint64_t block_count, uint8_t type_guid[16], uint8_t partition_guid[16], uint64_t flags, uint8_t name[72])
 
void iso_delete_gpt_apm_fillers (Ecma119Image *target, int flag)
 
int iso_write_gpt_header_block (Ecma119Image *t, uint32_t img_blocks, uint8_t *buf, uint32_t max_entries, uint32_t part_start, uint32_t p_arr_crc)
 
int partprepend_writer_create (Ecma119Image *target)
 
int partappend_writer_create (Ecma119Image *target)
 
int gpt_tail_writer_create (Ecma119Image *target)
 
int gpt_tail_writer_write_vol_desc (IsoImageWriter *writer)
 
void iso_ascii_utf_16le (uint8_t gap_name[72])
 

Macro Definition Documentation

◆ Libisofs_appended_partitions_inlinE

#define Libisofs_appended_partitions_inlinE   yes

Definition at line 339 of file system_area.h.

◆ Libisofs_grub2_mbr_patch_offsT

#define Libisofs_grub2_mbr_patch_offsT   4

Definition at line 328 of file system_area.h.

◆ Libisofs_grub2_mbr_patch_poS

#define Libisofs_grub2_mbr_patch_poS   0x1b0

Definition at line 327 of file system_area.h.

◆ Libisofs_grub2_sparc_patch_adr_poS

#define Libisofs_grub2_sparc_patch_adr_poS   0x228

Definition at line 333 of file system_area.h.

◆ Libisofs_grub2_sparc_patch_size_poS

#define Libisofs_grub2_sparc_patch_size_poS   0x230

Definition at line 334 of file system_area.h.

◆ Libisofs_part_align_writeR

#define Libisofs_part_align_writeR   yes

Definition at line 343 of file system_area.h.

Function Documentation

◆ gpt_tail_writer_create()

◆ gpt_tail_writer_write_vol_desc()

int gpt_tail_writer_write_vol_desc ( IsoImageWriter writer)

Definition at line 2900 of file system_area.c.

References ISO_SUCCESS.

Referenced by ecma119_image_new(), gpt_tail_writer_create(), and write_function().

◆ iso_align_isohybrid()

◆ iso_ascii_utf_16le()

void iso_ascii_utf_16le ( uint8_t  gap_name[72])

◆ iso_compute_append_partitions()

◆ iso_delete_gpt_apm_fillers()

◆ iso_gpt_uuid()

void iso_gpt_uuid ( Ecma119Image t,
uint8_t  uuid[16] 
)

◆ iso_mark_guid_version_4()

void iso_mark_guid_version_4 ( uint8_t *  u)

Definition at line 2540 of file system_area.c.

Referenced by gpt_disk_guid_setup(), and iso_generate_gpt_guid().

◆ iso_mbr_entry_slot_is_free()

int iso_mbr_entry_slot_is_free ( struct iso_mbr_partition_request **  req_array,
int  mbr_req_count,
int  slot 
)

Definition at line 1137 of file system_area.c.

References iso_mbr_partition_request::desired_slot, and ISO_MBR_ENTRIES_MAX.

Referenced by iso_quick_mbr_entry().

◆ iso_quick_apm_entry()

◆ iso_quick_gpt_entry()

◆ iso_quick_mbr_entry()

int iso_quick_mbr_entry ( struct iso_mbr_partition_request **  req_array,
int *  mbr_req_count,
uint64_t  start_block,
uint64_t  block_count,
uint8_t  type_byte,
uint8_t  status_byte,
int  desired_slot 
)

◆ iso_read_mipsel_elf()

int iso_read_mipsel_elf ( Ecma119Image t,
int  flag 
)

Read the necessary ELF information from the first MIPS boot file. See doc/boot_sectors.txt "DEC Boot Block" for "MIPS Little Endian".

Read the necessary ELF information from the first MIPS boot file. This is done before image writing starts.

Definition at line 610 of file system_area.c.

References boot_nodes_from_iso_path(), Iso_Image::id, ecma119_image::image, iso_file_get_stream(), iso_msg_submit(), iso_read_lsb(), iso_stream_close(), iso_stream_open(), iso_stream_read(), ISO_SUCCESS, LIBISO_ALLOC_MEM, LIBISO_FREE_MEM, Iso_Image::mips_boot_file_paths, ecma119_image::mipsel_e_entry, ecma119_image::mipsel_p_filesz, ecma119_image::mipsel_p_offset, ecma119_image::mipsel_p_vaddr, and Iso_Image::num_mips_boot_files.

Referenced by ecma119_image_new().

◆ iso_register_apm_entry()

int iso_register_apm_entry ( struct iso_apm_partition_request **  req_array,
int *  apm_req_count,
struct iso_apm_partition_request req,
int  flag 
)

Definition at line 2439 of file system_area.c.

References ISO_APM_ENTRIES_MAX, ISO_BOOT_TOO_MANY_APM, ISO_OUT_OF_MEM, and ISO_SUCCESS.

Referenced by iso_quick_apm_entry().

◆ iso_register_gpt_entry()

int iso_register_gpt_entry ( struct iso_gpt_partition_request **  req_array,
int *  gpt_req_count,
struct iso_gpt_partition_request req,
int  flag 
)

Definition at line 2476 of file system_area.c.

References ISO_BOOT_TOO_MANY_GPT, ISO_GPT_ENTRIES_MAX, ISO_OUT_OF_MEM, and ISO_SUCCESS.

Referenced by iso_quick_gpt_entry().

◆ iso_register_mbr_entry()

int iso_register_mbr_entry ( struct iso_mbr_partition_request **  req_array,
int *  mbr_req_count,
struct iso_mbr_partition_request req,
int  flag 
)

Definition at line 2458 of file system_area.c.

References ISO_BOOT_TOO_MANY_MBR, ISO_MBR_ENTRIES_MAX, ISO_OUT_OF_MEM, and ISO_SUCCESS.

Referenced by iso_quick_mbr_entry().

◆ iso_write_gpt_header_block()

int iso_write_gpt_header_block ( Ecma119Image t,
uint32_t  img_blocks,
uint8_t *  buf,
uint32_t  max_entries,
uint32_t  part_start,
uint32_t  p_arr_crc 
)

◆ iso_write_system_area()

int iso_write_system_area ( Ecma119Image t,
uint8_t *  buf,
int  flag 
)

Write the system area for the given image to the given buffer.

Parameters
bufA buffer with at least 32 K allocated
flagbit0= t->opts->ms_block is not counted in t->total_size
Returns
1 if success, < 0 on error

Definition at line 1881 of file system_area.c.

References iso_write_opts::appended_as_apm, iso_write_opts::appended_as_gpt, ecma119_image::appended_part_size, ecma119_image::appended_part_start, iso_write_opts::appended_part_types, iso_write_opts::appended_partitions, assess_isohybrid_gpt_apm(), iso_file_section::block, BLOCK_SIZE, el_torito_boot_catalog::bootimages, ecma119_image::bootsrc, ecma119_image::catalog, ecma119_image::curblock, iso_mbr_partition_request::desired_slot, ecma119_image::gpt_backup_outside, ecma119_image::gpt_req_count, ecma119_image::have_appended_partitions, Iso_Image::id, ecma119_image::image, ISO_ASSERT_FAILURE, ISO_BOOT_IMAGE_NOT_VALID, ISO_BOOT_MBR_COLLISION, ISO_BOOT_MBR_OVERLAP, iso_dummy_mbr_partition(), ISO_ISOLINUX_CANT_PATCH, iso_write_opts::iso_mbr_part_type, iso_msg_submit(), iso_msgs_submit(), ISO_NON_MBR_SYS_AREA, ISO_NULL_POINTER, iso_offset_partition_start(), ISO_SUCCESS, ISO_SUN_CYL_SIZE, iso_tell_max_part_range(), iso_write_apm(), iso_write_gpt(), iso_write_mbr(), el_torito_boot_image::isolinux_options, Libisofs_grub2_mbr_patch_offsT, Libisofs_grub2_mbr_patch_poS, make_dec_alpha_sector(), make_grub_msdos_label(), make_hppa_palo_sector(), make_isohybrid_mbr(), make_isolinux_mbr(), make_mips_volume_header(), make_mipsel_boot_block(), make_sun_disk_label(), mbr_part_slot_is_unused(), ecma119_image::mbr_req, ecma119_image::mbr_req_count, iso_write_opts::ms_block, ecma119_image::num_bootsrc, ecma119_image::opts, iso_write_opts::part_like_isohybrid, ecma119_image::partition_heads_per_cyl, iso_write_opts::partition_offset, ecma119_image::partition_secs_per_head, ecma119_image::post_iso_part_pad, ecma119_image::pvd_size_is_total_size, Iso_File_Src::sections, ecma119_image::system_area_data, ecma119_image::system_area_options, ecma119_image::total_size, iso_mbr_partition_request::type_byte, ecma119_image::vol_space_size, write_mbr_partition_entry(), and write_sun_partition_entry().

Referenced by write_head_part1().

◆ make_isohybrid_mbr()

int make_isohybrid_mbr ( int  bin_lba,
int *  img_blocks,
char *  mbr,
int  flag 
)

Definition at line 116 of file make_isohybrid_mbr.c.

References lsb_to_buf().

Referenced by Xorriso_set_isolinux_options().

◆ partappend_writer_create()

◆ partprepend_writer_create()