2001-12-05 19:41:52 +03:00
/*
2004-03-30 23:08:57 +04:00
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
2012-01-09 16:26:14 +04:00
* Copyright ( C ) 2004 - 2012 Red Hat , Inc . All rights reserved .
2001-12-05 19:41:52 +03:00
*
2004-03-30 23:08:57 +04:00
* This file is part of the device - mapper userspace tools .
*
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
* of the GNU Lesser General Public License v .2 .1 .
*
* You should have received a copy of the GNU Lesser General Public License
* 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
2001-12-05 19:41:52 +03:00
*/
2002-11-14 17:44:42 +03:00
# ifndef LIB_DMCOMMON_H
# define LIB_DMCOMMON_H
2018-05-14 12:30:20 +03:00
# include "libdm/libdevmapper.h"
2003-01-22 00:25:11 +03:00
2012-02-15 16:23:15 +04:00
# define DM_DEFAULT_NAME_MANGLING_MODE_ENV_VAR_NAME "DM_DEFAULT_NAME_MANGLING_MODE"
2012-02-15 15:33:53 +04:00
# define DEV_NAME(dmt) (dmt->mangled_dev_name ? : dmt->dev_name)
2012-10-10 19:02:19 +04:00
# define DEV_UUID(DMT) (dmt->mangled_uuid ? : dmt->uuid)
2012-02-15 15:33:53 +04:00
2012-10-10 18:59:11 +04:00
int mangle_string ( const char * str , const char * str_name , size_t len ,
char * buf , size_t buf_len , dm_string_mangling_t mode ) ;
2012-02-15 15:27:01 +04:00
2012-10-10 18:59:11 +04:00
int unmangle_string ( const char * str , const char * str_name , size_t len ,
char * buf , size_t buf_len , dm_string_mangling_t mode ) ;
2012-02-15 15:39:38 +04:00
2012-10-10 18:59:11 +04:00
int check_multiple_mangled_string_allowed ( const char * str , const char * str_name ,
dm_string_mangling_t mode ) ;
2012-03-05 16:48:12 +04:00
2002-11-14 22:26:28 +03:00
struct target * create_target ( uint64_t start ,
2003-01-22 00:25:11 +03:00
uint64_t len ,
const char * type , const char * params ) ;
2001-12-05 19:41:52 +03:00
2005-01-06 01:00:40 +03:00
int add_dev_node ( const char * dev_name , uint32_t minor , uint32_t major ,
2011-06-28 01:43:58 +04:00
uid_t uid , gid_t gid , mode_t mode , int check_udev , unsigned rely_on_udev ) ;
int rm_dev_node ( const char * dev_name , int check_udev , unsigned rely_on_udev ) ;
2009-10-26 17:29:33 +03:00
int rename_dev_node ( const char * old_name , const char * new_name ,
2011-06-28 01:43:58 +04:00
int check_udev , unsigned rely_on_udev ) ;
2012-01-09 16:26:14 +04:00
int get_dev_node_read_ahead ( const char * dev_name , uint32_t major , uint32_t minor ,
uint32_t * read_ahead ) ;
int set_dev_node_read_ahead ( const char * dev_name , uint32_t major , uint32_t minor ,
uint32_t read_ahead , uint32_t read_ahead_flags ) ;
2003-07-02 01:20:58 +04:00
void update_devs ( void ) ;
2010-12-13 13:43:56 +03:00
void selinux_release ( void ) ;
2001-12-05 19:41:52 +03:00
2011-06-13 07:32:45 +04:00
void inc_suspended ( void ) ;
void dec_suspended ( void ) ;
2015-09-28 22:28:31 +03:00
int parse_thin_pool_status ( const char * params , struct dm_status_thin_pool * s ) ;
2018-03-27 22:07:13 +03:00
int get_uname_version ( unsigned * major , unsigned * minor , unsigned * release ) ;
2002-11-14 17:44:42 +03:00
# endif