kernel: libc: add headers

This commit is contained in:
2026-02-19 19:21:15 +00:00
parent aa9439c392
commit dbc7b8fc59
3 changed files with 83 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
#ifndef KERNEL_LIBC_TYPES_H_
#define KERNEL_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

View File

@@ -0,0 +1,21 @@
#ifndef KERNEL_STDIO_H_
#define KERNEL_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

View File

@@ -0,0 +1,36 @@
#ifndef KERNEL_LIBC_STRING_H_
#define KERNEL_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