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:
2026-02-19 18:54:48 +00:00
parent e3dd48a0fa
commit 6019c9307d
117 changed files with 1361 additions and 3845 deletions

View File

@@ -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)
{

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -1,4 +1,4 @@
#include <mango/libc/string.h>
#include <kernel/libc/string.h>
char *strcpy(char *output, const char *input)
{

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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)