satyr 0.43
Loading...
Searching...
No Matches
/builddir/build/BUILD/satyr-0.43-build/satyr-0.43/include/koops/frame.h

Timestamp may be present in the oops lines.

[123456.654321] [ 65.470000]

/*
koops_frame.h
Copyright (C) 2012 ABRT Team
Copyright (C) 2012 Red Hat, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef SATYR_KOOPS_FRAME_H
#define SATYR_KOOPS_FRAME_H
#ifdef __cplusplus
extern "C" {
#endif
#include "../report_type.h"
#include <json.h>
#include <stdbool.h>
#include <stdint.h>
#include <glib.h>
{
enum sr_report_type type;
uint64_t address;
bool reliable;
uint64_t function_offset;
uint64_t function_length;
char *module_name;
uint64_t from_address;
uint64_t from_function_offset;
uint64_t from_function_length;
/* XXX: we should probably have each stack as a separate thread ... in
* uReport3 ? */
struct sr_koops_frame *next;
};
void
void
bool siblings);
int
struct sr_koops_frame *frame2);
int
struct sr_koops_frame *frame2);
struct sr_koops_frame *item);
sr_koops_frame_prepend(struct sr_koops_frame *dest,
struct sr_koops_frame *item);
sr_koops_frame_parse(const char **input);
bool
sr_koops_skip_timestamp(const char **input);
bool
sr_koops_parse_address(const char **input, uint64_t *address);
bool
sr_koops_parse_module_name(const char **input,
char **module_name);
bool
sr_koops_parse_function(const char **input,
char **function_name,
uint64_t *function_offset,
uint64_t *function_length,
char **module_name);
char *
sr_koops_frame_from_json(json_object *root, char **error_message);
void
GString *dest);
#ifdef __cplusplus
}
#endif
#endif
struct sr_koops_frame * sr_koops_frame_append(struct sr_koops_frame *dest, struct sr_koops_frame *item)
void sr_koops_frame_append_to_str(struct sr_koops_frame *frame, GString *dest)
struct sr_koops_frame * sr_koops_frame_dup(struct sr_koops_frame *frame, bool siblings)
char * sr_koops_frame_to_json(struct sr_koops_frame *frame)
int sr_koops_frame_cmp_distance(struct sr_koops_frame *frame1, struct sr_koops_frame *frame2)
struct sr_koops_frame * sr_koops_frame_from_json(json_object *root, char **error_message)
void sr_koops_frame_init(struct sr_koops_frame *frame)
struct sr_koops_frame * sr_koops_frame_new(void)
void sr_koops_frame_free(struct sr_koops_frame *frame)
int sr_koops_frame_cmp(struct sr_koops_frame *frame1, struct sr_koops_frame *frame2)
Kernel oops stack frame.
Definition koops/frame.h:44
char * special_stack
uint64_t from_address
Definition koops/frame.h:77
uint64_t address
Definition koops/frame.h:52
char * module_name
Definition koops/frame.h:72
char * function_name
Definition koops/frame.h:63
char * from_module_name
Definition koops/frame.h:91
char * from_function_name
Definition koops/frame.h:82