static int mount_FUSEfs_0( m_struct * mst ) { int status ; const char * opts ; process_t p = Process( ZULUCRYPTmount ) ; string_t st = set_mount_options( mst ) ; opts = _mount_options( mst->m_flags,st ) ; if( StringsAreEqual( mst->fs,"ntfs" ) ){ if( StringHasComponent( opts,"ignore_case" ) ){ ProcessSetArgumentList( p,"-n","-t","lowntfs-3g","-o",opts,mst->device,mst->m_point,ENDLIST ) ; }else{ ProcessSetArgumentList( p,"-n","-t","ntfs-3g","-o",opts,mst->device,mst->m_point,ENDLIST ) ; } }else{ ProcessSetArgumentList( p,"-t",mst->fs,"-o",opts,mst->device,mst->m_point,ENDLIST ) ; } ProcessStart( p ) ; status = ProcessExitStatus( p ) ; ProcessDelete( &p ) ; StringDelete( &st ) ; return status ; }
int zuluCryptCreateFileSystemInAVolume( const char * fs,const char * device_mapper ) { int status ; char * e = NULL ; process_t p = Process( ZULUCRYPTmkfs ) ; if( StringAtLeastOneMatch_1( fs,"ext2","ext3","ext4",NULL ) ){ ProcessSetArgumentList( p,"-t",fs,"-m","1",device_mapper,ENDLIST ) ; }else if( StringsAreEqual( fs,"reiserfs" ) ){ ProcessSetArgumentList( p,"-t",fs,"-f","-f","-q",device_mapper,ENDLIST ) ; }else if( StringsAreEqual( fs,"jfs" ) ){ ProcessSetArgumentList( p,"-t",fs,"-q",device_mapper,ENDLIST ) ; }else if( StringsAreEqual( fs,"ntfs" ) ){ ProcessSetArgumentList( p,"-t",fs,"-f",device_mapper,ENDLIST ) ; }else if( StringsAreEqual( fs,"xfs" ) ){ ProcessSetArgumentList( p,"-t",fs,"-f",device_mapper,ENDLIST ) ; }else{ ProcessSetArgumentList( p,"-t",fs,device_mapper,ENDLIST ) ; /* * unhandled fs are processed here.They are given 60 seconds to accomplish their task * and are assumed to be running in interactive more and are blocked waiting for user input * when they fail to return in time and hence are killed since we cant get to them from GUI */ ProcessSetOptionTimeout( p,60,SIGKILL ) ; } ProcessStart( p ) ; status = ProcessExitStatus( p ) ; if( status ){ ProcessGetOutPut( p,&e,STDERROR ) ; if( e ){ puts( e ) ; free( e ) ; } } ProcessDelete( &p ) ; return status ; }
void checkIfDeviceIsLuks( const char * device ) { int st ; process_t p = Process( zuluCryptExe ) ; ProcessSetArgumentList( p,"-i","-d",device,ENDLIST ) ; ProcessStart( p ) ; st = ProcessExitStatus( p ) ; ProcessDelete( &p ) ; if( st ){ __print( "check if a luks volume is a luks volume: PASSED\n" ) ; } }
int ProcessWaitUntilFinished( process_t * e ) { int s ; process_t p ; if( e == NULL || *e == ProcessVoid ){ return -1 ; }else{ p = *e ; *e = ProcessVoid ; s = ProcessExitStatus( p ) ; _ProcessDelete( p ) ; return s ; } }
void __ProcessGetResultANDPrint( process_t p ) { char * e = NULL ; int st ; ProcessGetOutPut( p,&e,STDOUT ) ; st = ProcessExitStatus( p ) ; ProcessDelete( &p ) ; if( st ){ puts( "FAILED" ) ; EXIT( 1,e ) ; }else{ if( e ){ __print( e ) ; free( e ) ; } } }
void ProcessWait( process_t p ) { ProcessExitStatus( p ) ; }