Add sys_lseek.
This commit is contained in:
parent
572513c916
commit
e894942e52
|
@ -134,7 +134,7 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
/* Load binary into memory */
|
/* Load binary into memory */
|
||||||
int file_size = fseek(file_in, 0, SEEK_END);
|
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);
|
rewind(file_in);
|
||||||
fread(file_data, 1, file_size, file_in);
|
fread(file_data, 1, file_size, file_in);
|
||||||
fclose(file_in);
|
fclose(file_in);
|
||||||
|
|
|
@ -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)
|
int sys_write(int fd, char* buf, unsigned count, void, void, void)
|
||||||
{
|
{
|
||||||
fputs("write\n", stderr);
|
|
||||||
return write(fd, buf, count);
|
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);
|
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)
|
void sys_exit(unsigned value, void, void, void, void, void)
|
||||||
{
|
{
|
||||||
exit(value);
|
exit(value);
|
||||||
|
@ -33,5 +37,6 @@ void init_syscalls()
|
||||||
syscall_table[0] = sys_read;
|
syscall_table[0] = sys_read;
|
||||||
syscall_table[1] = sys_write;
|
syscall_table[1] = sys_write;
|
||||||
syscall_table[2] = sys_open;
|
syscall_table[2] = sys_open;
|
||||||
|
syscall_table[8] = sys_lseek;
|
||||||
syscall_table[60] = sys_exit;
|
syscall_table[60] = sys_exit;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue