libc

my libc
git clone git://git.evenfri.xyz/libc.git
Log | Files | Refs | README

commit 38c0a5fabe9c6c66d1364a1b29761f4dc89b5f1b
parent 422fc9d3e9ffc3dacb72e8074c5c2b0cf3b2fb2a
Author: evenfri <evenfri256@gmail.com>
Date:   Sun, 13 Sep 2026 17:50:08 +0800

lower case to upper case

Diffstat:
M_exit.c | 2+-
Mchdir.c | 2+-
Mclose.c | 2+-
Mexecve.c | 2+-
Mfork.c | 4+---
Mgetcwd.c | 2+-
Mgetdents.c | 2+-
Mlibc.h | 79+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Mmalloc.c | 12++++++------
Mmkdir.c | 2+-
Mmmap.c | 2+-
Mmount.c | 17+++++++----------
Mmunmap.c | 2+-
Mopen.c | 2+-
Mread.c | 2+-
Mrmdir.c | 2+-
Msyscall.c | 14+++++++-------
Munlink.c | 2+-
Mutime.c | 2+-
Mwaitpid.c | 2+-
Mwrite.c | 2+-
21 files changed, 78 insertions(+), 80 deletions(-)

diff --git a/_exit.c b/_exit.c @@ -6,7 +6,7 @@ #include "libc.h" void _exit(int status) { - syscall(sys_exit, status); + syscall(SYS_exit, status); for (;;) {} } diff --git a/chdir.c b/chdir.c @@ -6,7 +6,7 @@ #include "libc.h" int chdir(const char *path) { - int ret = syscall(sys_chdir, path); + int ret = syscall(SYS_chdir, path); if (ret < 0) { errno = -ret; diff --git a/close.c b/close.c @@ -6,7 +6,7 @@ #include "libc.h" int close(int fd) { - int ret = syscall(sys_close, fd); + int ret = syscall(SYS_close, fd); if (ret < 0) { errno = -ret; diff --git a/execve.c b/execve.c @@ -6,7 +6,7 @@ #include "libc.h" int execve(const char *path, char *const argv[], char *const envp[]) { - int ret = syscall(sys_execve, path, argv, envp); + int ret = syscall(SYS_execve, path, argv, envp); if (ret < 0) { errno = -ret; diff --git a/fork.c b/fork.c @@ -5,10 +5,8 @@ #include "libc.h" -#define sigchld 17 - int fork(void) { - int ret = syscall(sys_clone, (long)sigchld, 0L, 0L, 0L, 0L); + int ret = syscall(SYS_clone, (long)SIGCHLD, 0L, 0L, 0L, 0L); if (ret < 0) { errno = -ret; diff --git a/getcwd.c b/getcwd.c @@ -6,7 +6,7 @@ #include "libc.h" char *getcwd(char *buf, size_t size) { - int ret = syscall(sys_getcwd, buf, size); + int ret = syscall(SYS_getcwd, buf, size); if (ret < 0) { errno = -ret; diff --git a/getdents.c b/getdents.c @@ -6,7 +6,7 @@ #include "libc.h" int getdents64(int fd, struct linux_dirent64 *dirp, unsigned int count) { - int ret = syscall(sys_getdents64, fd, (long)dirp, count); + int ret = syscall(SYS_getdents64, fd, (long)dirp, count); if (ret < 0) { errno = -ret; return -1; diff --git a/libc.h b/libc.h @@ -3,8 +3,8 @@ * Copyright (C) 2026. All rights reserved. */ -#ifndef libc_h -#define libc_h +#ifndef LIBC_H +#define LIBC_H /* base types */ typedef unsigned long size_t; @@ -15,10 +15,14 @@ typedef long ssize_t; #define NULL ((void*)0) #endif -#define stdin 0 +#define stdin 0 #define stdout 1 #define stderr 2 +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + struct linux_dirent64 { unsigned long d_ino; long d_off; @@ -27,41 +31,43 @@ struct linux_dirent64 { char d_name[]; }; +#define SIGCHLD 17 + /* open flags */ -#define o_rdonly 00 -#define o_wronly 01 -#define o_rdwr 02 -#define o_creat 0100 -#define o_excl 0x800 -#define o_directory 0200000 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 0100 +#define O_EXCL 0x800 +#define O_DIRECTORY 0200000 /* syscall numbers */ -#define sys_read 0 -#define sys_write 1 -#define sys_open 2 -#define sys_close 3 -#define sys_mmap 9 -#define sys_munmap 11 -#define sys_brk 12 -#define sys_utime 30 -#define sys_clone 56 -#define sys_execve 59 -#define sys_exit 60 -#define sys_waitpid 61 -#define sys_getcwd 79 -#define sys_chdir 80 -#define sys_mkdir 83 -#define sys_rmdir 84 -#define sys_unlink 87 -#define sys_mount 165 -#define sys_getdents64 217 +#define SYS_read 0 +#define SYS_write 1 +#define SYS_open 2 +#define SYS_close 3 +#define SYS_mmap 9 +#define SYS_munmap 11 +#define SYS_brk 12 +#define SYS_utime 30 +#define SYS_clone 56 +#define SYS_execve 59 +#define SYS_exit 60 +#define SYS_waitpid 61 +#define SYS_getcwd 79 +#define SYS_chdir 80 +#define SYS_mkdir 83 +#define SYS_rmdir 84 +#define SYS_unlink 87 +#define SYS_mount 165 +#define SYS_getdents64 217 /* mmap flags */ -#define prot_read 0x1 -#define prot_write 0x2 -#define map_private 0x02 -#define map_anonymous 0x20 -#define map_failed ((void*)-1) +#define PROT_READ 0x1 +#define PROT_WRITE 0x2 +#define MAP_PRIVATE 0x02 +#define MAP_ANONYMOUS 0x20 +#define MAP_FAILED ((void*)-1) /* variables */ extern char **environ; @@ -84,10 +90,7 @@ int fork(void); int waitpid(int pid, int *status, int options); /* fs */ -int mount(const char *source, - const char *target, - const char *filesystemtype, - ulong_t mountflags, +int mount(const char *src, const char *trg, const char *fstype, ulong_t flags, const void *data); int chdir(const char *path); int mkdir(const char *path, unsigned int mode); @@ -125,4 +128,4 @@ char* strtok(char *str, const char *delim); /* errno */ extern int errno; -#endif /* libc_h */ +#endif /* LIBC_H */ diff --git a/malloc.c b/malloc.c @@ -5,8 +5,8 @@ #include "libc.h" -#define align_size 16 -#define align_mask (align_size - 1) +#define ALIGN_SIZE 16 +#define ALIGN_MASK (ALIGN_SIZE - 1) struct block_header { size_t size; @@ -19,7 +19,7 @@ typedef struct block_header block_header_t; static block_header_t *free_list = NULL; static size_t align(size_t n) { - return (n + align_mask) & ~align_mask; + return (n + ALIGN_MASK) & ~ALIGN_MASK; } void* malloc(size_t size) { @@ -42,11 +42,11 @@ void* malloc(size_t size) { size_t alloc_size = total_size < 4096 ? 4096 : total_size; block_header_t *block = mmap(NULL, alloc_size, - prot_read | prot_write, - map_private | map_anonymous, + PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); - if (block == map_failed) { + if (block == MAP_FAILED) { return NULL; } diff --git a/mkdir.c b/mkdir.c @@ -6,7 +6,7 @@ #include "libc.h" int mkdir(const char *path, unsigned int mode) { - int ret = syscall(sys_mkdir, path, mode); + int ret = syscall(SYS_mkdir, path, mode); if (ret < 0) { errno = -ret; diff --git a/mmap.c b/mmap.c @@ -6,7 +6,7 @@ #include "libc.h" void* mmap(void *addr, size_t length, int prot, int flags, int fd, long offset) { - long ret = syscall(sys_mmap, addr, length, prot, (long)flags, (long)fd, + long ret = syscall(SYS_mmap, addr, length, prot, (long)flags, (long)fd, offset); if (ret < 0) { diff --git a/mount.c b/mount.c @@ -5,17 +5,14 @@ #include "libc.h" -int mount(const char *source, - const char *target, - const char *filesystemtype, - ulong_t mountflags, - const void *data) { +int mount(const char *src, const char *trg, const char *fstype, ulong_t flags, + const void *data) { - int ret = syscall(sys_mount, - source, - target, - filesystemtype, - mountflags, + int ret = syscall(SYS_mount, + src, + trg, + fstype, + flags, data); if (ret < 0) { diff --git a/munmap.c b/munmap.c @@ -6,7 +6,7 @@ #include "libc.h" int munmap(void *addr, size_t length) { - long ret = syscall(sys_munmap, addr, length); + long ret = syscall(SYS_munmap, addr, length); if (ret < 0) { errno = -ret; diff --git a/open.c b/open.c @@ -6,7 +6,7 @@ #include "libc.h" int open(const char *filename, int flags, int mode) { - int ret = syscall(sys_open, filename, flags, mode); + int ret = syscall(SYS_open, filename, flags, mode); if (ret < 0) { errno = -ret; diff --git a/read.c b/read.c @@ -6,7 +6,7 @@ #include "libc.h" ssize_t read(int fd, void *buf, size_t count) { - int ret = syscall(sys_read, fd, buf, count); + int ret = syscall(SYS_read, fd, buf, count); if (ret < 0) { errno = -ret; diff --git a/rmdir.c b/rmdir.c @@ -6,7 +6,7 @@ #include "libc.h" int rmdir(const char *path) { - int ret = syscall(sys_rmdir, path); + int ret = syscall(SYS_rmdir, path); if (ret < 0) { errno = -ret; diff --git a/syscall.c b/syscall.c @@ -8,16 +8,16 @@ static inline long call(long n, long a1, long a2, long a3, long a4, long a5, long a6) { - unsigned long ret; + unsigned long ret; - register long r10 __asm__("r10") = a4; - register long r8 __asm__("r8") = a5; - register long r9 __asm__("r9") = a6; + register long r10 __asm__("r10") = a4; + register long r8 __asm__("r8") = a5; + register long r9 __asm__("r9") = a6; - __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2), - "d"(a3), "r"(r10), "r"(r8), "r"(r9) : "rcx", "r11", "memory"); + __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2), + "d"(a3), "r"(r10), "r"(r8), "r"(r9) : "rcx", "r11", "memory"); - return ret; + return ret; } long syscall(long num, ...) { diff --git a/unlink.c b/unlink.c @@ -6,7 +6,7 @@ #include "libc.h" int unlink(const char *path) { - int ret = syscall(sys_unlink, path); + int ret = syscall(SYS_unlink, path); if (ret < 0) { errno = -ret; diff --git a/utime.c b/utime.c @@ -6,7 +6,7 @@ #include "libc.h" int utime(const char *path, const struct utimbuf *times) { - int ret = syscall(sys_utime, path, times); + int ret = syscall(SYS_utime, path, times); if (ret < 0) { errno = -ret; return -1; diff --git a/waitpid.c b/waitpid.c @@ -6,7 +6,7 @@ #include "libc.h" int waitpid(int pid, int *status, int options) { - int ret = syscall(sys_waitpid, pid, status, options); + int ret = syscall(SYS_waitpid, pid, status, options); if (ret < 0) { errno = -ret; diff --git a/write.c b/write.c @@ -6,7 +6,7 @@ #include "libc.h" ssize_t write(int fd, const void *buf, size_t count) { - int ret = syscall(sys_write, fd, buf, count); + int ret = syscall(SYS_write, fd, buf, count); if (ret < 0) { errno = -ret;