Zephyr Project API  3.2.0
A Scalable Open Source RTOS
stdlib.h
Go to the documentation of this file.
1/* stdlib.h */
2
3/*
4 * Copyright (c) 2011-2014 Wind River Systems, Inc.
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8
9#ifndef ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_STDLIB_H_
10#define ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_STDLIB_H_
11
12#include <stddef.h>
13#include <limits.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19unsigned long strtoul(const char *nptr, char **endptr, int base);
20long strtol(const char *nptr, char **endptr, int base);
21unsigned long long strtoull(const char *nptr, char **endptr, int base);
22long long strtoll(const char *nptr, char **endptr, int base);
23int atoi(const char *s);
24
25void *malloc(size_t size);
26void free(void *ptr);
27void *calloc(size_t nmemb, size_t size);
28void *realloc(void *ptr, size_t size);
29void *reallocarray(void *ptr, size_t nmemb, size_t size);
30
31void *bsearch(const void *key, const void *array,
32 size_t count, size_t size,
33 int (*cmp)(const void *key, const void *element));
34
35void qsort_r(void *base, size_t nmemb, size_t size,
36 int (*compar)(const void *, const void *, void *), void *arg);
37void qsort(void *base, size_t nmemb, size_t size,
38 int (*compar)(const void *, const void *));
39
40#define EXIT_SUCCESS 0
41#define EXIT_FAILURE 1
42void _exit(int status);
43static inline void exit(int status)
44{
45 _exit(status);
46}
47void abort(void);
48
49#ifdef CONFIG_MINIMAL_LIBC_RAND
50#define RAND_MAX INT_MAX
51int rand_r(unsigned int *seed);
52int rand(void);
53void srand(unsigned int seed);
54#endif /* CONFIG_MINIMAL_LIBC_RAND */
55
56static inline int abs(int __n)
57{
58 return (__n < 0) ? -__n : __n;
59}
60
61static inline long labs(long __n)
62{
63 return (__n < 0L) ? -__n : __n;
64}
65
66static inline long long llabs(long long __n)
67{
68 return (__n < 0LL) ? -__n : __n;
69}
70
71#ifdef __cplusplus
72}
73#endif
74
75#endif /* ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_STDLIB_H_ */
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa s
Definition: asm-macro-32-bit-gnu.h:17
ZTEST_BMEM int count
Definition: main.c:33
void * ptr
Definition: printk.c:111
static k_spinlock_key_t key
Definition: spinlock_error_case.c:14
void qsort_r(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *, void *), void *arg)
void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *))
void * calloc(size_t nmemb, size_t size)
int atoi(const char *s)
long strtol(const char *nptr, char **endptr, int base)
static long long llabs(long long __n)
Definition: stdlib.h:66
void * bsearch(const void *key, const void *array, size_t count, size_t size, int(*cmp)(const void *key, const void *element))
unsigned long strtoul(const char *nptr, char **endptr, int base)
void abort(void)
static long labs(long __n)
Definition: stdlib.h:61
void * malloc(size_t size)
void * reallocarray(void *ptr, size_t nmemb, size_t size)
void * realloc(void *ptr, size_t size)
static int abs(int __n)
Definition: stdlib.h:56
unsigned long long strtoull(const char *nptr, char **endptr, int base)
static void exit(int status)
Definition: stdlib.h:43
long long strtoll(const char *nptr, char **endptr, int base)
void free(void *ptr)