satyr
0.43
Toggle main menu visibility
Loading...
Searching...
No Matches
include
koops
koops/stacktrace.h
Go to the documentation of this file.
1
/*
2
koops_stacktrace.h
3
4
Copyright (C) 2012 ABRT Team
5
Copyright (C) 2012 Red Hat, Inc.
6
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2 of the License, or
10
(at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License along
18
with this program; if not, write to the Free Software Foundation, Inc.,
19
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
*/
21
#ifndef SATYR_KOOPS_STACKTRACE_H
22
#define SATYR_KOOPS_STACKTRACE_H
23
28
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
33
#include "
../report_type.h
"
34
#include <stdbool.h>
35
#include <inttypes.h>
36
#include <json.h>
37
#include <stddef.h>
38
39
struct
sr_location
;
40
41
struct
sr_koops_stacktrace
42
{
43
enum
sr_report_type type;
44
48
char
*
version
;
49
53
54
bool
taint_module_proprietary
;
55
bool
taint_module_out_of_tree;
56
bool
taint_forced_module;
57
bool
taint_forced_removal;
58
bool
taint_smp_unsafe;
60
bool
taint_mce
;
62
bool
taint_page_release
;
63
bool
taint_userspace;
64
bool
taint_died_recently;
65
bool
taint_acpi_overridden;
66
bool
taint_warning;
67
bool
taint_staging_driver;
68
bool
taint_firmware_workaround;
69
bool
taint_unsigned_module;
70
bool
taint_soft_lockup;
71
bool
taint_live_patched;
72
79
char
**
modules
;
80
84
char
*
raw_oops
;
85
89
struct
sr_koops_frame
*
frames
;
90
94
char
*
reason
;
95
};
96
103
struct
sr_koops_stacktrace
*
104
sr_koops_stacktrace_new
(
void
);
105
112
void
113
sr_koops_stacktrace_init
(
struct
sr_koops_stacktrace
*stacktrace);
114
120
void
121
sr_koops_stacktrace_free
(
struct
sr_koops_stacktrace
*stacktrace);
122
131
struct
sr_koops_stacktrace
*
132
sr_koops_stacktrace_dup
(
struct
sr_koops_stacktrace
*stacktrace);
133
140
bool
141
sr_koops_stacktrace_remove_frame
(
struct
sr_koops_stacktrace
*stacktrace,
142
struct
sr_koops_frame
*frame);
143
153
struct
sr_koops_stacktrace
*
154
sr_koops_stacktrace_parse
(
const
char
**input,
155
struct
sr_location
*location);
156
157
char
**
158
sr_koops_stacktrace_parse_modules(
const
char
**input);
159
163
char
*
164
sr_koops_stacktrace_get_reason
(
struct
sr_koops_stacktrace
*stacktrace);
165
173
char
*
174
sr_koops_stacktrace_to_json
(
struct
sr_koops_stacktrace
*stacktrace);
175
185
struct
sr_koops_stacktrace
*
186
sr_koops_stacktrace_from_json
(json_object *root,
char
**error_message);
187
188
void
189
sr_normalize_koops_stacktrace(
struct
sr_koops_stacktrace
*stacktrace);
190
191
192
#ifdef __cplusplus
193
}
194
#endif
195
196
#endif
sr_koops_stacktrace_init
void sr_koops_stacktrace_init(struct sr_koops_stacktrace *stacktrace)
sr_koops_stacktrace_parse
struct sr_koops_stacktrace * sr_koops_stacktrace_parse(const char **input, struct sr_location *location)
sr_koops_stacktrace_new
struct sr_koops_stacktrace * sr_koops_stacktrace_new(void)
sr_koops_stacktrace_free
void sr_koops_stacktrace_free(struct sr_koops_stacktrace *stacktrace)
sr_koops_stacktrace_dup
struct sr_koops_stacktrace * sr_koops_stacktrace_dup(struct sr_koops_stacktrace *stacktrace)
sr_koops_stacktrace_from_json
struct sr_koops_stacktrace * sr_koops_stacktrace_from_json(json_object *root, char **error_message)
sr_koops_stacktrace_get_reason
char * sr_koops_stacktrace_get_reason(struct sr_koops_stacktrace *stacktrace)
sr_koops_stacktrace_to_json
char * sr_koops_stacktrace_to_json(struct sr_koops_stacktrace *stacktrace)
sr_koops_stacktrace_remove_frame
bool sr_koops_stacktrace_remove_frame(struct sr_koops_stacktrace *stacktrace, struct sr_koops_frame *frame)
report_type.h
Report type.
sr_koops_frame
Kernel oops stack frame.
Definition
koops/frame.h:44
sr_koops_stacktrace
Definition
koops/stacktrace.h:42
sr_koops_stacktrace::version
char * version
Version of the kernel.
Definition
koops/stacktrace.h:48
sr_koops_stacktrace::raw_oops
char * raw_oops
Raw kerneloops text.
Definition
koops/stacktrace.h:84
sr_koops_stacktrace::reason
char * reason
Reason message extracted by ABRT.
Definition
koops/stacktrace.h:94
sr_koops_stacktrace::taint_page_release
bool taint_page_release
Definition
koops/stacktrace.h:62
sr_koops_stacktrace::taint_mce
bool taint_mce
Definition
koops/stacktrace.h:60
sr_koops_stacktrace::taint_module_proprietary
bool taint_module_proprietary
Definition
koops/stacktrace.h:54
sr_koops_stacktrace::modules
char ** modules
List of loaded modules.
Definition
koops/stacktrace.h:79
sr_koops_stacktrace::frames
struct sr_koops_frame * frames
Call trace. It might be NULL as it is not mandatory.
Definition
koops/stacktrace.h:89
sr_location
A location of a parser in the input stream.
Definition
location.h:43
Generated by
1.17.0