2004-05-05 01:25:57 +04:00
/*
* Copyright ( C ) 2003 - 2004 Sistina Software , Inc . All rights reserved .
2007-08-21 00:55:30 +04:00
* Copyright ( C ) 2004 - 2005 Red Hat , Inc . All rights reserved .
2004-05-05 01:25:57 +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-05-05 01:25:57 +04:00
*
2007-08-21 00:55:30 +04:00
* You should have received a copy of the GNU Lesser General Public License
2004-05-05 01:25:57 +04:00
* along with this program ; if not , write to the Free Software Foundation ,
2016-01-21 13:49:46 +03:00
* Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA
2004-05-05 01:25:57 +04:00
*/
# ifndef _LVM_TEXT_EXPORT_H
# define _LVM_TEXT_EXPORT_H
2010-01-07 17:40:46 +03:00
# define outsize(args...) do {if (!out_size(args)) return_0;} while (0)
# define outhint(args...) do {if (!out_hint(args)) return_0;} while (0)
2010-01-07 17:45:28 +03:00
# define outfc(args...) do {if (!out_text_with_comment(args)) return_0;} while (0)
2008-03-10 21:51:27 +03:00
# define outf(args...) do {if (!out_text(args)) return_0;} while (0)
2016-03-07 12:32:41 +03:00
# define outfgo(args...) do {if (!out_text(args)) goto_out;} while (0)
2009-11-03 14:00:46 +03:00
# define outnl(f) do {if (!out_newline(f)) return_0;} while (0)
2016-05-31 10:36:40 +03:00
# define outnlgo(f) do {if (!out_newline(f)) goto_out;} while (0)
2004-05-05 01:25:57 +04:00
struct formatter ;
struct lv_segment ;
2011-08-30 18:55:15 +04:00
struct dm_config_node ;
2004-05-05 01:25:57 +04:00
int out_size ( struct formatter * f , uint64_t size , const char * fmt , . . . )
__attribute__ ( ( format ( printf , 3 , 4 ) ) ) ;
int out_hint ( struct formatter * f , const char * fmt , . . . )
__attribute__ ( ( format ( printf , 2 , 3 ) ) ) ;
int out_text ( struct formatter * f , const char * fmt , . . . )
__attribute__ ( ( format ( printf , 2 , 3 ) ) ) ;
2011-08-30 18:55:15 +04:00
int out_config_node ( struct formatter * f , const struct dm_config_node * cn ) ;
2009-10-16 21:41:49 +04:00
2004-05-05 01:25:57 +04:00
int out_areas ( struct formatter * f , const struct lv_segment * seg ,
const char * type ) ;
2010-01-07 17:45:28 +03:00
int out_text_with_comment ( struct formatter * f , const char * comment , const char * fmt , . . . )
__attribute__ ( ( format ( printf , 3 , 4 ) ) ) ;
2009-11-03 14:00:46 +03:00
void out_inc_indent ( struct formatter * f ) ;
void out_dec_indent ( struct formatter * f ) ;
int out_newline ( struct formatter * f ) ;
2004-05-05 01:25:57 +04:00
# endif