/* Adapter to libisoburn, libisofs and libburn for xorriso, a command line oriented batch and dialog tool which creates, loads, manipulates and burns ISO 9660 filesystem images. Copyright 2007 Thomas Schmitt, Provided under GPL version 2. */ #include #include #include #include #include #include #include /* ------------------------------------------------------------------------ */ /* The library which does the ISO 9660 / RockRidge manipulations */ #include /* The library which does MMC optical drive operations */ #include /* The library which enhances overwriteable media with ISO 9660 multi-session capabilities via the method invented by Andy Polyakov for growisofs */ #include /* The inner description of XorrisO */ #include "xorriso_private.h" /* The inner isofs- and burn-library interface */ #include "xorrisoburn.h" /* ------------------------------------------------------------------------ */ int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag) { int ret; char *handler_prefix= NULL; /* >>> rather send this to msg system of xorriso */; fprintf(stderr, "starting up libraries ...\n"); handler_prefix= calloc(strlen(xorriso->progname)+3+1, 1); if(handler_prefix==NULL) { /* >>> rather send this to msg system of xorriso */; fprintf(stderr, "--- Cannot allocate memory for initializing libraries\n"); return(-1); } ret= isoburn_initialize(); if(ret==0) { /* >>> rather send this to msg system of xorriso */; fprintf(stderr, "--- Cannot initialize libraries\n"); free(handler_prefix); return(0); } /* >>> need option for controlling this in XorrisO */ iso_msgs_set_severities("NEVER", "DEBUG", "libisofs : "); burn_msgs_set_severities("NEVER", "DEBUG", "libburn : "); sprintf(handler_prefix, "%s : ", xorriso->progname); burn_set_signal_handling("%s : ", NULL, 0); fprintf(stderr,"Library startup done.\n"); free(handler_prefix); return(1); }