mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-30 00:07:59 +00:00
userspace/libc: implement read, pread, write & pwrite
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
parent
92ef18b412
commit
dfe9bbdbfa
@ -116,10 +116,10 @@ extern "C"
|
|||||||
long int pathconf(const char *, int);
|
long int pathconf(const char *, int);
|
||||||
int pause(void);
|
int pause(void);
|
||||||
int pipe(int[2]);
|
int pipe(int[2]);
|
||||||
ssize_t pread(int, void *, size_t, off_t);
|
ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset);
|
||||||
int pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
|
int pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
|
||||||
ssize_t pwrite(int, const void *, size_t, off_t);
|
ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset);
|
||||||
ssize_t read(int, void *, size_t);
|
ssize_t read(int fildes, void *buf, size_t nbyte);
|
||||||
int readlink(const char *, char *, size_t);
|
int readlink(const char *, char *, size_t);
|
||||||
int rmdir(const char *);
|
int rmdir(const char *);
|
||||||
void *sbrk(intptr_t);
|
void *sbrk(intptr_t);
|
||||||
@ -144,7 +144,7 @@ extern "C"
|
|||||||
int unlink(const char *);
|
int unlink(const char *);
|
||||||
int usleep(useconds_t);
|
int usleep(useconds_t);
|
||||||
pid_t vfork(void);
|
pid_t vfork(void);
|
||||||
ssize_t write(int, const void *, size_t);
|
ssize_t write(int fildes, const void *buf, size_t nbyte);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -229,10 +229,24 @@ export int pause(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
export int pipe(int[2]);
|
export int pipe(int[2]);
|
||||||
export ssize_t pread(int, void *, size_t, off_t);
|
|
||||||
|
export ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset)
|
||||||
|
{
|
||||||
|
return __check_errno(call_pread(fildes, buf, nbyte, offset), -1);
|
||||||
|
}
|
||||||
|
|
||||||
export int pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
|
export int pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
|
||||||
export ssize_t pwrite(int, const void *, size_t, off_t);
|
|
||||||
export ssize_t read(int, void *, size_t);
|
export ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset)
|
||||||
|
{
|
||||||
|
return __check_errno(call_pwrite(fildes, buf, nbyte, offset), -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
export ssize_t read(int fildes, void *buf, size_t nbyte)
|
||||||
|
{
|
||||||
|
return __check_errno(call_read(fildes, buf, nbyte), -1);
|
||||||
|
}
|
||||||
|
|
||||||
export int readlink(const char *, char *, size_t);
|
export int readlink(const char *, char *, size_t);
|
||||||
export int rmdir(const char *);
|
export int rmdir(const char *);
|
||||||
export void *sbrk(intptr_t);
|
export void *sbrk(intptr_t);
|
||||||
@ -278,4 +292,8 @@ export useconds_t ualarm(useconds_t, useconds_t);
|
|||||||
export int unlink(const char *);
|
export int unlink(const char *);
|
||||||
export int usleep(useconds_t);
|
export int usleep(useconds_t);
|
||||||
export pid_t vfork(void);
|
export pid_t vfork(void);
|
||||||
export ssize_t write(int, const void *, size_t);
|
|
||||||
|
export ssize_t write(int fildes, const void *buf, size_t nbyte)
|
||||||
|
{
|
||||||
|
return __check_errno(call_write(fildes, buf, nbyte), -1);
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user