2012-01-10 21:31:21 +04:00
/*
* virt - host - validate - common . h : Sanity check helper APIs
*
* Copyright ( C ) 2012 Red Hat , Inc .
*
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation ; either
* version 2.1 of the License , or ( at your option ) any later version .
*
* This 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
* Lesser General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
2012-09-21 02:30:55 +04:00
* License along with this library . If not , see
2012-07-21 14:06:23 +04:00
* < http : //www.gnu.org/licenses/>.
2012-01-10 21:31:21 +04:00
*
*/
# ifndef __VIRT_HOST_VALIDATE_COMMON_H__
# define __VIRT_HOST_VALIDATE_COMMON_H__
# include "internal.h"
2016-03-29 17:38:28 +03:00
# include "virutil.h"
# include "virbitmap.h"
2012-01-10 21:31:21 +04:00
typedef enum {
VIR_HOST_VALIDATE_FAIL ,
VIR_HOST_VALIDATE_WARN ,
VIR_HOST_VALIDATE_NOTE ,
VIR_HOST_VALIDATE_LAST ,
} virHostValidateLevel ;
2016-03-29 17:38:28 +03:00
typedef enum {
VIR_HOST_VALIDATE_CPU_FLAG_VMX = 0 ,
VIR_HOST_VALIDATE_CPU_FLAG_SVM ,
2016-05-03 09:10:54 +03:00
VIR_HOST_VALIDATE_CPU_FLAG_SIE ,
2016-03-29 17:38:28 +03:00
VIR_HOST_VALIDATE_CPU_FLAG_LAST ,
} virHostValidateCPUFlag ;
VIR_ENUM_DECL ( virHostValidateCPUFlag ) ;
2016-05-10 14:37:32 +03:00
void virHostMsgSetQuiet ( bool quietFlag ) ;
2012-01-10 21:31:21 +04:00
2016-05-10 14:37:32 +03:00
void virHostMsgCheck ( const char * prefix ,
const char * format ,
. . . ) ATTRIBUTE_FMT_PRINTF ( 2 , 3 ) ;
2012-01-10 21:31:21 +04:00
2016-05-10 14:37:32 +03:00
void virHostMsgPass ( void ) ;
void virHostMsgFail ( virHostValidateLevel level ,
const char * format ,
. . . ) ATTRIBUTE_FMT_PRINTF ( 2 , 3 ) ;
2012-01-10 21:31:21 +04:00
2016-05-10 14:37:32 +03:00
int virHostValidateDeviceExists ( const char * hvname ,
const char * dev_name ,
virHostValidateLevel level ,
const char * hint ) ;
2015-10-07 19:02:31 +03:00
2016-05-10 14:37:32 +03:00
int virHostValidateDeviceAccessible ( const char * hvname ,
const char * dev_name ,
virHostValidateLevel level ,
const char * hint ) ;
2012-01-10 21:31:21 +04:00
2016-05-10 14:37:32 +03:00
virBitmapPtr virHostValidateGetCPUFlags ( void ) ;
2012-01-10 21:31:21 +04:00
2016-05-10 14:37:32 +03:00
int virHostValidateLinuxKernel ( const char * hvname ,
int version ,
virHostValidateLevel level ,
const char * hint ) ;
2012-01-10 21:31:21 +04:00
2016-05-10 14:37:32 +03:00
int virHostValidateNamespace ( const char * hvname ,
const char * ns_name ,
virHostValidateLevel level ,
const char * hint ) ;
2015-10-07 18:58:39 +03:00
2016-05-10 14:37:32 +03:00
int virHostValidateCGroupController ( const char * hvname ,
const char * cg_name ,
virHostValidateLevel level ,
const char * config_name ) ;
2015-10-07 19:36:37 +03:00
2016-05-10 14:37:32 +03:00
int virHostValidateIOMMU ( const char * hvname ,
virHostValidateLevel level ) ;
2015-10-07 19:46:18 +03:00
2012-01-10 21:31:21 +04:00
# endif /* __VIRT_HOST_VALIDATE_COMMON_H__ */