Implemented some basic libc functions and a text console
This commit is contained in:
27
libc/include/socks/libc/ctype.h
Normal file
27
libc/include/socks/libc/ctype.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef SOCKS_LIBC_TYPES_H_
|
||||
#define SOCKS_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);
|
||||
extern int fill_random(unsigned char *buffer, unsigned int size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
32
libc/include/socks/libc/stdio.h
Normal file
32
libc/include/socks/libc/stdio.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef SOCKS_STDIO_H_
|
||||
#define SOCKS_STDIO_H_
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define printf printf_
|
||||
int printf_(const char *format, ...);
|
||||
|
||||
#define sprintf sprintf_
|
||||
int sprintf_(char *buffer, const char *format, ...);
|
||||
|
||||
#define snprintf snprintf_
|
||||
#define vsnprintf vsnprintf_
|
||||
int snprintf_(char *buffer, size_t count, const char *format, ...);
|
||||
int vsnprintf_(char *buffer, size_t count, const char *format, va_list va);
|
||||
|
||||
#define vprintf vprintf_
|
||||
int vprintf_(const char *format, va_list va);
|
||||
|
||||
int fctprintf(void (*out)(char character, void *arg), void *arg, const char*format, ...);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
36
libc/include/socks/libc/string.h
Normal file
36
libc/include/socks/libc/string.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#ifndef SOCKS_LIBC_STRING_H_
|
||||
#define SOCKS_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 int 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 int 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, size_t num);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
Reference in New Issue
Block a user