RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
recorddump.h
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
3
/*
4
* Copyright (C) 2020 embedded brains GmbH & Co. KG
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
* POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef _RTEMS_RECORDDUMP_H
29
#define _RTEMS_RECORDDUMP_H
30
31
#include <rtems/record.h>
32
33
#include <zlib.h>
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
/* __cplusplus */
38
44
52
typedef
void ( *
rtems_record_dump_chunk
)(
53
void
*arg,
54
const
void
*data,
55
size_t
length
56
);
57
66
void
rtems_record_dump
(
67
rtems_record_dump_chunk
chunk,
68
void
*arg
69
);
70
79
void
rtems_record_dump_base64
(
void
( *put_char )(
int
,
void
* ),
void
*arg );
80
85
typedef
struct
{
86
void ( *put_char )( int,
void
* );
87
void
*arg;
88
int
out;
89
unsigned
char
buf[ 57 ];
90
z_stream stream;
91
char
*mem_begin;
92
size_t
mem_available;
93
char
mem[ 0x80000 ];
94
}
rtems_record_dump_base64_zlib_context
;
95
106
void
rtems_record_dump_zlib_base64
(
107
rtems_record_dump_base64_zlib_context
*ctx,
108
void
( *put_char )(
int
,
void
* ),
109
void
*arg
110
);
111
113
114
#ifdef __cplusplus
115
}
116
#endif
/* __cplusplus */
117
118
#endif
/* _RTEMS_RECORDDUMP_H */
rtems_record_dump_zlib_base64
void rtems_record_dump_zlib_base64(rtems_record_dump_base64_zlib_context *ctx, void(*put_char)(int, void *), void *arg)
Dumps the event records compressed with zlib in base64 encoding.
Definition
record-dump-zbase64.c:133
rtems_record_dump_chunk
void(*) rtems_record_dump_chunk(void *arg, const void *data, size_t length)
Handler for record dumps to output a chunk of data.
Definition
recorddump.h:52
rtems_record_dump
void rtems_record_dump(rtems_record_dump_chunk chunk, void *arg)
Dumps the record header, the thread names, and all items of all processors.
Definition
record-dump.c:83
rtems_record_dump_base64
void rtems_record_dump_base64(void(*put_char)(int, void *), void *arg)
Dumps the event records in base64 encoding.
rtems_record_dump_base64_zlib_context
The context for record dumps with zlib compression and base64 encoding.
Definition
recorddump.h:85
Generated by
1.18.0