2 #ifndef LIBISOBURN_LIBISOBURN_H_
3 #define LIBISOBURN_LIBISOBURN_H_
168 #ifdef HAVE_INTTYPES_H
169 #include <inttypes.h>
250 #define isoburn_libisofs_req_major 1
251 #define isoburn_libisofs_req_minor 5
252 #define isoburn_libisofs_req_micro 4
258 #define isoburn_libburn_req_major 1
259 #define isoburn_libburn_req_minor 5
260 #define isoburn_libburn_req_micro 4
313 #define isoburn_header_version_major 1
314 #define isoburn_header_version_minor 5
315 #define isoburn_header_version_micro 4
394 char msg_text[],
int os_errno,
395 char severity[],
int flag),
396 void *submit_handle,
int submit_flag,
int flag);
415 char* adr,
int load);
460 char* adr,
int flag);
487 int (*msgs_submit)(
void *handle,
int error_code,
488 char msg_text[],
int os_errno,
489 char severity[],
int flag),
490 void *submit_handle,
int submit_flag,
int flag);
702 int *image_blocks,
char volid[33],
int flag);
738 int *image_blocks,
char *info,
int flag);
765 int adr_mode,
char *adr_value,
766 int *lba,
int *
track,
int *session,
767 char volid[33],
int flag);
849 int *set_flag,
int flag);
926 #define isoburn_ropt_norock 1
927 #define isoburn_ropt_nojoliet 2
928 #define isoburn_ropt_noiso1999 4
929 #define isoburn_ropt_preferjoliet 8
930 #define isoburn_ropt_pretend_blank 16
931 #define isoburn_ropt_noaaip 32
932 #define isoburn_ropt_noacl 64
933 #define isoburn_ropt_noea 128
934 #define isoburn_ropt_noino 256
935 #define isoburn_ropt_nomd5 512
936 #define isoburn_ropt_nomd5tag 1024
937 #define isoburn_ropt_map_unmapped ( 2048 | 0 )
938 #define isoburn_ropt_map_stripped ( 2048 | 4096 )
939 #define isoburn_ropt_map_uppercase ( 2048 | 8192 )
940 #define isoburn_ropt_map_lowercase ( 2048 | 12288 )
941 #define isoburn_ropt_joliet_unmapped ( 16384 | 0)
942 #define isoburn_ropt_joliet_stripped ( 16384 | 32768)
1060 int mode,
int length);
1062 int *
mode,
int *length);
1086 #define isoburn_ropt_has_rockridge 1
1087 #define isoburn_ropt_has_joliet 2
1088 #define isoburn_ropt_has_iso1999 4
1089 #define isoburn_ropt_has_el_torito 8
1092 uint32_t *
size,
int *has_what);
1112 int *tree,
int *rr);
1240 #define isoburn_igopt_rockridge 1
1241 #define isoburn_igopt_joliet 2
1242 #define isoburn_igopt_iso1999 4
1243 #define isoburn_igopt_hardlinks 8
1244 #define isoburn_igopt_aaip 32
1245 #define isoburn_igopt_session_md5 64
1246 #define isoburn_igopt_file_md5 128
1247 #define isoburn_igopt_file_stability 256
1248 #define isoburn_igopt_no_emul_toc 512
1249 #define isoburn_igopt_will_cancel 1024
1250 #define isoburn_igopt_old_empty 2048
1251 #define isoburn_igopt_hfsplus 4096
1252 #define isoburn_igopt_fat 8192
1356 #define isoburn_igopt_omit_version_numbers 1
1357 #define isoburn_igopt_allow_deep_paths 2
1358 #define isoburn_igopt_allow_longer_paths 4
1359 #define isoburn_igopt_max_37_char_filenames 8
1360 #define isoburn_igopt_no_force_dots 16
1361 #define isoburn_igopt_allow_lowercase 32
1362 #define isoburn_igopt_allow_full_ascii 64
1363 #define isoburn_igopt_joliet_longer_paths 128
1364 #define isoburn_igopt_always_gmt 256
1365 #define isoburn_igopt_rrip_version_1_10 512
1366 #define isoburn_igopt_dir_rec_mtime 1024
1367 #define isoburn_igopt_aaip_susp_1_10 2048
1368 #define isoburn_igopt_only_iso_versions 4096
1369 #define isoburn_igopt_no_j_force_dots 8192
1370 #define isoburn_igopt_allow_dir_id_ext 16384
1371 #define isoburn_igopt_joliet_long_names 32768
1372 #define isoburn_igopt_joliet_rec_mtime 0x10000
1373 #define isoburn_igopt_iso1999_rec_mtime 0x20000
1374 #define isoburn_igopt_allow_7bit_ascii 0x40000
1375 #define isoburn_igopt_joliet_utf16 0x80000
1457 #define isoburn_igopt_sort_files_by_weight 1
1579 char *timestamp,
char *tag_written);
1581 char name[81],
char timestamp[19],
1582 char **tag_written);
1661 char data[32768],
int options);
1663 char data[32768],
int *options);
1692 uint32_t block_offset_2k,
1693 int secs_512_per_head,
int heads_per_cyl);
1695 uint32_t *block_offset_2k,
1696 int *secs_512_per_head,
int *heads_per_cyl);
1729 time_t creation_time, time_t modification_time,
1730 time_t expiration_time, time_t effective_time,
1733 time_t *creation_time, time_t *modification_time,
1734 time_t *expiration_time, time_t *effective_time,
1783 uint32_t num_blocks);
1785 uint32_t *num_blocks);
1808 char *path,
int flag);
1810 char **path,
int flag);
1833 char *path,
int flag);
1835 char **path,
int flag);
1868 int partition_number, uint8_t partition_type,
1890 uint8_t partition_types[],
1891 char *image_paths[]);
1911 int partition_number,
int flag);
1928 int num_entries,
int part_flags[]);
1981 int partition_number, uint8_t guid[16],
2002 int num_entries, uint8_t guids[][16],
2112 uint8_t guid[16],
int valid);
2154 uint8_t guid[16],
int mode);
2168 uint8_t guid[16],
int *mode);
2211 uint8_t serial_number[8]);
2224 uint8_t serial_number[8]);
2348 char *name,
size_t name_len,
2349 char **result,
size_t *result_len,
int flag);
2432 uint32_t *block_offset_2k);
2510 int trackno,
int *lba,
int *nwa);
2698 char **status_text);
int isoburn_disc_erasable(struct burn_drive *d)
int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
int isoburn_prepare_disc(struct burn_drive *drive, struct burn_disc **disc, struct isoburn_imgen_opts *opts)
int isoburn_igopt_get_hfsp_serial_number(struct isoburn_imgen_opts *opts, uint8_t serial_number[8])
int isoburn_attach_image(struct burn_drive *d, IsoImage *image)
int isoburn_igopt_set_iso_mbr_part_type(struct isoburn_imgen_opts *opts, int part_type)
int isoburn_igopt_set_fifo_size(struct isoburn_imgen_opts *o, int fifo_size)
struct isoburn_toc_session ** isoburn_toc_disc_get_sessions(struct isoburn_toc_disc *disc, int *num)
int isoburn_igopt_set_pvd_times(struct isoburn_imgen_opts *opts, time_t creation_time, time_t modification_time, time_t expiration_time, time_t effective_time, char *uuid)
int isoburn_set_truncate(struct burn_drive *drive, int flag)
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[], char *adr, int flag)
int isoburn_ropt_get_auto_incharset(struct isoburn_read_opts *o, int *mode)
int isoburn_igopt_get_part_like_isohybrid(struct isoburn_imgen_opts *opts, int *alike)
int isoburn_get_mount_params(struct burn_drive *d, int adr_mode, char *adr_value, int *lba, int *track, int *session, char volid[33], int flag)
int isoburn_get_img_partition_offset(struct burn_drive *drive, uint32_t *block_offset_2k)
int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag)
enum burn_disc_status isoburn_disc_get_status(struct burn_drive *drive)
int isoburn_igopt_set_disc_label(struct isoburn_imgen_opts *opts, char *label)
struct isoburn_toc_track ** isoburn_toc_session_get_tracks(struct isoburn_toc_session *s, int *num)
int isoburn_ropt_set_displacement(struct isoburn_read_opts *o, uint32_t displacement, int displacement_sign)
void isoburn_toc_track_get_entry(struct isoburn_toc_track *t, struct burn_toc_entry *entry)
int isoburn_igopt_get_data_start(struct isoburn_imgen_opts *o, int *lba)
int isoburn_ropt_set_data_cache(struct isoburn_read_opts *o, int cache_tiles, int tile_blocks, int flag)
int isoburn_is_compatible(int major, int minor, int micro, int flag)
int isoburn_drive_wrote_well(struct burn_drive *d)
int isoburn_igopt_set_over_mode(struct isoburn_imgen_opts *o, int replace_dir_mode, int replace_file_mode, mode_t dir_mode, mode_t file_mode)
int isoburn_needs_emulation(struct burn_drive *d)
int isoburn_igopt_set_stdio_endsync(struct isoburn_imgen_opts *opts, int do_sync)
int isoburn_igopt_detach_jte(struct isoburn_imgen_opts *opts, void **libjte_handle)
int isoburn_ropt_get_size_what(struct isoburn_read_opts *o, uint32_t *size, int *has_what)
int isoburn_igopt_set_over_ugid(struct isoburn_imgen_opts *o, int replace_uid, int replace_gid, uid_t uid, gid_t gid)
int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax)
int isoburn_set_read_pacifier(struct burn_drive *drive, int(*read_pacifier)(IsoImage *, IsoFileSource *), void *app_handle)
int isoburn_igopt_get_effective_lba(struct isoburn_imgen_opts *o, int *lba)
int isoburn_igopt_attach_jte(struct isoburn_imgen_opts *opts, void *libjte_handle)
int isoburn_igopt_get_appended_as_apm(struct isoburn_imgen_opts *opts, int *apm)
int isoburn_igopt_get_iso_type_guid(struct isoburn_imgen_opts *opts, uint8_t guid[16])
void isoburn_toc_session_get_leadout_entry(struct isoburn_toc_session *s, struct burn_toc_entry *entry)
int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax)
int isoburn_drive_grab(struct burn_drive *drive, int load)
int isoburn_ropt_get_input_charset(struct isoburn_read_opts *o, char **input_charset)
int isoburn_igopt_get_system_area(struct isoburn_imgen_opts *o, char data[32768], int *options)
int isoburn_igopt_get_partition_img(struct isoburn_imgen_opts *opts, int num_entries, uint8_t partition_types[], char *image_paths[])
int isoburn_ropt_set_default_dirperms(struct isoburn_read_opts *o, mode_t mode)
int isoburn_igopt_get_over_mode(struct isoburn_imgen_opts *o, int *replace_dir_mode, int *replace_file_mode, mode_t *dir_mode, mode_t *file_mode)
int isoburn_ropt_set_auto_incharset(struct isoburn_read_opts *o, int mode)
int isoburn_igopt_set_system_area(struct isoburn_imgen_opts *o, char data[32768], int options)
off_t isoburn_disc_available_space(struct burn_drive *d, struct burn_write_opts *o)
int isoburn_read_iso_head(struct burn_drive *d, int lba, int *image_blocks, char *info, int flag)
int isoburn_sync_after_write(struct burn_drive *input_drive, struct burn_drive *output_drive, int flag)
void isoburn_disc_erase(struct burn_drive *drive, int fast)
int isoburn_igopt_set_tail_blocks(struct isoburn_imgen_opts *opts, uint32_t num_blocks)
int isoburn_igopt_get_hfsp_block_size(struct isoburn_imgen_opts *opts, int *hfsp_block_size, int *apm_block_size)
int isoburn_igopt_set_part_type_guid(struct isoburn_imgen_opts *opts, int partition_number, uint8_t guid[16], int valid)
int isoburn_igopt_set_partition_img(struct isoburn_imgen_opts *opts, int partition_number, uint8_t partition_type, char *image_path)
int isoburn_igopt_get_rr_reloc(struct isoburn_imgen_opts *o, char **name, int *flags)
int isoburn_get_min_start_byte(struct burn_drive *d, off_t *start_byte, int flag)
int isoburn_toc_track_get_emul(struct isoburn_toc_track *t, int *start_lba, int *image_blocks, char volid[33], int flag)
int isoburn_igopt_set_scdbackup_tag(struct isoburn_imgen_opts *o, char *name, char *timestamp, char *tag_written)
int isoburn_igopt_set_iso_type_guid(struct isoburn_imgen_opts *opts, uint8_t guid[16], int valid)
int isoburn_igopt_destroy(struct isoburn_imgen_opts **o, int flag)
int isoburn_toc_disc_get_sectors(struct isoburn_toc_disc *disc)
int isoburn_igopt_get_stdio_endsync(struct isoburn_imgen_opts *opts, int *do_sync)
int isoburn_igopt_set_prep_partition(struct isoburn_imgen_opts *opts, char *path, int flag)
int isoburn_igopt_get_part_flags(struct isoburn_imgen_opts *opts, int num_entries, int part_flags[])
int isoburn_ropt_set_default_perms(struct isoburn_read_opts *o, uid_t uid, gid_t gid, mode_t mode)
int isoburn_disc_track_lba_nwa(struct burn_drive *d, struct burn_write_opts *o, int trackno, int *lba, int *nwa)
int isoburn_igopt_get_untranslated_name_len(struct isoburn_imgen_opts *o, int *len)
int isoburn_drive_set_msgs_submit(struct burn_drive *d, int(*msgs_submit)(void *handle, int error_code, char msg_text[], int os_errno, char severity[], int flag), void *submit_handle, int submit_flag, int flag)
int isoburn_get_fifo_status(struct burn_drive *d, int *size, int *free_bytes, char **status_text)
int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level)
int isoburn_conv_name_chars(struct isoburn_imgen_opts *opts, char *name, size_t name_len, char **result, size_t *result_len, int flag)
int isoburn_igopt_get_iso_mbr_part_type(struct isoburn_imgen_opts *opts, int *part_type)
void isoburn_finish(void)
int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o, int *cache_tiles, int *tile_blocks, int *set_flag, int flag)
int isoburn_igopt_get_part_offset(struct isoburn_imgen_opts *opts, uint32_t *block_offset_2k, int *secs_512_per_head, int *heads_per_cyl)
int isoburn_disc_get_msc1(struct burn_drive *d, int *start_lba)
int isoburn_igopt_get_tail_blocks(struct isoburn_imgen_opts *opts, uint32_t *num_blocks)
int isoburn_igopt_set_part_flag(struct isoburn_imgen_opts *opts, int partition_number, int flag)
int isoburn_igopt_set_appended_as_gpt(struct isoburn_imgen_opts *opts, int gpt)
int isoburn_igopt_get_appended_as_gpt(struct isoburn_imgen_opts *opts, int *gpt)
int isoburn_igopt_set_efi_bootp(struct isoburn_imgen_opts *opts, char *path, int flag)
int isoburn_igopt_set_rr_reloc(struct isoburn_imgen_opts *o, char *name, int flags)
int isoburn_igopt_get_efi_bootp(struct isoburn_imgen_opts *opts, char **path, int flag)
int isoburn_igopt_set_part_offset(struct isoburn_imgen_opts *opts, uint32_t block_offset_2k, int secs_512_per_head, int heads_per_cyl)
int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[], char *adr, int load)
int isoburn_get_attached_start_lba(struct burn_drive *d)
int isoburn_libisofs_req(int *major, int *minor, int *micro)
int isoburn_igopt_get_part_type_guid(struct isoburn_imgen_opts *opts, int num_entries, uint8_t guids[][16], int valids[])
int isoburn_igopt_set_out_charset(struct isoburn_imgen_opts *o, char *output_charset)
int isoburn_igopt_set_part_like_isohybrid(struct isoburn_imgen_opts *opts, int alike)
int isoburn_initialize(char msg[1024], int flag)
int isoburn_toc_session_get_sectors(struct isoburn_toc_session *s)
int isoburn_igopt_get_over_ugid(struct isoburn_imgen_opts *o, int *replace_uid, int *replace_gid, uid_t *uid, gid_t *gid)
int isoburn_igopt_set_hfsp_block_size(struct isoburn_imgen_opts *opts, int hfsp_block_size, int apm_block_size)
int isoburn_read_image(struct burn_drive *d, struct isoburn_read_opts *read_opts, IsoImage **image)
void isoburn_version(int *major, int *minor, int *micro)
int isoburn_ropt_get_truncate_mode(struct isoburn_read_opts *o, int *mode, int *length)
void isoburn_toc_disc_free(struct isoburn_toc_disc *disc)
int isoburn_igopt_get_scdbackup_tag(struct isoburn_imgen_opts *o, char name[81], char timestamp[19], char **tag_written)
int isoburn_libjte_req(int *major, int *minor, int *micro)
int isoburn_igopt_set_untranslated_name_len(struct isoburn_imgen_opts *o, int len)
int isoburn_igopt_get_out_charset(struct isoburn_imgen_opts *o, char **output_charset)
int isoburn_igopt_set_hfsp_serial_number(struct isoburn_imgen_opts *opts, uint8_t serial_number[8])
int isoburn_attach_start_lba(struct burn_drive *d, int lba, int flag)
int isoburn_disc_pretend_full_uncond(struct burn_drive *drive)
int isoburn_set_msgs_submit(int(*msgs_submit)(void *handle, int error_code, char msg_text[], int os_errno, char severity[], int flag), void *submit_handle, int submit_flag, int flag)
int isoburn_ropt_get_tree_loaded(struct isoburn_read_opts *o, int *tree, int *rr)
int isoburn_igopt_get_disc_label(struct isoburn_imgen_opts *opts, char **label)
int isoburn_igopt_set_sort_files(struct isoburn_imgen_opts *o, int value)
int isoburn_ropt_get_displacement(struct isoburn_read_opts *o, uint32_t *displacement, int *displacement_sign)
int isoburn_prepare_blind_grow(struct burn_drive *in_drive, struct burn_disc **disc, struct isoburn_imgen_opts *opts, struct burn_drive *out_drive, int nwa)
int isoburn_igopt_get_prep_partition(struct isoburn_imgen_opts *opts, char **path, int flag)
IsoImage * isoburn_get_attached_image(struct burn_drive *d)
struct isoburn_toc_disc * isoburn_toc_drive_get_disc(struct burn_drive *d)
int isoburn_ropt_get_default_perms(struct isoburn_read_opts *o, uid_t *uid, gid_t *gid, mode_t *mode)
int isoburn_igopt_set_write_type(struct isoburn_imgen_opts *opts, int do_tao)
int isoburn_igopt_get_sort_files(struct isoburn_imgen_opts *o, int *value)
int isoburn_cancel_prepared_write(struct burn_drive *input_drive, struct burn_drive *output_drive, int flag)
int isoburn_igopt_get_fifo_size(struct isoburn_imgen_opts *o, int *fifo_size)
int isoburn_prepare_new_image(struct burn_drive *in_drive, struct burn_disc **disc, struct isoburn_imgen_opts *opts, struct burn_drive *out_drive)
int isoburn_igopt_get_gpt_guid(struct isoburn_imgen_opts *opts, uint8_t guid[16], int *mode)
void isoburn_drive_release(struct burn_drive *drive, int eject)
int isoburn_libburn_req(int *major, int *minor, int *micro)
int isoburn_igopt_set_level(struct isoburn_imgen_opts *o, int level)
int isoburn_ropt_get_default_dirperms(struct isoburn_read_opts *o, mode_t *mode)
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext)
int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value, int flag)
int isoburn_igopt_get_pvd_times(struct isoburn_imgen_opts *opts, time_t *creation_time, time_t *modification_time, time_t *expiration_time, time_t *effective_time, char uuid[17])
int isoburn_igopt_set_appended_as_apm(struct isoburn_imgen_opts *opts, int apm)
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
int isoburn_igopt_set_gpt_guid(struct isoburn_imgen_opts *opts, uint8_t guid[16], int mode)
int isoburn_ropt_set_input_charset(struct isoburn_read_opts *o, char *input_charset)
int isoburn_igopt_get_write_type(struct isoburn_imgen_opts *opts, int *do_tao)
void isoburn_disc_write(struct burn_write_opts *o, struct burn_disc *disc)
int isoburn_toc_disc_get_incmpl_sess(struct isoburn_toc_disc *disc)
int isoburn_ropt_set_truncate_mode(struct isoburn_read_opts *o, int mode, int length)
int isoburn_ropt_new(struct isoburn_read_opts **o, int flag)
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext)
int isoburn_igopt_new(struct isoburn_imgen_opts **o, int flag)
int isoburn_activate_session(struct burn_drive *d)
unsigned int replace_dir_mode
unsigned int replace_file_mode
struct burn_track * track