abrt 2.17.1
A tool to inform users about various problems on the running system
Data Structures | Macros | Enumerations | Functions | Variables
libabrt.h File Reference
#include <regex.h>
#include <gio/gio.h>
#include "abrt-dbus.h"
#include <libreport/internal_libreport.h>
#include "hooklib.h"

Go to the source code of this file.

Data Structures

struct  abrt_koops_line_info
 

Macros

#define ARRAY_SIZE(x)   ((unsigned)(sizeof(x) / sizeof((x)[0])))
 

Enumerations

enum  { DD_PERM_EVENTS = 1 << 0 , DD_PERM_DAEMONS = 1 << 1 }
 

Functions

int abrt_low_free_space (unsigned setting_MaxCrashReportsSize, const char *dump_location)
 Checks if there is enough free space to store the problem data. More...
 
void abrt_trim_problem_dirs (const char *dirname, double cap_size, const char *exclude_path)
 
void abrt_ensure_writable_dir_uid_gid (const char *dir, mode_t mode, uid_t uid, gid_t gid)
 
void abrt_ensure_writable_dir (const char *dir, mode_t mode, const char *user)
 
void abrt_ensure_writable_dir_group (const char *dir, mode_t mode, const char *user, const char *group)
 
char * abrt_run_unstrip_n (const char *dump_dir_name, unsigned timeout_sec)
 
char * abrt_get_backtrace (struct dump_dir *dd, unsigned timeout_sec, const char *debuginfo_dirs)
 
bool abrt_dir_is_in_dump_location (const char *dir_name)
 
bool abrt_dir_has_correct_permissions (const char *dir_name, int flags)
 
bool abrt_new_user_problem_entry_allowed (uid_t uid, const char *name, const char *value)
 
int abrt_load_abrt_conf (void)
 
void abrt_free_abrt_conf_data (void)
 
int abrt_load_abrt_conf_file (const char *file, GHashTable *settings)
 
int abrt_load_abrt_plugin_conf_file (const char *file, GHashTable *settings)
 
int abrt_save_abrt_conf_file (const char *file, GHashTable *settings)
 
int abrt_save_abrt_plugin_conf_file (const char *file, GHashTable *settings)
 
void migrate_to_xdg_dirs (void)
 
int check_recent_crash_file (const char *filename, const char *executable)
 
int abrt_daemon_is_ok (void)
 
void abrt_notify_new_path (const char *path)
 Sends notification to abrtd that a new problem has been detected. More...
 
int abrt_notify_new_path_with_response (const char *path, char **message)
 Sends notification to abrtd that a new problem has been detected and wait for the reply. More...
 
char * abrt_koops_extract_version (const char *line)
 
char * abrt_kernel_tainted_short (const char *kernel_bt)
 
char * abrt_kernel_tainted_long (const char *tainted_short)
 
char * abrt_koops_hash_str_ext (const char *oops_buf, int frame_count, int duphas_flags)
 
char * abrt_koops_hash_str (const char *oops_buf)
 
int abrt_koops_line_skip_level (const char **c)
 
void abrt_koops_line_skip_jiffies (const char **c)
 
void abrt_koops_extract_oopses_from_lines (GList **oops_list, const struct abrt_koops_line_info *lines_info, int lines_info_size)
 
void abrt_koops_extract_oopses (GList **oops_list, char *buffer, size_t buflen)
 
GList * abrt_koops_suspicious_strings_list (void)
 
GList * abrt_koops_suspicious_strings_blacklist (void)
 
void abrt_koops_print_suspicious_strings (void)
 
void abrt_koops_print_suspicious_strings_filtered (const regex_t **filterout)
 
int chown_dir_over_dbus (const char *problem_dir_path)
 Changes the access rights of the problem specified by problem id. More...
 
int test_exist_over_dbus (const char *problem_id, const char *element_name)
 Checks whether the given element name exists. More...
 
int dbus_problem_is_complete (const char *problem_id)
 Checks whether the problem corresponding to the given ID is complete. More...
 
char * load_text_over_dbus (const char *problem_id, const char *element_name)
 
int delete_problem_dirs_over_dbus (const GList *problem_dir_paths)
 Delets multiple problems specified by their id (as returned from problem_data_save) More...
 
int fill_problem_data_over_dbus (const char *problem_dir_path, const char **elements, problem_data_t *problem_data)
 Fetches given problem elements for specified problem id. More...
 
problem_data_t * get_problem_data_dbus (const char *problem_dir_path)
 Fetches problem information for specified problem id. More...
 
problem_data_t * get_full_problem_data_over_dbus (const char *problem_dir_path)
 Fetches full problem data for specified problem id. More...
 
GList * get_problems_over_dbus (bool authorize)
 Fetches all problems from problem database. More...
 

Variables

char ** environ
 
unsigned int abrt_g_settings_nMaxCrashReportsSize
 
char * abrt_g_settings_sWatchCrashdumpArchiveDir
 
char * abrt_g_settings_dump_location
 
bool abrt_g_settings_delete_uploaded
 
bool abrt_g_settings_autoreporting
 
char * abrt_g_settings_autoreporting_event
 
bool abrt_g_settings_shortenedreporting
 
bool abrt_g_settings_explorechroots
 
unsigned int abrt_g_settings_debug_level
 

Macro Definition Documentation

◆ ARRAY_SIZE

#define ARRAY_SIZE (   x)    ((unsigned)(sizeof(x) / sizeof((x)[0])))

Definition at line 21 of file libabrt.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 51 of file libabrt.h.

Function Documentation

◆ abrt_koops_print_suspicious_strings_filtered()

void abrt_koops_print_suspicious_strings_filtered ( const regex_t **  filterout)

Prints all suspicious strings that do not match any of the regular expression in NULL terminated list.

The regular expression should be compiled with REG_NOSUB flag.

◆ abrt_low_free_space()

int abrt_low_free_space ( unsigned  setting_MaxCrashReportsSize,
const char *  dump_location 
)

Checks if there is enough free space to store the problem data.

Parameters
setting_MaxCrashReportsSizeMaximum data size
dump_locationLocation to check for the available space

◆ abrt_notify_new_path()

void abrt_notify_new_path ( const char *  path)

Sends notification to abrtd that a new problem has been detected.

Parameters
[in]pathPath to the problem directory containing the problem data

◆ abrt_notify_new_path_with_response()

int abrt_notify_new_path_with_response ( const char *  path,
char **  message 
)

Sends notification to abrtd that a new problem has been detected and wait for the reply.

Parameters
pathPath to the problem directory containing the problem data
messageThe abrtd reply
Returns
-errno on error otherwise return value of abrtd

◆ chown_dir_over_dbus()

int chown_dir_over_dbus ( const char *  problem_dir_path)

Changes the access rights of the problem specified by problem id.

Requires authorization

Returns
0 if successful; non-zero on failure

◆ dbus_problem_is_complete()

int dbus_problem_is_complete ( const char *  problem_id)

Checks whether the problem corresponding to the given ID is complete.

Might require authorization

Returns
Positive number if the problem is complete, 0 if doesn't and negative number if an error occurs.

◆ delete_problem_dirs_over_dbus()

int delete_problem_dirs_over_dbus ( const GList *  problem_dir_paths)

Delets multiple problems specified by their id (as returned from problem_data_save)

Parameters
problem_dir_pathsList of problem ids
Returns
0 if operation was successful, non-zero on failure

◆ fill_problem_data_over_dbus()

int fill_problem_data_over_dbus ( const char *  problem_dir_path,
const char **  elements,
problem_data_t *  problem_data 
)

Fetches given problem elements for specified problem id.

Returns
returns non-zero value on failures and prints error message

◆ get_full_problem_data_over_dbus()

problem_data_t * get_full_problem_data_over_dbus ( const char *  problem_dir_path)

Fetches full problem data for specified problem id.

Returns
a valid pointer to problem_data_t or ERR_PTR on failure

◆ get_problem_data_dbus()

problem_data_t * get_problem_data_dbus ( const char *  problem_dir_path)

Fetches problem information for specified problem id.

Returns
a valid pointer to problem_data_t or ERR_PTR on failure

◆ get_problems_over_dbus()

GList * get_problems_over_dbus ( bool  authorize)

Fetches all problems from problem database.

Parameters
authorizeIf set to true will try to fetch even problems owned by other users (will require root authorization over policy kit)
Returns
List of problem ids or ERR_PTR on failure (NULL is an empty list)

◆ load_text_over_dbus()

char * load_text_over_dbus ( const char *  problem_id,
const char *  element_name 
)

@ Returns value of the given element name

Might require authorization

Returns
malloced string or NULL if no such an element exists; ERR_PTR in case of any error.

◆ test_exist_over_dbus()

int test_exist_over_dbus ( const char *  problem_id,
const char *  element_name 
)

Checks whether the given element name exists.

Might require authorization

Returns
Positive number if such an element exist, 0 if doesn't and negative number if an error occurs.