2001-09-25 16:49:28 +04:00
/*
* Copyright ( C ) 2001 Sistina Software
*
* This LVM library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation ; either
* version 2 of the License , or ( at your option ) any later version .
*
* This LVM library is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* Library General Public License for more details .
*
* You should have received a copy of the GNU Library General Public
* License along with this LVM library ; if not , write to the Free
* Software Foundation , Inc . , 59 Temple Place - Suite 330 , Boston ,
* MA 02111 - 1307 , USA
*
*/
2001-10-01 19:14:39 +04:00
# ifndef _LVM_TOOLLIB_H
# define _LVM_TOOLLIB_H
2001-09-25 16:49:28 +04:00
2002-02-11 23:50:53 +03:00
# include "metadata.h"
# include "pool.h"
2001-10-06 01:39:30 +04:00
int autobackup_set ( void ) ;
2001-12-31 22:09:51 +03:00
int autobackup_init ( const char * backup_dir , int keep_days , int keep_number ,
int autobackup ) ;
2001-12-20 14:52:54 +03:00
int autobackup ( struct volume_group * vg ) ;
2001-09-25 16:49:28 +04:00
2002-02-12 00:00:35 +03:00
int process_each_vg ( struct cmd_context * cmd , int argc , char * * argv ,
int lock_type ,
int ( * process_single ) ( struct cmd_context * cmd ,
const char * vg_name ) ) ;
2001-10-08 22:44:22 +04:00
2002-02-12 00:00:35 +03:00
int process_each_pv ( struct cmd_context * cmd , int argc , char * * argv ,
struct volume_group * vg ,
int ( * process_single ) ( struct cmd_context * cmd ,
struct volume_group * vg ,
2001-11-19 18:20:50 +03:00
struct physical_volume * pv ) ) ;
2002-02-11 23:50:53 +03:00
int process_each_lv ( struct cmd_context * cmd , int argc , char * * argv ,
2002-02-12 00:00:35 +03:00
int ( * process_single ) ( struct cmd_context * cmd ,
struct logical_volume * lv ) ) ;
2001-11-19 18:20:50 +03:00
2002-02-11 23:50:53 +03:00
int process_each_pv_in_vg ( struct cmd_context * cmd , struct volume_group * vg ,
2002-02-12 00:00:35 +03:00
int ( * process_single ) ( struct cmd_context * cmd ,
struct volume_group * vg ,
struct physical_volume * pv ) ) ;
2002-02-11 23:50:53 +03:00
int process_each_lv_in_vg ( struct cmd_context * cmd , struct volume_group * vg ,
2002-02-12 00:00:35 +03:00
int ( * process_single ) ( struct cmd_context * cmd ,
struct logical_volume * lv ) ) ;
2001-11-14 21:38:07 +03:00
2001-10-08 22:44:22 +04:00
int is_valid_chars ( char * n ) ;
2001-11-12 18:10:01 +03:00
char * default_vgname ( struct format_instance * fi ) ;
char * extract_vgname ( struct format_instance * fi , char * lv_name ) ;
2001-10-29 16:52:23 +03:00
2002-01-21 19:05:23 +03:00
/*
* Builds a list of pv ' s from the names in argv . Used in
* lvcreate / extend .
*/
struct list * create_pv_list ( struct pool * mem ,
2002-02-12 00:00:35 +03:00
struct volume_group * vg , int argc , char * * argv ) ;
2002-01-21 19:05:23 +03:00
2001-09-25 16:49:28 +04:00
# endif