Reorganize the files.
[monolithium.git] / libraries / mlcrt / include / stdlib.h
1 /*
2  * stdlib.h
3  *
4  * Copyright (C) 2017 Aleksandar Andrejevic <theflash@sdf.lonestar.org>
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Affero General Public License as
8  * published by the Free Software Foundation, either version 3 of the
9  * License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Affero General Public License for more details.
15  *
16  * You should have received a copy of the GNU Affero General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef _STDLIB_H_
21 #define _STDLIB_H_
22
23 #include <stddef.h>
24 #include <stdint.h>
25 #include <malloc.h>
26 #include <errno.h>
27
28 char *itoa(int value, char *str, int base);
29 char *ltoa(long value, char *str, int base);
30 char *lltoa(long long value, char *str, int base);
31 char *uitoa(unsigned int value, char *str, int base);
32 char *ultoa(unsigned long value, char *str, int base);
33 char *ulltoa(unsigned long long value, char *str, int base);
34 int atoi(const char *str);
35 long atol(const char *str);
36 long long atoll(const char *str);
37 long strtol(const char *str, char **endptr, int base);
38 long long strtoll(const char *str, char **endptr, int base);
39 unsigned long strtoul(const char *str, char **endptr, int base);
40 unsigned long long strtoull(const char *str, char **endptr, int base);
41
42 void qsort(void *base, size_t nmemb, size_t size, int (*compare)(const void*, const void*));
43 void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compare)(const void*, const void*));
44
45 #define ATEXIT_MAX 32
46
47 int atexit(void (*function)(void));
48 void __attribute__((__noreturn__)) exit(int status);
49
50 typedef uint32_t pid_t;
51
52 pid_t getpid(void);
53 pid_t getppid(void);
54 pid_t fork(void);
55
56 #endif