libreport
2.15.2
A tool to inform users about various problems on the running system
|
#include "libreport_types.h"
#include "report_result.h"
#include <stdint.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <glib.h>
Go to the source code of this file.
Data Structures | |
struct | dump_dir |
Typedefs | |
typedef int(* | save_data_call_back) (struct dump_dir *, void *args) |
Enumerations | |
enum | dump_dir_flags { DD_FAIL_QUIETLY_ENOENT = (1 << 0) , DD_FAIL_QUIETLY_EACCES = (1 << 1) , DD_OPEN_FOLLOW = (1 << 2) , DD_OPEN_READONLY = (1 << 3) , DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE = (1 << 4) , DD_DONT_WAIT_FOR_LOCK = (1 << 5) , DD_CREATE_PARENTS = (1 << 6) , DD_OPEN_FD_ONLY = (1 << 7) } |
enum | { DD_STAT_ACCESSIBLE_BY_UID = 1 , DD_STAT_OWNED_BY_UID = DD_STAT_ACCESSIBLE_BY_UID << 1 , DD_STAT_NO_OWNER = DD_STAT_OWNED_BY_UID << 1 } |
Functions | |
int | create_symlink_lockfile (const char *filename, const char *pid_str) |
int | create_symlink_lockfile_at (int dir_fd, const char *filename, const char *pid_str) |
int | secure_openat_read (int dir_fd, const char *filename) |
void | dd_close (struct dump_dir *dd) |
struct dump_dir * | dd_opendir (const char *dir, int flags) |
struct dump_dir * | dd_fdopendir (struct dump_dir *dd, int flags) |
struct dump_dir * | dd_create_skeleton (const char *dir, uid_t uid, mode_t mode, int flags) |
int | dd_reset_ownership (struct dump_dir *dd) |
struct dump_dir * | dd_create (const char *dir, uid_t uid, mode_t mode) |
void | dd_create_basic_files (struct dump_dir *dd, uid_t uid, const char *chroot_dir) |
int | dd_exist (const struct dump_dir *dd, const char *path) |
void | dd_sanitize_mode_and_owner (struct dump_dir *dd) |
DIR * | dd_init_next_file (struct dump_dir *dd) |
int | dd_get_next_file (struct dump_dir *dd, char **short_name, char **full_name) |
void | dd_clear_next_file (struct dump_dir *dd) |
char * | load_text_file (const char *path, unsigned flags) |
char * | dd_load_text_ext (const struct dump_dir *dd, const char *name, unsigned flags) |
char * | dd_load_text (const struct dump_dir *dd, const char *name) |
int | dd_load_int32 (const struct dump_dir *dd, const char *name, int32_t *value) |
int | dd_load_uint32 (const struct dump_dir *dd, const char *name, uint32_t *value) |
int | dd_load_int64 (const struct dump_dir *dd, const char *name, int64_t *value) |
int | dd_load_uint64 (const struct dump_dir *dd, const char *name, uint64_t *value) |
int | dd_get_env_variable (struct dump_dir *dd, const char *name, char **value) |
void | dd_save_text (struct dump_dir *dd, const char *name, const char *data) |
void | dd_save_binary (struct dump_dir *dd, const char *name, const char *data, unsigned size) |
int | dd_copy_file (struct dump_dir *dd, const char *name, const char *source_path) |
int | dd_copy_file_unpack (struct dump_dir *dd, const char *name, const char *source_path) |
int | dd_copy_file_at (struct dump_dir *dd, const char *name, int src_dir_fd, const char *src_name) |
off_t | dd_copy_fd (struct dump_dir *dd, const char *name, int fd, int copy_flags, off_t maxsize) |
int | dd_item_stat (struct dump_dir *dd, const char *name, struct stat *statbuf) |
long | dd_get_item_size (struct dump_dir *dd, const char *name) |
int | dd_get_items_count (struct dump_dir *dd) |
int | dd_delete_item (struct dump_dir *dd, const char *name) |
int | dd_open_item (struct dump_dir *dd, const char *name, int flags) |
FILE * | dd_open_item_file (struct dump_dir *dd, const char *name, int flags) |
int | dd_delete (struct dump_dir *dd) |
int | dd_rename (struct dump_dir *dd, const char *new_path) |
int | dd_chown (struct dump_dir *dd, uid_t new_uid) |
off_t | dd_compute_size (struct dump_dir *dd, int flags) |
int | dd_set_owner (struct dump_dir *dd, uid_t owner) |
int | dd_set_no_owner (struct dump_dir *dd) |
uid_t | dd_get_owner (struct dump_dir *dd) |
time_t | dd_get_first_occurrence (struct dump_dir *dd) |
time_t | dd_get_last_occurrence (struct dump_dir *dd) |
int | libreport_add_reported_to_data (char **reported_to, const char *line) |
int | libreport_add_reported_to_entry_data (char **reported_to, struct report_result *result) |
void | libreport_add_reported_to (struct dump_dir *dd, const char *line) |
void | libreport_add_reported_to_entry (struct dump_dir *dd, struct report_result *result) |
report_result_t * | libreport_find_in_reported_to_data (const char *reported_to, const char *report_label) |
report_result_t * | libreport_find_in_reported_to (struct dump_dir *dd, const char *report_label) |
GList * | libreport_read_entire_reported_to_data (const char *reported_to) |
GList * | libreport_read_entire_reported_to (struct dump_dir *dd) |
void | delete_dump_dir (const char *dirname) |
int | dump_dir_accessible_by_uid (const char *dirname, uid_t uid) |
int | dd_accessible_by_uid (struct dump_dir *dd, uid_t uid) |
int | dump_dir_stat_for_uid (const char *dirname, uid_t uid) |
int | dd_stat_for_uid (struct dump_dir *dd, uid_t uid) |
int | dd_mark_as_notreportable (struct dump_dir *dd, const char *reason) |
struct dump_dir * | create_dump_dir (const char *base_dir_name, const char *type, uid_t uid, save_data_call_back save_data, void *args) |
struct dump_dir * | create_dump_dir_ext (const char *base_dir_name, const char *type, pid_t pid, uid_t uid, save_data_call_back save_data, void *args) |
int | dd_create_archive (struct dump_dir *dd, const char *archive_name, const_string_vector_const_ptr_t exclude_elements, int flags) |
Variables | |
uid_t | dd_g_super_user_uid |
gid_t | dd_g_fs_group_gid |
typedef int(* save_data_call_back) (struct dump_dir *, void *args) |
enum dump_dir_flags |
struct dump_dir* create_dump_dir | ( | const char * | base_dir_name, |
const char * | type, | ||
uid_t | uid, | ||
save_data_call_back | save_data, | ||
void * | args | ||
) |
struct dump_dir* create_dump_dir_ext | ( | const char * | base_dir_name, |
const char * | type, | ||
pid_t | pid, | ||
uid_t | uid, | ||
save_data_call_back | save_data, | ||
void * | args | ||
) |
int create_symlink_lockfile | ( | const char * | filename, |
const char * | pid_str | ||
) |
int create_symlink_lockfile_at | ( | int | dir_fd, |
const char * | filename, | ||
const char * | pid_str | ||
) |
int dd_accessible_by_uid | ( | struct dump_dir * | dd, |
uid_t | uid | ||
) |
int dd_chown | ( | struct dump_dir * | dd, |
uid_t | new_uid | ||
) |
void dd_clear_next_file | ( | struct dump_dir * | dd | ) |
void dd_close | ( | struct dump_dir * | dd | ) |
off_t dd_compute_size | ( | struct dump_dir * | dd, |
int | flags | ||
) |
off_t dd_copy_fd | ( | struct dump_dir * | dd, |
const char * | name, | ||
int | fd, | ||
int | copy_flags, | ||
off_t | maxsize | ||
) |
int dd_copy_file | ( | struct dump_dir * | dd, |
const char * | name, | ||
const char * | source_path | ||
) |
int dd_copy_file_at | ( | struct dump_dir * | dd, |
const char * | name, | ||
int | src_dir_fd, | ||
const char * | src_name | ||
) |
int dd_copy_file_unpack | ( | struct dump_dir * | dd, |
const char * | name, | ||
const char * | source_path | ||
) |
struct dump_dir* dd_create | ( | const char * | dir, |
uid_t | uid, | ||
mode_t | mode | ||
) |
int dd_create_archive | ( | struct dump_dir * | dd, |
const char * | archive_name, | ||
const_string_vector_const_ptr_t | exclude_elements, | ||
int | flags | ||
) |
void dd_create_basic_files | ( | struct dump_dir * | dd, |
uid_t | uid, | ||
const char * | chroot_dir | ||
) |
struct dump_dir* dd_create_skeleton | ( | const char * | dir, |
uid_t | uid, | ||
mode_t | mode, | ||
int | flags | ||
) |
int dd_delete | ( | struct dump_dir * | dd | ) |
int dd_delete_item | ( | struct dump_dir * | dd, |
const char * | name | ||
) |
int dd_exist | ( | const struct dump_dir * | dd, |
const char * | path | ||
) |
int dd_get_env_variable | ( | struct dump_dir * | dd, |
const char * | name, | ||
char ** | value | ||
) |
time_t dd_get_first_occurrence | ( | struct dump_dir * | dd | ) |
long dd_get_item_size | ( | struct dump_dir * | dd, |
const char * | name | ||
) |
int dd_get_items_count | ( | struct dump_dir * | dd | ) |
time_t dd_get_last_occurrence | ( | struct dump_dir * | dd | ) |
int dd_get_next_file | ( | struct dump_dir * | dd, |
char ** | short_name, | ||
char ** | full_name | ||
) |
uid_t dd_get_owner | ( | struct dump_dir * | dd | ) |
Gets the owner of the dump directory.
If meta-data 'owner' is not present or readable, returns filesystem owner. Can be used with DD_OPEN_FD_ONLY.
dd | The dump directory in question. |
DIR* dd_init_next_file | ( | struct dump_dir * | dd | ) |
int dd_item_stat | ( | struct dump_dir * | dd, |
const char * | name, | ||
struct stat * | statbuf | ||
) |
int dd_load_int32 | ( | const struct dump_dir * | dd, |
const char * | name, | ||
int32_t * | value | ||
) |
int dd_load_int64 | ( | const struct dump_dir * | dd, |
const char * | name, | ||
int64_t * | value | ||
) |
char* dd_load_text | ( | const struct dump_dir * | dd, |
const char * | name | ||
) |
char* dd_load_text_ext | ( | const struct dump_dir * | dd, |
const char * | name, | ||
unsigned | flags | ||
) |
int dd_load_uint32 | ( | const struct dump_dir * | dd, |
const char * | name, | ||
uint32_t * | value | ||
) |
int dd_load_uint64 | ( | const struct dump_dir * | dd, |
const char * | name, | ||
uint64_t * | value | ||
) |
int dd_mark_as_notreportable | ( | struct dump_dir * | dd, |
const char * | reason | ||
) |
int dd_open_item | ( | struct dump_dir * | dd, |
const char * | name, | ||
int | flags | ||
) |
FILE* dd_open_item_file | ( | struct dump_dir * | dd, |
const char * | name, | ||
int | flags | ||
) |
struct dump_dir* dd_opendir | ( | const char * | dir, |
int | flags | ||
) |
int dd_rename | ( | struct dump_dir * | dd, |
const char * | new_path | ||
) |
int dd_reset_ownership | ( | struct dump_dir * | dd | ) |
void dd_sanitize_mode_and_owner | ( | struct dump_dir * | dd | ) |
void dd_save_binary | ( | struct dump_dir * | dd, |
const char * | name, | ||
const char * | data, | ||
unsigned | size | ||
) |
void dd_save_text | ( | struct dump_dir * | dd, |
const char * | name, | ||
const char * | data | ||
) |
int dd_set_no_owner | ( | struct dump_dir * | dd | ) |
int dd_set_owner | ( | struct dump_dir * | dd, |
uid_t | owner | ||
) |
int dd_stat_for_uid | ( | struct dump_dir * | dd, |
uid_t | uid | ||
) |
void delete_dump_dir | ( | const char * | dirname | ) |
int dump_dir_accessible_by_uid | ( | const char * | dirname, |
uid_t | uid | ||
) |
int dump_dir_stat_for_uid | ( | const char * | dirname, |
uid_t | uid | ||
) |
void libreport_add_reported_to | ( | struct dump_dir * | dd, |
const char * | line | ||
) |
int libreport_add_reported_to_data | ( | char ** | reported_to, |
const char * | line | ||
) |
void libreport_add_reported_to_entry | ( | struct dump_dir * | dd, |
struct report_result * | result | ||
) |
int libreport_add_reported_to_entry_data | ( | char ** | reported_to, |
struct report_result * | result | ||
) |
report_result_t* libreport_find_in_reported_to | ( | struct dump_dir * | dd, |
const char * | report_label | ||
) |
report_result_t* libreport_find_in_reported_to_data | ( | const char * | reported_to, |
const char * | report_label | ||
) |
GList* libreport_read_entire_reported_to | ( | struct dump_dir * | dd | ) |
GList* libreport_read_entire_reported_to_data | ( | const char * | reported_to | ) |
char* load_text_file | ( | const char * | path, |
unsigned | flags | ||
) |
int secure_openat_read | ( | int | dir_fd, |
const char * | filename | ||
) |
|
extern |
|
extern |