"Fossies" - the Fresh Open Source Software Archive

Member "libisoburn-1.5.4/xorriso/xorrisoburn.h" (30 Jan 2021, 26865 Bytes) of package /linux/misc/libisoburn-1.5.4.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "xorrisoburn.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 1.5.0_vs_1.5.2.

    1 
    2 
    3 /* Adapter to libisoburn, libisofs and libburn for xorriso,
    4    a command line oriented batch and dialog tool which creates, loads,
    5    manipulates and burns ISO 9660 filesystem images.
    6 
    7    Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
    8 
    9    Provided under GPL version 2 or later.
   10 
   11    This file contains the inner isofs- and burn-library interface of xorriso.
   12 */
   13 
   14 #ifndef Xorrisoburn_includeD
   15 #define Xorrisoburn_includeD yes
   16 
   17 
   18 /* The minimum version of libisoburn to be used with this version of xorriso
   19 */
   20 #define xorriso_libisoburn_req_major  1
   21 #define xorriso_libisoburn_req_minor  5
   22 #define xorriso_libisoburn_req_micro  4
   23 
   24 
   25 struct SpotlisT;          /* List of intervals with different read qualities */
   26 struct CheckmediajoB;     /* Parameters for Xorriso_check_media() */
   27 struct Xorriso_msg_sievE; /* Fishes for info particles in reply messages */
   28 
   29 
   30 int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag);
   31 
   32 /* @param flag bit0= global shutdown of libraries */
   33 int Xorriso_detach_libraries(struct XorrisO *xorriso, int flag);
   34 
   35 int Xorriso_create_empty_iso(struct XorrisO *xorriso, int flag);
   36 
   37 /* @param flag bit0=acquire as isoburn input drive
   38                bit1=acquire as libburn output drive (as isoburn drive if bit0)
   39    @return <=0 failure , 1=success , 2=neither readable or writeable
   40 */
   41 int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
   42                          int flag);
   43 
   44 int Xorriso_give_up_drive(struct XorrisO *xorriso, int flag);
   45 
   46 int Xorriso_write_session(struct XorrisO *xorriso, int flag);
   47 
   48 int Xorriso_retry_write_session(struct XorrisO *xorriso, int flag);
   49 
   50 /* @param boss_iter Opaque handle to be forwarded to actions in ISO image
   51                     Set to NULL if calling this function from outside ISO world
   52    @param flag bit0= mkdir: graft in as empty directory, not as copy from disk
   53                bit1= do not report added files
   54    @return <=0 = error , 1 = added simple node , 2 = added directory 
   55 */
   56 int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,       
   57                      char *disk_path, char *img_path,
   58                      off_t offset, off_t cut_size, int flag);
   59 
   60 int Xorriso__text_to_sev(char *severity_name, int *severity_number,int flag);
   61 
   62 int Xorriso__sev_to_text(int severity, char **severity_name, int flag);
   63 
   64 /* @param flag bit0=report about output drive 
   65                bit1=short report form
   66                bit2=do not try to read ISO heads
   67                bit3=report to info channel (else to result channel)
   68 */
   69 int Xorriso_toc(struct XorrisO *xorriso, int flag);
   70 
   71 /* @param flag bit0= no output if no boot record was found
   72                bit3= report to info channel (else to result channel)
   73 */
   74 int Xorriso_show_boot_info(struct XorrisO *xorriso, int flag);
   75 
   76 int Xorriso_show_devices(struct XorrisO *xorriso, int flag);
   77 
   78 int Xorriso_tell_media_space(struct XorrisO *xorriso,
   79                              int *media_space, int *free_space, int flag);
   80 
   81 /* @param flag bit0=fast , bit1=deformat
   82    @return 0=failure, did not touch medium , -1=failure, altered medium
   83            1=success, altered medium       ,  2=success, did not touch medium
   84 */
   85 int Xorriso_blank_media(struct XorrisO *xorriso, int flag);
   86 
   87 /* @param flag bit0= try to achieve faster formatting
   88                bit1= use parameter size (else use default size)
   89                bit2= do not re-aquire drive
   90                bit7= by_index mode:
   91                      bit8 to bit15 contain the index of the format to use.
   92    @return 0=failure, did not touch medium , -1=failure, altered medium
   93            1=success, altered medium       ,  2=success, did not touch medium
   94 */
   95 int Xorriso_format_media(struct XorrisO *xorriso, off_t size, int flag);
   96 
   97 /* @return <=0 error, 1 success
   98 */
   99 int Xorriso_list_formats(struct XorrisO *xorriso, int flag);
  100 
  101 /* @return <=0 error, 1 success
  102 */ 
  103 int Xorriso_list_speeds(struct XorrisO *xorriso, int flag);
  104 
  105 /* @param flag bit1= obtain outdrive, else indrive
  106    @return <=0 error, 1 success
  107 */
  108 int Xorriso_list_profiles(struct XorrisO *xorriso, int flag);
  109 
  110 /* @param flag bit2= formatting rather than blanking
  111    @return 0=failure, did not touch medium , -1=failure, altered medium
  112            1=success, altered medium       ,  2=success, did not touch medium
  113 */ 
  114 int Xorriso_blank_as_needed(struct XorrisO *xorriso, int flag);
  115 
  116 
  117 /* @param boss_iter  Opaque internal handle. Use NULL outside xorrisoburn.c :
  118                If not NULL then this is an iterator suitable for
  119                iso_dir_iter_remove() which is then to be used instead
  120                of iso_node_remove().
  121    @param flag bit0= remove whole sub tree: rm -r
  122                bit1= remove empty directory: rmdir
  123                bit2= recursion: do not reassure in mode 2 "tree"
  124                bit3= this is for overwriting and not for plain removal
  125                bit4= count deleted files in xorriso->pacifier_count
  126                bit5= with bit0 only remove directory content, not the directory
  127                bit6= do not delete eventually existing node from di_array
  128    @return   <=0 = error
  129                1 = removed simple node
  130                2 = removed directory or tree
  131                3 = did not remove on user revocation
  132 */
  133 int Xorriso_rmi(struct XorrisO *xorriso, void *boss_iter, off_t boss_mem,
  134                 char *path, int flag);
  135 
  136 
  137 /* @param flag bit0= long format
  138                bit1= do not print count of nodes
  139                bit2= du format
  140                bit3= print directories as themselves (ls -d)
  141 */
  142 int Xorriso_ls_filev(struct XorrisO *xorriso, char *wd, 
  143                      int filec, char **filev, off_t boss_mem, int flag);
  144 
  145 /* This function needs less buffer memory than Xorriso_ls_filev() but cannot
  146    perform structured pattern matching.
  147    @param flag bit0= long format
  148                bit1= only check for directory existence
  149                bit2= do not apply search pattern but accept any file
  150                bit3= just count nodes and return number
  151 */
  152 int Xorriso_ls(struct XorrisO *xorriso, int flag);
  153 
  154 /*
  155    @return: <=0 = error, 1= directory tree, 2= path leads to non-directory
  156 */
  157 int Xorriso_get_dus(struct XorrisO *xorriso, char *iso_rr_path, off_t *size,
  158                     off_t boss_mem, int flag);
  159 
  160 /* @param wd        Path to prepend in case img_path is not absolute
  161    @param img_path  Absolute or relative path to be normalized
  162    @param eff_path  returns resulting effective path.
  163                     Must provide at least SfileadrL bytes of storage.
  164    @param flag bit0= do not produce problem events (unless faulty path format)
  165                bit1= work purely literally, do not use libisofs
  166                bit2= (with bit1) this is an address in the disk world
  167    @return -1 = faulty path format, 0 = not found ,
  168             1 = found simple node , 2 = found directory
  169 */
  170 int Xorriso_normalize_img_path(struct XorrisO *xorriso, char *wd,
  171                                char *img_path, char eff_path[], int flag);
  172 
  173 /* @param boss_iter Opaque handle to be forwarded to actions in ISO image
  174                     Set to NULL if calling this function from outside ISO world
  175    @param flag      bit0= silently ignore attempt of renaming to same path
  176                           and return 2
  177 */
  178 int Xorriso_rename(struct XorrisO *xorriso, void *boss_iter,
  179                    char *origin, char *dest, int flag);
  180 
  181 /* @param flag bit0= do not produce info message on success
  182    @return 1=success, 0=was already directory, -1=was other type, -2=bad path
  183 */
  184 int Xorriso_mkdir(struct XorrisO *xorriso, char *img_path, int flag);
  185 
  186 /* @param flag bit0= a match count !=1 is a SORRY event */
  187 int Xorriso_expand_pattern(struct XorrisO *xorriso,
  188                            int num_patterns, char **patterns, int extra_filec,
  189                            int *filec, char ***filev, off_t *mem, int flag);
  190 
  191 int Xorriso_set_st_mode(struct XorrisO *xorriso, char *path,
  192                         mode_t mode_and, mode_t mode_or, int flag);
  193 
  194 int Xorriso_set_uid(struct XorrisO *xorriso, char *in_path, uid_t uid,
  195                     int flag);
  196 
  197 int Xorriso_set_gid(struct XorrisO *xorriso, char *in_path, gid_t gid,
  198                     int flag);
  199 
  200 /* @parm flag  bit0= atime, bit1= ctime, bit2= mtime, bit8=no auto ctime */
  201 int Xorriso_set_time(struct XorrisO *xorriso, char *in_path, time_t t,
  202                     int flag);
  203 
  204 /* @param flag bit0= recursion
  205                bit1= do not count deleted files with rm and rm_r
  206 */
  207 int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
  208                   void *boss_iter, off_t boss_mem,
  209                   void *dir_node_generic, char *dir_path,
  210                   struct stat *dir_stbuf, int depth, int flag);
  211 
  212 /* @param flag bit0= do not dive into trees
  213                bit1= do not perform job->action on resulting node array
  214 */
  215 int Xorriso_findi_sorted(struct XorrisO *xorriso, struct FindjoB *job,
  216                          off_t boss_mem, int filec, char **filev, int flag);
  217 
  218 /* @param flag bit0= do not mark image as changed */
  219 int Xorriso_set_volid(struct XorrisO *xorriso, char *volid, int flag);
  220 
  221 int Xorriso_get_volid(struct XorrisO *xorriso, char volid[33], int flag);
  222 
  223 int Xorriso_set_abort_severity(struct XorrisO *xorriso, int flag);
  224 
  225 int Xorriso_report_lib_versions(struct XorrisO *xorriso, int flag);
  226 
  227 /* @return 0= stbuf content is valid ,
  228           -1 = path not found , -2 = severe error occurred
  229 */
  230 int Xorriso_iso_lstat(struct XorrisO *xorriso, char *path, struct stat *stbuf,
  231                       int flag);
  232 
  233 /* @param flag bit0= -inq
  234                bit1= -checkdrive
  235 */
  236 int Xorriso_atip(struct XorrisO *xorriso, int flag);
  237 
  238 /* @param write_start_address  is valid if >=0 
  239    @param tsize is valid if >0
  240    @param flag bit0= grow_overwriteable_iso
  241                bit1= do_isosize
  242 */
  243 int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
  244                        char *track_source, off_t tsize, int flag);
  245 
  246 int Xorriso_retry_burn_track(struct XorrisO *xorriso,  
  247                              off_t write_start_address,
  248                              char *track_source, off_t tsize, int flag);
  249 
  250 /* @param flag bit1= outdev rather than indev
  251    @return <=0 = failure , 1= ok , 2= ok, is CD profile
  252 */ 
  253 int Xorriso_get_profile(struct XorrisO *xorriso, int *profile_number,
  254                         char profile_name[80], int flag);
  255 
  256 /* @param flag bit0= open IsoNode *node_pt rather than looking up pathname
  257                bit1= dig out the most original stream for reading
  258 */
  259 int Xorriso_iso_file_open(struct XorrisO *xorriso, char *pathname,
  260                           void *node_pt, void **stream, int flag);
  261 
  262 int Xorriso_iso_file_read(struct XorrisO *xorriso, void *stream, char *buf,
  263                           int count, int flag);
  264 
  265 int Xorriso_iso_file_close(struct XorrisO *xorriso, void **stream, int flag);
  266 
  267 int Xorriso_iso_file_to_fd(struct XorrisO *xorriso, char *path, int fd,
  268                            int flag);
  269 
  270 /* @param bit0= copy link target properties rather than link properties
  271 */
  272 int Xorriso_copy_properties(struct XorrisO *xorriso,
  273                             char *disk_path, char *img_path, int flag);
  274 
  275 int Xorriso_cut_out(struct XorrisO *xorriso, char *disk_path,
  276                 off_t startbyte, off_t bytecount, char *iso_rr_path, int flag);
  277 
  278 int Xorriso_paste_in(struct XorrisO *xorriso, char *disk_path,
  279                 off_t startbyte, off_t bytecount, char *iso_rr_path, int flag);
  280 
  281 struct SplitparT;
  282 
  283 /* @param flag bit0= in_node is valid, do not resolve iso_adr
  284 */
  285 int Xorriso_identify_split(struct XorrisO *xorriso, char *iso_adr,
  286                            void *in_node,
  287                            struct SplitparT **parts, int *count,
  288                            struct stat *total_stbuf, int flag);
  289 
  290 /* @param flag bit0= node is valid, do not resolve path
  291                bit1= insist in complete collection of part files
  292 */
  293 int Xorriso_is_split(struct XorrisO *xorriso, char *path, void *node,
  294                      int flag);
  295 
  296 
  297 /* @param flag
  298            >>> bit0= mkdir: graft in as empty directory, not as copy from iso
  299                bit1= do not report copied files
  300                bit2= -follow, -not_*: this is not a command parameter
  301                bit3= use offset and cut_size for -paste_in
  302                bit4= return 3 on rejection by exclusion or user
  303                bit5= if directory then do not add sub tree
  304                bit6= this is a copy action: do not fake times and ownership
  305    @return <=0 = error , 1 = added leaf file object , 2 = added directory ,
  306                          3 = rejected
  307 */
  308 int Xorriso_restore(struct XorrisO *xorriso,
  309                     char *img_path, char *disk_path,
  310                     off_t offset, off_t cut_size, int flag);
  311 
  312 
  313 /* @param flag bit0= in_node is valid, do not resolve img_path
  314 */
  315 int Xorriso_restore_is_identical(struct XorrisO *xorriso, void *in_node,
  316                                  char *img_path, char *disk_path,
  317                                  char type_text[5], int flag);
  318 
  319 
  320 /* Return the official libburn address of an address string. This may fail
  321    if the string does not constitute a valid drive address.
  322    @param official_adr must offer SfileadrL bytes of reply buffer
  323    @return 1 = success , 0 = failure , -1 = severe error
  324 */
  325 int Xorriso_libburn_adr(struct XorrisO *xorriso, char *address_string,
  326                         char official_adr[], int flag);
  327 
  328 
  329 /* @param flag bit1= obtain info from outdev
  330 */
  331 int Xorriso_msinfo(struct XorrisO *xorriso, int *msc1, int *msc2, int flag);
  332 
  333 /*
  334    @param flag bit0= obtain iso_lba from indev
  335                bit1= head_buffer already contains a valid head
  336                bit2= issue message about success
  337                bit3= check whether source blocks are banned by in_sector_map
  338 */
  339 int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
  340                             char *head_buffer, struct CheckmediajoB *job,
  341                             int flag);
  342 
  343 int Xorriso_truncate_overwritable(struct XorrisO *xorriso, char *adr_mode,
  344                                   char *adr_value, char *adjust, int flag);
  345 
  346 int Xorriso_get_local_charset(struct XorrisO *xorriso, char **name, int flag);
  347 
  348 int Xorriso_set_local_charset(struct XorrisO *xorriso, char *name, int flag);
  349 
  350 int Xorriso_destroy_node_array(struct XorrisO *xorriso, int flag);
  351 
  352 int Xorriso_destroy_hln_array(struct XorrisO *xorriso, int flag);
  353 
  354 int Xorriso_destroy_di_array(struct XorrisO *xorriso, int flag);
  355 
  356 int Xorriso_new_node_array(struct XorrisO *xorriso, off_t mem_limit,
  357                            int addon_nodes, int flag);
  358 
  359 int Xorriso_sort_node_array(struct XorrisO *xorriso, int flag);
  360 
  361 int Xorriso_new_hln_array(struct XorrisO *xorriso, off_t mem_limit, int flag);
  362 
  363 /* @param flag bit0= allocate xorriso->node_targets too
  364 */
  365 int Xorriso_restore_node_array(struct XorrisO *xorriso, int flag);
  366 
  367 int Xorriso_check_md5(struct XorrisO *xorriso, void *in_node, char *path,
  368                       int flag);
  369 
  370 int Xorriso_check_session_md5(struct XorrisO *xorriso, char *severity,
  371                               int flag);
  372 
  373 int Xorriso_image_has_md5(struct XorrisO *xorriso, int flag);
  374 
  375 
  376 int Xorriso_check_media(struct XorrisO *xorriso, struct SpotlisT **spotlist,
  377                         struct CheckmediajoB *job, int flag);
  378 
  379 int Xorriso_extract_cut(struct XorrisO *xorriso,
  380                         char *img_path, char *disk_path,
  381                         off_t img_offset, off_t bytes, int flag);
  382 
  383 int Xorriso_extract_boot_images(struct XorrisO *xorriso, char *disk_dir_path,
  384                                 int flag);
  385 
  386 int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
  387                                     int flag);
  388 
  389 /* @return 1=ok  2=ok, is default setting */
  390 int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
  391                            int flag);
  392 
  393 
  394 /**
  395     @param flag bit0= print mount command to result channel rather than
  396                       performing it 
  397 */
  398 int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
  399                   char *adr_value, char *cmd, int flag);
  400 
  401 
  402 
  403 int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result,
  404                           int flag);
  405 
  406 
  407 /* @param node      Opaque handle to IsoNode which is to be inquired instead of
  408                     path if it is not NULL.
  409    @param path      is used as address if node is NULL.
  410    @param acl_text  if acl_text is not NULL, then *acl_text will be set to the
  411                     ACL text (without comments) of the file object. In this
  412                     case it finally has to be freed by the caller.
  413    @param flag      bit0= do not report to result but only retrieve ACL text
  414                     bit1= just check for existence of ACL, do not allocate and
  415                           set acl_text but return 1 or 2
  416    @return          2 ok, no ACL available, eventual *acl_text will be NULL
  417                     1 ok, ACL available, eventual *acl_text stems from malloc()
  418                   <=0 error
  419 */
  420 int Xorriso_getfacl(struct XorrisO *xorriso, void *node,
  421                     char *path, char **acl_text, int flag);
  422 
  423 int Xorriso_getfattr(struct XorrisO *xorriso, void *in_node, char *path,
  424                      char **attr_text, int flag);
  425 
  426 int Xorriso_list_extattr(struct XorrisO *xorriso, void *in_node, char *path,
  427                          char *show_path, char *mode, int flag);
  428 
  429 int Xorriso_append_extattr_comp(struct XorrisO *xorriso,
  430                                 char *comp, size_t comp_len, 
  431                                 char *mode, int flag);
  432 
  433 
  434 /* Calls iso_image_set_ignore_aclea() according to  xorriso->do_aaip */
  435 int Xorriso_set_ignore_aclea(struct XorrisO *xorriso, int flag);
  436 
  437 
  438 /* @param node      Opaque handle to IsoNode which is to be manipulated
  439                     instead of path if it is not NULL.
  440    @param path      is used as address if node is NULL.
  441    @param access_text  "access" ACL in long text form
  442    @param default_text "default" ACL in long text form
  443    @param flag          Unused yet, submit 0
  444    @return          >0 success , <=0 failure
  445 */
  446 int Xorriso_setfacl(struct XorrisO *xorriso, void *in_node, char *path,
  447                     char *access_text, char *default_text, int flag);
  448 
  449 int Xorriso_get_attrs(struct XorrisO *xorriso, void *in_node, char *path,
  450                       size_t *num_attrs, char ***names,
  451                       size_t **value_lengths, char ***values, int flag);
  452 
  453 int Xorriso_setfattr(struct XorrisO *xorriso, void *in_node, char *path,
  454                      size_t num_attrs, char **names,
  455                      size_t *value_lengths, char **values, int flag);
  456 
  457 int Xorriso_perform_attr_from_list(struct XorrisO *xorriso, char *path,
  458                       struct Xorriso_lsT *lst_start, int flag);
  459 
  460 int Xorriso_path_setfattr(struct XorrisO *xorriso, void *in_node, char *path,
  461                        char *name, size_t value_length, char *value, int flag);
  462 
  463 int Xorriso_perform_acl_from_list(struct XorrisO *xorriso, char *file_path,
  464                                   char *uid, char *gid, char *acl, int flag);
  465 
  466 int Xorriso_record_dev_inode(struct XorrisO *xorriso, char *disk_path,
  467                              dev_t dev, ino_t ino,
  468                              void *in_node, char *iso_path, int flag);
  469 
  470 int Xorriso_local_getfacl(struct XorrisO *xorriso, char *disk_path,
  471                           char **text, int flag);
  472 
  473 int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node,
  474                        char *path, char *filter_name, int flag);
  475 
  476 /* @param flag bit0= delete filter with the given name
  477 */
  478 int Xorriso_external_filter(struct XorrisO *xorriso,
  479                             char *name, char *options, char *path,
  480                             int argc, char **argv, int flag);
  481 
  482 int Xorriso_status_extf(struct XorrisO *xorriso, char *filter, FILE *fp,
  483                         int flag);
  484 
  485 int Xorriso_destroy_all_extf(struct XorrisO *xorriso, int flag);
  486 
  487 int Xorriso_show_stream(struct XorrisO *xorriso, void *in_node,
  488                         char *path, int flag);
  489 
  490 int Xorriso_set_zisofs_params(struct XorrisO *xorriso, int flag);
  491 
  492 int Xorriso_status_zisofs(struct XorrisO *xorriso, char *filter, FILE *fp,
  493                           int flag);
  494 
  495 /* @param flag bit0= overwrite existing di_array (else return 2)
  496 */
  497 int Xorriso_make_di_array(struct XorrisO *xorriso, int flag);
  498 
  499 /* @param flag bit0= overwrite existing hln_array (else return 2)
  500 */
  501 int Xorriso_make_hln_array(struct XorrisO *xorriso, int flag);
  502 
  503 /*
  504    @param flag      bit2= -follow: this is not a command parameter
  505    @return -1= severe error
  506             0= not applicable for hard links
  507             1= go on with processing
  508             2= iso_rr_path is fully updated
  509 */
  510 int Xorriso_hardlink_update(struct XorrisO *xorriso, int *compare_result,
  511                             char *disk_path, char *iso_rr_path, int flag);
  512 
  513 int Xorriso_finish_hl_update(struct XorrisO *xorriso, int flag);
  514 
  515 int Xorriso_get_md5(struct XorrisO *xorriso, void *in_node, char *path,
  516                     char md5[16], int flag);
  517 
  518 int Xorriso_make_md5(struct XorrisO *xorriso, void *in_node, char *path,
  519                      int flag);
  520 
  521 int Xorriso_md5_start(struct XorrisO *xorriso, void **ctx, int flag);
  522 
  523 int Xorriso_md5_compute(struct XorrisO *xorriso, void *ctx,
  524                         char *data, int datalen, int flag);
  525 
  526 int Xorriso_md5_end(struct XorrisO *xorriso, void **ctx, char md5[16],
  527                     int flag);
  528 
  529 /* @param flag bit0=input drive
  530                bit1=output drive
  531 */
  532 int Xorriso_drive_snooze(struct XorrisO *xorriso, int flag);
  533 
  534 int Xorriso_is_plain_image_file(struct XorrisO *xorriso, void *in_node,
  535                                 char *path, int flag);
  536 
  537 int Xorriso_pvd_info(struct XorrisO *xorriso, int flag);
  538 
  539 /* @param flag bit0= do not set hln_change_pending */
  540 int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag);
  541 
  542 /* @param flag bit0= enable SCSI command logging to stderr */
  543 int Xorriso_scsi_log(struct XorrisO *xorriso, int flag);
  544 
  545 /* flag bit0= do not increment boot_count and do not reset boot parameters
  546         bit1= dispose attached boot images
  547 */
  548 int Xorriso_attach_boot_image(struct XorrisO *xorriso, int flag);
  549 
  550 /*
  551  bit0= do only report non-default settings
  552  bit1= do only report to fp
  553 */
  554 int Xorriso_boot_image_status(struct XorrisO *xorriso, char *filter, FILE *fp,
  555                               int flag);
  556 
  557 int Xorriso_add_mips_boot_file(struct XorrisO *xorriso, char *path, int flag);
  558 
  559 int Xorriso_set_hppa_boot_parm(struct XorrisO *xorriso, char *text, char *what,
  560                                int flag);
  561 
  562 int Xorriso_set_alpha_boot(struct XorrisO *xorriso, char *path, int flag);
  563 
  564 int Xorriso_coordinate_system_area(struct XorrisO *xorriso, int sa_type,
  565                                    int options, char *cmd, int flag);
  566 
  567 
  568 
  569 
  570 /* A pseudo file type for El-Torito bootsectors as in man 2 stat :
  571    For now take the highest possible value.
  572 */
  573 #define Xorriso_IFBOOT S_IFMT
  574 
  575 
  576 
  577 int Exprtest_match(struct XorrisO *xorriso, struct ExprtesT *ftest,
  578                    void *node_pt, char *name, char *path,
  579                    struct stat *boss_stbuf, struct stat *stbuf, int flag);
  580 
  581 
  582 int Xorriso_toc_to_string(struct XorrisO *xorriso, char **toc_text, int flag);
  583 
  584 
  585 int Xorriso_reaquire_outdev(struct XorrisO *xorriso, int flag);
  586 
  587 int Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path,
  588                                  int flag);
  589 
  590 int Xorriso_set_hidden(struct XorrisO *xorriso, void *in_node, char *path,
  591                        int hide_state, int flag);
  592 
  593 
  594 /* @param flag  bit0= avoid library calls
  595  */
  596 int Xorriso_preparer_string(struct XorrisO *xorriso, char xorriso_id[129],
  597                             int flag);
  598 
  599 int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg,
  600                               int flag);
  601 
  602 
  603 int Xorriso_estimate_file_size(struct XorrisO *xorriso, struct FindjoB *job,
  604                       char *basename, mode_t st_mode, off_t st_size, int flag);
  605 
  606 
  607 int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter,
  608                        char *origin, char *dest, int flag);
  609 
  610 int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
  611                         int flag);
  612 
  613 int Xorriso_mark_update_merge(struct XorrisO *xorriso, char *path,
  614                               void *node, int flag);
  615 
  616 /* @param flag bit0= asynchronous handling (else catch thread, wait, and exit)
  617 */
  618 int Xorriso_set_signal_handling(struct XorrisO *xorriso, int flag);
  619 
  620 /* @param flag bit0=force burn_disc_close_damaged()
  621 */
  622 int Xorriso_close_damaged(struct XorrisO *xorriso, int flag);
  623 
  624 int Xorriso_list_extras(struct XorrisO *xorriso, char *mode, int flag);
  625 
  626 int Xorriso_set_data_cache(struct XorrisO *xorriso, void *ropts,
  627                            int num_tiles, int tile_blocks, int flag);
  628 
  629 int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
  630                                       void *in_node, 
  631                                       char *creator, char *hfs_type, int flag); 
  632 
  633 int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path,
  634                           void *in_node, char *blessing, int flag);
  635 
  636 int Xorriso_pretend_full_disc(struct XorrisO *xorriso, int flag);
  637 
  638 int Xorriso_scsi_dev_family(struct XorrisO *xorriso, int flag);
  639 
  640 int Xorriso_use_immed_bit(struct XorrisO *xorriso, int flag);
  641 
  642 
  643 int Xorriso_apply_sort_file(struct XorrisO *xorriso, char *path, int flag);
  644 
  645 int Xorriso_report_system_area(struct XorrisO *xorriso, char *form, int flag);
  646 
  647 int Xorriso_list_boot_images(struct XorrisO *xorriso,
  648                              char ***imgs, int *img_count, int flag);
  649 
  650 int Xorriso_external_filter_banned(struct XorrisO *xorriso, char *purpose,
  651                                    int flag);
  652 
  653 int Xorriso_set_file_name_limit(struct XorrisO *xorriso, int value, int flag);
  654 
  655 int Xorriso_truncate_path_comps(struct XorrisO *xorriso, char *path,
  656                                 char *buffer, char **resultpt, int flag);
  657 
  658 int Xorriso_graftable_pathspec(struct XorrisO *xorriso, char *in_pathspec,
  659                                char *pathspec, int flag);
  660 
  661 int Xorriso_parse_guid(struct XorrisO *xorriso, char *text,
  662                        uint8_t guid[16], int flag);
  663 
  664 int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag);
  665 
  666 int Xorriso_parse_type_guid(struct XorrisO *xorriso, char *text,
  667                             uint8_t guid[16], int *mbr_type, int flag);
  668 
  669 int Xorriso_format_guid(struct XorrisO *xorriso, uint8_t guid[16], char *line,
  670                         int flag);
  671 
  672 int Xorriso_make_guid(struct XorrisO *xorriso, char *line, int flag);
  673 
  674 int Xorriso_set_libisofs_now(struct XorrisO *xorriso, int flag);
  675 
  676 int Xorriso_obtain_indev_readsize(struct XorrisO *xorriso, uint32_t *blocks,
  677                                   int flag);
  678 
  679 #endif /* Xorrisoburn_includeD */
  680