Initial commit
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
68
casadm/cas_lib_utils.h
Normal file
68
casadm/cas_lib_utils.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2019 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
*/
|
||||
|
||||
#ifndef __CAS_LIB_UTILS_H__
|
||||
#define __CAS_LIB_UTILS_H__
|
||||
|
||||
struct progress_status {
|
||||
uint64_t
|
||||
dirty_clines_initial; /*!< amount of dirty clines when command is initiated */
|
||||
|
||||
uint64_t
|
||||
dirty_clines_curr; /*!< amount of dirty clines at current progress level */
|
||||
|
||||
int progress_accumulated; /*!< this is to ensure that progressbar is always
|
||||
*!< from 0 to 100% and progress indicated by it
|
||||
*!< never actually drops. */
|
||||
int time_started; /*!< time when particular long running
|
||||
*!< operation was started */
|
||||
char *friendly_name; /*!< name of management operation that shall
|
||||
*!< be displayed in command prompt */
|
||||
int cache_id; /*!< cache id */
|
||||
int core_id; /*!< core id */
|
||||
};
|
||||
|
||||
|
||||
void init_progress_bar(struct progress_status *ps);
|
||||
void print_progress_bar_or_indicator(float prog, struct progress_status *ps);
|
||||
int run_ioctl(int fd, int command, void *cmd);
|
||||
int run_ioctl_interruptible(int fd, int command, void *cmd,
|
||||
char *friendly_name, int cache_id, int core_id);
|
||||
int open_ctrl_device();
|
||||
int was_ioctl_interrupted();
|
||||
void set_default_sig_handler();
|
||||
void set_safe_lib_constraint_handler();
|
||||
|
||||
|
||||
/**
|
||||
* function creates pair files representing an unnamed pipe.
|
||||
* this is highlevel counterpart to pipe syscall.
|
||||
*
|
||||
* null is returned upon failure;
|
||||
*
|
||||
* FILE *pipes[2] is returned upon success.
|
||||
* 1 is writing end, 0 is reading end of a pipe
|
||||
*/
|
||||
int create_pipe_pair(FILE **);
|
||||
|
||||
/**
|
||||
* Check if string is empty
|
||||
*
|
||||
* @param str - reference to the string
|
||||
* @retval 1 string is empty
|
||||
* @retval 0 string is not empty
|
||||
*/
|
||||
static inline int strempty(const char *str)
|
||||
{
|
||||
if (NULL == str) {
|
||||
return 1;
|
||||
} else if ('\0' == str[0]) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user