|
Zephyr API Documentation 4.3.0-rc1
A Scalable Open Source RTOS
|
#include <stdarg.h>#include <stddef.h>#include <stdint.h>#include <zephyr/toolchain.h>#include <string.h>#include <stdio.h>#include <zephyr/sys/cbprintf_internal.h>#include <zephyr/sys/cbprintf_enums.h>Go to the source code of this file.
Data Structures | |
| struct | cbprintf_package_desc |
| cbprintf package descriptor. More... | |
| union | cbprintf_package_hdr |
| cbprintf package header More... | |
| struct | cbprintf_package_hdr_ext |
| cbprintf package header with format string pointer. More... | |
Macros | |
| #define | CBPRINTF_PACKAGE_ALIGNMENT |
| Required alignment of the buffer used for packaging. | |
| #define | CBPRINTF_PACKAGE_CONST_CHAR_RO BIT(0) |
| Assume that const char pointer is pointing to read only (constant) strings. | |
| #define | CBPRINTF_PACKAGE_ADD_RO_STR_POS BIT(1) |
| Append locations (within the package) of read-only string pointers. | |
| #define | CBPRINTF_PACKAGE_ADD_RW_STR_POS BIT(2) |
| Append locations (within the package) of read-write string pointers. | |
| #define | CBPRINTF_PACKAGE_FIRST_RO_STR_CNT(n) |
Indicate that n first string format arguments are char pointers to read-only location. | |
| #define | CBPRINTF_PACKAGE_ADD_STRING_IDXS (CBPRINTF_PACKAGE_ADD_RO_STR_POS | CBPRINTF_PACKAGE_CONST_CHAR_RO) |
| Append indexes of read-only string arguments in the package. | |
| #define | CBPRINTF_PACKAGE_ARGS_ARE_TAGGED BIT(6) |
| Indicate the incoming arguments are tagged. | |
| #define | CBPRINTF_PACKAGE_CONVERT_RO_STR BIT(0) |
| Append read-only strings from source package to destination package. | |
| #define | CBPRINTF_PACKAGE_CONVERT_RW_STR BIT(1) |
| Append read-write strings from source package to destination package. | |
| #define | CBPRINTF_PACKAGE_CONVERT_KEEP_RO_STR BIT(2) |
| Keep read-only location indexes in the package. | |
| #define | CBPRINTF_PACKAGE_CONVERT_PTR_CHECK BIT(3) |
| Check format string if p argument was treated as s in the package. | |
| #define | CBPRINTF_MUST_RUNTIME_PACKAGE(flags, ...) |
| Determine if string must be packaged in run time. | |
| #define | CBPRINTF_STATIC_PACKAGE(packaged, inlen, outlen, align_offset, flags, ...) |
| Statically package string. | |
Typedefs | |
| typedef int(* | cbprintf_cb) () |
| Signature for a cbprintf callback function. | |
| typedef int(* | cbprintf_cb_local) (int c, void *ctx) |
| typedef int(* | cbprintf_convert_cb) (const void *buf, size_t len, void *ctx) |
| Signature for a cbprintf multibyte callback function. | |
| typedef int(* | cbvprintf_external_formatter_func) (cbprintf_cb out, void *ctx, const char *fmt, va_list ap) |
| Signature for a external formatter function identical to cbvprintf. | |
Functions | |
| int | cbprintf_package (void *packaged, size_t len, uint32_t flags, const char *format,...) |
| Capture state required to output formatted data later. | |
| int | cbvprintf_package (void *packaged, size_t len, uint32_t flags, const char *format, va_list ap) |
| Capture state required to output formatted data later. | |
| int | cbprintf_package_convert (void *in_packaged, size_t in_len, cbprintf_convert_cb cb, void *ctx, uint32_t flags, uint16_t *strl, size_t strl_len) |
| Convert a package. | |
| static int | cbprintf_package_copy (void *in_packaged, size_t in_len, void *packaged, size_t len, uint32_t flags, uint16_t *strl, size_t strl_len) |
| Copy package with optional appending of strings. | |
| static int | cbprintf_fsc_package (void *in_packaged, size_t in_len, void *packaged, size_t len) |
| Convert package to fully self-contained (fsc) package. | |
| int | cbpprintf_external (cbprintf_cb out, cbvprintf_external_formatter_func formatter, void *ctx, void *packaged) |
| Generate the output for a previously captured format operation using an external formatter. | |
| int | cbprintf (cbprintf_cb out, void *ctx, const char *format,...) |
| *printf-like output through a callback. | |
| static int | cbvprintf (cbprintf_cb out, void *ctx, const char *format, va_list ap) |
| varargs-aware *printf-like output through a callback. | |
| static int | cbvprintf_tagged_args (cbprintf_cb out, void *ctx, const char *format, va_list ap) |
| varargs-aware *printf-like output through a callback with tagged arguments. | |
| static int | cbpprintf (cbprintf_cb out, void *ctx, void *packaged) |
| Generate the output for a previously captured format operation. | |
| int | fprintfcb (FILE *stream, const char *format,...) |
| fprintf using Zephyrs cbprintf infrastructure. | |
| int | vfprintfcb (FILE *stream, const char *format, va_list ap) |
| vfprintf using Zephyrs cbprintf infrastructure. | |
| int | printfcb (const char *format,...) |
| printf using Zephyrs cbprintf infrastructure. | |
| int | vprintfcb (const char *format, va_list ap) |
| vprintf using Zephyrs cbprintf infrastructure. | |
| int | snprintfcb (char *str, size_t size, const char *format,...) |
| snprintf using Zephyrs cbprintf infrastructure. | |
| int | vsnprintfcb (char *str, size_t size, const char *format, va_list ap) |
| vsnprintf using Zephyrs cbprintf infrastructure. | |