satyr
0.26
include
report.h
Go to the documentation of this file.
1
/*
2
report.h
3
4
Copyright (C) 2012 Red Hat, Inc.
5
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License along
17
with this program; if not, write to the Free Software Foundation, Inc.,
18
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
*/
20
#ifndef SATYR_REPORT_H
21
#define SATYR_REPORT_H
22
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
32
#include "
report_type.h
"
33
#include <inttypes.h>
34
#include <stdbool.h>
35
36
struct
sr_json_value
;
37
struct
sr_stacktrace
;
38
39
struct
sr_report_custom_entry
40
{
41
char
*key;
42
char
*value;
43
struct
sr_report_custom_entry
*next;
44
};
45
46
struct
sr_report
47
{
48
uint32_t report_version;
49
enum
sr_report_type report_type;
50
51
char
*reporter_name;
52
char
*reporter_version;
53
54
// This is the real user id, not effective.
55
bool
user_root;
56
bool
user_local;
57
58
struct
sr_operating_system
*operating_system;
59
60
char
*component_name;
61
struct
sr_rpm_package
*rpm_packages;
62
63
struct
sr_stacktrace
*stacktrace;
64
65
struct
sr_report_custom_entry
*auth_entries;
66
67
uint32_t serial;
68
};
69
70
struct
sr_report
*
71
sr_report_new(
void
);
72
73
void
74
sr_report_init(
struct
sr_report
*report);
75
76
void
77
sr_report_free(
struct
sr_report
*report);
78
79
80
/* @brief Adds a new entry to 'auth' object
81
*
82
* The implementation is LIFO. The resulting list is in reversed.
83
*/
84
void
85
sr_report_add_auth(
struct
sr_report
*report,
const
char
*key,
const
char
*value);
86
87
char
*
88
sr_report_to_json(
struct
sr_report
*report);
89
90
struct
sr_report
*
91
sr_report_from_json(
struct
sr_json_value
*root,
char
**error_message);
92
93
struct
sr_report
*
94
sr_report_from_json_text(
const
char
*text,
char
**error_message);
95
96
#ifdef __cplusplus
97
}
98
#endif
99
100
#endif
sr_rpm_package
Definition:
rpm.h:67
sr_report
Definition:
report.h:46
sr_operating_system
Definition:
operating_system.h:37
sr_report_custom_entry
Definition:
report.h:39
sr_json_value
Definition:
json.h:70
sr_stacktrace
Definition:
stacktrace.h:49
report_type.h
Report type.
Generated by
1.8.14