Add sys_lseek.

This commit is contained in:
Andrius Štikonas 2023-12-28 18:40:35 +00:00
parent 572513c916
commit e894942e52
2 changed files with 7 additions and 2 deletions

View File

@ -134,7 +134,7 @@ int main(int argc, char **argv)
/* Load binary into memory */
int file_size = fseek(file_in, 0, SEEK_END);
char *file_data = malloc(file_size);
char *file_data = calloc(file_size + 0x1000); /* Allocate extra space in case application tries to use it */
rewind(file_in);
fread(file_data, 1, file_size, file_in);
fclose(file_in);

View File

@ -13,7 +13,6 @@ int sys_read(int fd, char* buf, unsigned count, void, void, void)
int sys_write(int fd, char* buf, unsigned count, void, void, void)
{
fputs("write\n", stderr);
return write(fd, buf, count);
}
@ -22,6 +21,11 @@ int sys_open(char* name, int flag, int mode, void, void, void)
return open(name, flag, mode);
}
int sys_lseek(int fd, int offset, int whence, void, void, void)
{
return lseek(fd, offset, whence);
}
void sys_exit(unsigned value, void, void, void, void, void)
{
exit(value);
@ -33,5 +37,6 @@ void init_syscalls()
syscall_table[0] = sys_read;
syscall_table[1] = sys_write;
syscall_table[2] = sys_open;
syscall_table[8] = sys_lseek;
syscall_table[60] = sys_exit;
}