feat(userspace/libc): implement brk(), chdir() and getcwd()

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
2025-03-21 02:01:57 +00:00
parent 36bb7b7a88
commit 7087ce7ec5
5 changed files with 53 additions and 9 deletions

View File

@ -66,5 +66,9 @@ int sysdep(LStat)(const char *Pathname, struct stat *Statbuf);
int sysdep(Truncate)(const char *Pathname, off_t Length);
int sysdep(MakeDirectory)(const char *Pathname, mode_t Mode);
int sysdep(ProcessControl)(unsigned long Option, unsigned long Arg1, unsigned long Arg2, unsigned long Arg3, unsigned long Arg4);
int sysdep(ChangeDirectory)(const char *Pathname);
char *sysdep(GetWorkingDirectory)(char *Buffer, size_t Size);
int sysdep(Brk)(void *Address);
int sysdep(FileControl)(int Descriptor, int Command, void *Arg);
#endif // FENNIX_BITS_LIBC_H

View File

@ -61,8 +61,8 @@ extern "C"
int access(const char *path, int amode);
unsigned int alarm(unsigned int seconds);
int brk(void *);
int chdir(const char *);
int brk(void *addr);
int chdir(const char *path);
int chroot(const char *);
int chown(const char *, uid_t, gid_t);
int close(int fildes);
@ -87,7 +87,7 @@ extern "C"
long int fpathconf(int, int);
int fsync(int);
int ftruncate(int, off_t);
char *getcwd(char *, size_t);
char *getcwd(char *buf, size_t size);
int getdtablesize(void);
gid_t getegid(void);
uid_t geteuid(void);
@ -122,7 +122,7 @@ extern "C"
ssize_t read(int fildes, void *buf, size_t nbyte);
int readlink(const char *, char *, size_t);
int rmdir(const char *);
void *sbrk(intptr_t);
void *sbrk(intptr_t incr);
int setgid(gid_t);
int setpgid(pid_t, pid_t);
pid_t setpgrp(void);