this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Added stub implementations for HFS semantics syscalls

+114
+1
src/kernel/emulation/linux/CMakeLists.txt
··· 88 88 stat/rmdir.c 89 89 stat/common.c 90 90 synch/semwait_signal.c 91 + hfs/stub.c 91 92 dirent/getdirentries.c 92 93 time/gettimeofday.c 93 94 time/utimes.c
+4
src/kernel/emulation/linux/hfs/README
··· 1 + This directory contains system calls specified as "calls to support HFS/HFS Plus file system semantics". 2 + 3 + We cannot ignore these syscalls, because users don't expect the ENOSYS error. Instead, we return ENOTSUP indicating the filesystem doesn't support this operation. 4 +
+76
src/kernel/emulation/linux/hfs/stub.c
··· 1 + #include "stub.h" 2 + #include "../base.h" 3 + #include "../errno.h" 4 + #include <asm/unistd.h> 5 + #include "../../../../../platform-include/sys/errno.h" 6 + 7 + long sys_mkcomplex() 8 + { 9 + return -ENOTSUP; 10 + } 11 + 12 + long sys_statv() 13 + { 14 + return -ENOTSUP; 15 + } 16 + 17 + long sys_lstatv() 18 + { 19 + return -ENOTSUP; 20 + } 21 + 22 + long sys_fstatv() 23 + { 24 + return -ENOTSUP; 25 + } 26 + 27 + 28 + // We could support the following four syscalls 29 + // because darling-dmg exports at least some 30 + // of this metadata. 31 + long sys_getattrlist() 32 + { 33 + return -ENOTSUP; 34 + } 35 + 36 + long sys_setattrlist() 37 + { 38 + return -ENOTSUP; 39 + } 40 + 41 + long sys_fgetattrlist() 42 + { 43 + return -ENOTSUP; 44 + } 45 + 46 + long sys_fsetattrlist() 47 + { 48 + return -ENOTSUP; 49 + } 50 + 51 + long sys_getdirentriesattr() 52 + { 53 + return -ENOTSUP; 54 + } 55 + 56 + long sys_exchangedata() 57 + { 58 + return -ENOTSUP; 59 + } 60 + 61 + long sys_searchfs() 62 + { 63 + return -ENOTSUP; 64 + } 65 + 66 + long sys_delete() 67 + { 68 + return -ENOTSUP; 69 + } 70 + 71 + long sys_copyfile() 72 + { 73 + return -ENOTSUP; 74 + } 75 + 76 +
+19
src/kernel/emulation/linux/hfs/stub.h
··· 1 + #ifndef LINUX_HFS_STUB_H 2 + #define LINUX_HFS_STUB_H 3 + 4 + long sys_mkcomplex(); 5 + long sys_statv(); 6 + long sys_lstatv(); 7 + long sys_fstatv(); 8 + long sys_getattrlist(); 9 + long sys_setattrlist(); 10 + long sys_getdirentriesattr(); 11 + long sys_exchangedata(); 12 + long sys_searchfs(); 13 + long sys_delete(); 14 + long sys_copyfile(); 15 + long sys_fgetattrlist(); 16 + long sys_fsetattrlist(); 17 + 18 + #endif 19 +
+14
src/kernel/emulation/linux/syscalls.c
··· 78 78 #include "process/vfork.h" 79 79 #include "process/fork.h" 80 80 #include "wqueue/bsdthread_register.h" 81 + #include "hfs/stub.h" 81 82 82 83 void* __bsd_syscall_table[512] = { 83 84 [1] = sys_exit, ··· 156 157 [199] = sys_lseek, 157 158 [201] = sys_ftruncate, 158 159 [202] = sys_sysctl, 160 + [216] = sys_mkcomplex, 161 + [217] = sys_statv, 162 + [218] = sys_lstatv, 163 + [219] = sys_fstatv, 164 + [220] = sys_getattrlist, 165 + [221] = sys_setattrlist, 166 + [222] = sys_getdirentriesattr, 167 + [223] = sys_exchangedata, 168 + [225] = sys_searchfs, 169 + [226] = sys_delete, 170 + [227] = sys_copyfile, 171 + [228] = sys_fgetattrlist, 172 + [229] = sys_fsetattrlist, 159 173 [334] = sys_semwait_signal, 160 174 [338] = sys_stat64, 161 175 [339] = sys_fstat64,