2001-08-21 16:56:08 +04:00
/*
2004-03-30 23:35:44 +04:00
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
2007-08-21 00:55:30 +04:00
* Copyright ( C ) 2004 - 2007 Red Hat , Inc . All rights reserved .
2001-08-21 16:56:08 +04:00
*
2004-03-30 23:35:44 +04:00
* This file is part of LVM2 .
*
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
2007-08-21 00:55:30 +04:00
* of the GNU Lesser General Public License v .2 .1 .
2004-03-30 23:35:44 +04:00
*
2007-08-21 00:55:30 +04:00
* You should have received a copy of the GNU Lesser General Public License
2004-03-30 23:35:44 +04:00
* along with this program ; if not , write to the Free Software Foundation ,
* Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
2001-08-21 16:56:08 +04:00
*/
2001-09-25 16:49:28 +04:00
# ifndef _LVM_CONFIG_H
# define _LVM_CONFIG_H
2005-10-17 03:03:59 +04:00
# include "lvm-types.h"
2004-05-04 22:28:15 +04:00
struct device ;
struct cmd_context ;
2003-07-05 02:34:56 +04:00
2009-07-28 01:01:56 +04:00
int override_config_tree_from_string ( struct cmd_context * cmd ,
const char * config_settings ) ;
2011-09-02 05:32:08 +04:00
struct dm_config_tree * remove_overridden_config_tree ( struct cmd_context * cmd ) ;
2001-08-21 16:56:08 +04:00
2010-09-27 23:09:34 +04:00
typedef uint32_t ( * checksum_fn_t ) ( uint32_t initial , const uint8_t * buf , uint32_t size ) ;
2002-11-18 17:01:16 +03:00
2011-12-19 01:56:03 +04:00
struct dm_config_tree * config_file_open ( const char * filename , int keep_open ) ;
int config_file_read_fd ( struct dm_config_tree * cft , struct device * dev ,
off_t offset , size_t size , off_t offset2 , size_t size2 ,
checksum_fn_t checksum_fn , uint32_t checksum ) ;
int config_file_read ( struct dm_config_tree * cft ) ;
2011-12-12 03:18:20 +04:00
int config_write ( struct dm_config_tree * cft , const char * file ,
int argc , char * * argv ) ;
2011-12-19 01:56:03 +04:00
void config_file_destroy ( struct dm_config_tree * cft ) ;
time_t config_file_timestamp ( struct dm_config_tree * cft ) ;
int config_file_changed ( struct dm_config_tree * cft ) ;
int config_file_check ( struct dm_config_tree * cft , const char * * filename , struct stat * info ) ;
2011-12-12 03:18:20 +04:00
2009-10-16 21:41:49 +04:00
2011-08-30 18:55:15 +04:00
int merge_config_tree ( struct cmd_context * cmd , struct dm_config_tree * cft ,
struct dm_config_tree * newdata ) ;
2001-08-21 16:56:08 +04:00
2006-05-16 20:48:31 +04:00
/*
* These versions check an override tree , if present , first .
*/
2011-08-30 18:55:15 +04:00
const struct dm_config_node * find_config_tree_node ( struct cmd_context * cmd ,
const char * path ) ;
2006-05-16 20:48:31 +04:00
const char * find_config_tree_str ( struct cmd_context * cmd ,
const char * path , const char * fail ) ;
2011-10-29 00:06:49 +04:00
const char * find_config_tree_str_allow_empty ( struct cmd_context * cmd ,
const char * path , const char * fail ) ;
2006-05-16 20:48:31 +04:00
int find_config_tree_int ( struct cmd_context * cmd , const char * path ,
int fail ) ;
2011-02-18 17:08:22 +03:00
int64_t find_config_tree_int64 ( struct cmd_context * cmd , const char * path ,
int64_t fail ) ;
2006-05-16 20:48:31 +04:00
float find_config_tree_float ( struct cmd_context * cmd , const char * path ,
float fail ) ;
int find_config_tree_bool ( struct cmd_context * cmd , const char * path , int fail ) ;
2002-01-10 19:47:58 +03:00
2001-08-21 16:56:08 +04:00
# endif