diag-trace 5.0.1
µOS++ Tracing Infrastructure
Loading...
Searching...
No Matches
c-api.h
Go to the documentation of this file.
1/*
2 * This file is part of the µOS++ project (https://micro-os-plus.github.io/).
3 * Copyright (c) 2015-2026 Liviu Ionescu. All rights reserved.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose is hereby granted, under the terms of the MIT license.
7 *
8 * If a copy of the license was not distributed with this file, it can be
9 * obtained from https://opensource.org/licenses/mit.
10 */
11
12// ----------------------------------------------------------------------------
13
24
25// ----------------------------------------------------------------------------
26
27#if !defined(MICRO_OS_PLUS_DIAG_TRACE_H_)
28#error "Do not include this file directly; use micro-os-plus/diag/trace.h."
29#endif // MICRO_OS_PLUS_DIAG_TRACE_H_
30
31// ----------------------------------------------------------------------------
32
33#ifndef MICRO_OS_PLUS_DIAG_TRACE_C_API_H_
34#define MICRO_OS_PLUS_DIAG_TRACE_C_API_H_
35
36// ----------------------------------------------------------------------------
37
38#include <stdarg.h>
39
40#include <sys/types.h>
41
42// ----------------------------------------------------------------------------
43
44#if defined(MICRO_OS_PLUS_DIAG_TRACE_ENABLED)
45
46// ----------------------------------------------------------------------------
47
48#if defined(__cplusplus)
49extern "C"
50{
51#endif // defined(__cplusplus)
52
53 // --------------------------------------------------------------------------
54
70 void
72
89 ssize_t
90 micro_os_plus_trace_write (const void* buf, size_t nbyte);
91
109 void
111
130 int
131 micro_os_plus_trace_printf (const char* format, ...)
132 __attribute__ ((format (printf, 1, 2)));
133
150 int
151 micro_os_plus_trace_vprintf (const char* format, va_list arguments);
152
169 int
170 micro_os_plus_trace_puts (const char* s);
171
185 int
187
207 void
208 micro_os_plus_trace_dump_args (int argc, char* argv[]);
209
210 // --------------------------------------------------------------------------
211
212#if defined(__cplusplus)
213}
214#endif // defined(__cplusplus)
215
216// ----------------------------------------------------------------------------
217
218#endif // defined(MICRO_OS_PLUS_DIAG_TRACE_ENABLED)
219
220// ============================================================================
221// Templates, inlines & constexpr implementations.
222
224
225// ----------------------------------------------------------------------------
226
227#endif // MICRO_OS_PLUS_DIAG_TRACE_C_API_H_
228
229// ----------------------------------------------------------------------------
C header file with the empty inline stubs for the C trace API when tracing is disabled.
void micro_os_plus_trace_dump_args(int argc, char *argv[])
Write the argv[] array to the trace output channel.
void micro_os_plus_trace_initialise(void)
Initialise the trace output channel.
ssize_t micro_os_plus_trace_write(const void *buf, size_t nbyte)
Write the given number of bytes to the trace output channel.
void micro_os_plus_trace_flush(void)
Flush the trace output channel.
int micro_os_plus_trace_printf(const char *format,...)
Write a formatted string to the trace output channel.
int micro_os_plus_trace_puts(const char *s)
Write the string and a line terminator to the trace output channel.
int micro_os_plus_trace_vprintf(const char *format, va_list arguments)
Write a formatted variable arguments list to the trace output channel.
int micro_os_plus_trace_putchar(int c)
Write the single character to the trace output channel.