7#ifndef ZEPHYR_INCLUDE_SYS_LIBC_HOOKS_H_
8#define ZEPHYR_INCLUDE_SYS_LIBC_HOOKS_H_
24#if defined(CONFIG_NEWLIB_LIBC) || defined(CONFIG_ARCMWDT_LIBC) || defined(CONFIG_PICOLIBC)
29__syscall
int zephyr_read_stdin(
char *buf,
int nbytes);
31__syscall
int zephyr_write_stdout(
const void *buf,
int nbytes);
43#ifdef CONFIG_COMMON_LIBC_MALLOC
44# if defined(CONFIG_MINIMAL_LIBC) && (CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE != -2)
45# undef CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE
46# define CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE
47# warning Using deprecated setting CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE
48# elif defined(CONFIG_PICOLIBC) && (CONFIG_PICOLIBC_HEAP_SIZE != -2)
49# undef CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE
50# define CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE CONFIG_PICOLIBC_HEAP_SIZE
51# warning Using deprecated setting CONFIG_PICOLIBC_HEAP_SIZE
55#ifdef CONFIG_USERSPACE
56#ifdef CONFIG_COMMON_LIBC_MALLOC
62#if CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE != 0 && \
63(defined(CONFIG_MPU) || defined(CONFIG_MMU))
64#define Z_MALLOC_PARTITION_EXISTS 1
67#elif defined(CONFIG_NEWLIB_LIBC)
75#if (!defined(CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT) || \
76 (defined(CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT) && \
77 CONFIG_NEWLIB_LIBC_ALIGNED_HEAP_SIZE))
78#define Z_MALLOC_PARTITION_EXISTS 1
83#ifdef Z_MALLOC_PARTITION_EXISTS
90#if defined(CONFIG_NEWLIB_LIBC) || defined(CONFIG_STACK_CANARIES) || \
91defined(CONFIG_PICOLIBC) || defined(CONFIG_NEED_LIBC_MEM_PARTITION)
101#define Z_LIBC_PARTITION_EXISTS 1
108#include <syscalls/libc-hooks.h>
111#define Z_LIBC_DATA K_APP_DMEM(z_libc_partition)
#define ZRESTRICT
Definition: common.h:31
size_t zephyr_fwrite(const void *ZRESTRICT ptr, size_t size, size_t nitems, FILE *ZRESTRICT stream)
int zephyr_fputc(int c, FILE *stream)
char c
Definition: printk.c:112
void * ptr
Definition: printk.c:120
int FILE
Definition: stdio.h:22
Memory Partition.
Definition: mem_domain.h:55