#ifndef PHILOS_UTILS_H #define PHILOS_UTILS_H #include "ubl-utils.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #define catch(x) ExitJmp:if(__HadError) #define throw(x) {__HadError=true;goto ExitJmp;} #define file_source_login_min_max "/etc/login.defs" static char** array_size_pow; typedef struct { char** disk; int* i_o_limit_read; int* i_o_limit_write; int* i_o_limit_read_size; int* i_o_limit_write_size; int size; } temp_config; typedef struct { GtkWidget* Window; GtkWidget* btnSaveTempSave; GtkWidget* btnTempCancel; GtkWidget* entryTempCmd; GtkWidget* chbTempRead; GtkWidget* spinTempRead; GtkWidget* cbtTempRead; GtkWidget* chbTempWrite; GtkWidget* spinTempWrite; GtkWidget* cbtTempWrite; GtkWidget* chkSoftRestrictionTemp; GtkWidget* spiSevereRestrictionTemp; GtkWidget* cmSevereRestrictionTemp; GtkWidget* chkSevereRestrictionTemp; GtkWidget* spinSevereRestrictionTemp; GtkWidget* cmbSevereRestrictionTemp; GtkWidget* chkPaddingFLTemp; GtkWidget* spinPaddingFLTemp; GtkWidget* cmbPaddingFLTemp; GtkWidget* chkCPULimitTemp; GtkWidget* spinCPULimitTemp; GtkWidget* lblCPULimitTemp; GtkWidget* cbtTempDevice; GtkWidget* cbxTempQuotaObj; GtkWidget* cbxTempQuotaLevel2; GtkWidget* boxBlockGui; } temp_set_window; void philos_array_string_remove_char(char*** array, char* str_remove, int size); void philos_set_pow_size_memory(char* str_find, int** array_size,int index, char** array_size_pow); void philos_set_size_memory_integer_char(char* str_find, char*** array_data, int index); void philos_free_string_array(char ***array, int size); void philos_free_string_array_n3(char ****array, int size); void philos_free_int_array(int **array, int size); void philos_free_int_array_n2(int ***array, int size); config_str philos_list_group(int* size); unsigned short philos_read_uid_min_max(char* filename, char* search); config_str philos_list_user(int* size); char* philos_str_size_pow_byte(GtkWidget *combo_box_text); char* philos_str_remove(char *str, const char *sub); void philos_split_size_memory(char* str_value, int* size, char* pow_memory); char* philos_format_cfg_str_size_memory(char* str_key, int value, int pow_size_memory); char** philos_str_split(char *parameters, int *size, char *divider); void philos_array_str_copy(char*** source, char*** copy); void philos_array_int_copy(int** source, int** copy); char** philos_pars_terminal_systemd_cgls(char* CMD_GET_SLICE_SERVICE, char* str_find, int* size_array_data); char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int* array_io, int* array_io_pow_size); int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config); void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config); void philos_temp_del_disk(temp_set_window *widgets, temp_config* _config); void philos_temp_config_init(temp_config* _config); void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _config, int flag_check_array); void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config); int* philos_int_append(int* array, int* size, int value); int* remove_element_int_array(int* array, int* size, int item_to_delete); int** remove_element_int_array_n3(int** array, int* size, int item_to_delete); char* philos_get_size_bite(GtkWidget* chk_button, GtkWidget* spin, GtkWidget* combo_box_text); void philos_fill_combo_box_text(GtkWidget *cbt, config_str list_data, int size); void philos_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value); void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd); size_t get_resurs_total(char* cmd); float get_size_pow_memory(size_t size_memory, int size); void philos_set_active_widgets_device_io(GtkWidget* combo_to_l2,GtkWidget *check, GtkWidget *spin, GtkWidget *combo); char *yon_char_get_augumented(char *source, char *append); dictionary *yon_dictionary_create_with_data_connected(dictionary *dict, char *key, void *data); char **yon_char_parsed_shrink(char **char_string, int *size, int item_to_delete); char*** yon_char_parsed_shrink_n3(char ***char_string, int *size, int item_to_delete); dictionary *yon_dictionary_create_empty(); void yon_terminal_integrated_launch(GtkWidget *terminal, char* command, void *endwork_function, void* endwork_function_argument); dictionary *yon_dictionary_create_conneced(dictionary *targetdict); void yon_int_array_append(int **source, int append); static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer user_data); int philos_config_save(char *command); #endif