kernel: separate headers into kernel and user headers
all kernel headers have been moved from include/mango to include/kernel and include definitions that are only relevant to kernel-space. any definitions that are relevant to both kernel- and user-space (i.e. type definitions, syscall IDs) have been moved to include/mango within libmango.
This commit is contained in:
@@ -1,26 +0,0 @@
|
||||
#ifndef MANGO_LIBC_TYPES_H_
|
||||
#define MANGO_LIBC_TYPES_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern int isalnum(int c);
|
||||
extern int isalpha(int c);
|
||||
extern int iscntrl(int c);
|
||||
extern int isdigit(int c);
|
||||
extern int isgraph(int c);
|
||||
extern int islower(int c);
|
||||
extern int isprint(int c);
|
||||
extern int ispunct(int c);
|
||||
extern int isspace(int c);
|
||||
extern int isupper(int c);
|
||||
extern int isxdigit(int c);
|
||||
extern int tolower(int c);
|
||||
extern int toupper(int c);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,21 +0,0 @@
|
||||
#ifndef MANGO_STDIO_H_
|
||||
#define MANGO_STDIO_H_
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int snprintf(char *buffer, size_t count, const char *format, ...);
|
||||
int vsnprintf(char *buffer, size_t count, const char *format, va_list va);
|
||||
|
||||
int fctprintf(void (*out)(char character, void *arg), void *arg, const char*format, ...);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,36 +0,0 @@
|
||||
#ifndef MANGO_LIBC_STRING_H_
|
||||
#define MANGO_LIBC_STRING_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern char *strcpy(char *output, const char *input);
|
||||
extern char *strncpy(char *output, const char *input, unsigned long count);
|
||||
extern char *strchrnul(const char *s, int c);
|
||||
extern char *strchr(const char *s, int c);
|
||||
extern size_t lfind(const char *str, const char accept);
|
||||
extern size_t strspn(const char *s, const char *c);
|
||||
extern size_t strcspn(const char *s, const char *c);
|
||||
extern char *strpbrk(const char *s, const char *b);
|
||||
extern size_t strlen(const char *str);
|
||||
extern char *strrchr(const char *str, int c);
|
||||
extern int strcmp(const char *s1, const char *s2);
|
||||
extern int strncmp(const char *s1, const char *s2, unsigned long n);
|
||||
extern void *memcpy(void *str1, const void *str2, size_t n);
|
||||
extern int memcmp(const void *str1, const void *str2, size_t n);
|
||||
extern void *memset(void *str, int c, size_t n);
|
||||
extern void *memmove(void *dst, const void *src, size_t n);
|
||||
extern char *strdup(const char *src);
|
||||
extern char *strtok_r(char *str, const char *delim, char **saveptr);
|
||||
extern char *strcat(char *dest, const char *src);
|
||||
extern char *strncat(char *dest, const char *src, size_t num);
|
||||
extern void *memchr(const void *ptr, int value, unsigned long num);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
1616
libc/stdio/printf.c
1616
libc/stdio/printf.c
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
#include <stdint.h>
|
||||
#include <mango/libc/string.h>
|
||||
#include <kernel/libc/string.h>
|
||||
|
||||
static void *memcpy_r(void *dest, const void *src, size_t sz)
|
||||
{
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
void *memset(void *str, int c, size_t n)
|
||||
{
|
||||
unsigned char val = (unsigned char)c;
|
||||
unsigned char *buf = str;
|
||||
unsigned char val = (unsigned char)c;
|
||||
unsigned char *buf = str;
|
||||
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
buf[i] = val;
|
||||
}
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
buf[i] = val;
|
||||
}
|
||||
|
||||
return str;
|
||||
return str;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <mango/libc/string.h>
|
||||
#include <kernel/libc/string.h>
|
||||
|
||||
char *strcat(char *dest, const char *src) {
|
||||
size_t start = strlen(dest), i = 0;
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
int strcmp(const char *s1, const char *s2)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; s1[i] == s2[i]; i++)
|
||||
if (s1[i] == '\0')
|
||||
return 0;
|
||||
int i;
|
||||
for (i = 0; s1[i] == s2[i]; i++)
|
||||
if (s1[i] == '\0')
|
||||
return 0;
|
||||
|
||||
return s1[i] - s2[i];
|
||||
return s1[i] - s2[i];
|
||||
}
|
||||
|
||||
int strncmp(const char *s1, const char *s2, unsigned long n)
|
||||
{
|
||||
for (; n > 0; s1++, s2++, --n)
|
||||
if (*s1 != *s2)
|
||||
return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : 1);
|
||||
else if (*s1 == '\0')
|
||||
return 0;
|
||||
return 0;
|
||||
for (; n > 0; s1++, s2++, --n)
|
||||
if (*s1 != *s2)
|
||||
return ((*(unsigned char *)s1 < *(unsigned char *)s2)
|
||||
? -1
|
||||
: 1);
|
||||
else if (*s1 == '\0')
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <mango/libc/string.h>
|
||||
#include <kernel/libc/string.h>
|
||||
|
||||
char *strcpy(char *output, const char *input)
|
||||
{
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
#include <mango/libc/string.h>
|
||||
#include <kernel/libc/string.h>
|
||||
|
||||
size_t strlen(const char *str) {
|
||||
size_t strlen(const char *str)
|
||||
{
|
||||
size_t res = 0;
|
||||
while (str[res]) {
|
||||
res++;
|
||||
}
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <mango/libc/string.h>
|
||||
#include <kernel/libc/string.h>
|
||||
|
||||
char *strrchr(const char *str, int c) {
|
||||
size_t len = strlen(str);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include <limits.h>
|
||||
#include <mango/libc/string.h>
|
||||
#include <kernel/libc/string.h>
|
||||
|
||||
#define ALIGN (sizeof(size_t))
|
||||
#define ONES ((size_t)-1 / UCHAR_MAX)
|
||||
|
||||
Reference in New Issue
Block a user