71 Commits

Author SHA1 Message Date
Theodore Dubois a3f58a23ae Move emu/memory.[ch] to kernel/
A long time ago, for linux, emu and kernel were separated into separate
library targets, but for some reason memory.c was kept in emu/ despite
only being linked into kernel. Now's a good time to move it where it
belongs.
2024-11-07 21:38:17 -08:00
Theodore Dubois e7ba8f306f Add real implementation of statx
Fixes #2418
2024-10-20 18:24:12 -07:00
Theodore Dubois e737c8fd7f Achieve terminal output 2021-09-05 10:00:47 -07:00
Theodore Dubois f2054ad900 Split out a bit of fakefs 2021-06-27 09:52:24 -07:00
Saagar Jha 5c223f552f Fix warnings 2020-11-11 00:27:44 -08:00
Theodore Dubois aa8810cb8f Implement FIOCLEX/FIONCLEX
Node seems to use these archaic phrasings of CLOEXEC. This fixes the
Node inspector immediately closing any connections it gets. #90
2020-06-25 01:01:27 -07:00
Theodore Dubois f5db347ac3 Hack around Darwin sometimes returning POLLPRI on pipes
elinks would call select(), assume from the result that some internal
pipe had closed, and just exit.
2020-05-22 22:30:50 -07:00
Theodore Dubois 33ea7c8327 Make iosfs unsafe into a mount option 2020-04-12 17:07:47 -07:00
Theodore Dubois 7d58fc8186 Bug fixes and performance improvements 2020-04-12 14:42:06 -07:00
Theodore Dubois a3e0e9f104 Move realfs functions to fs/real.h 2020-04-12 13:18:41 -07:00
Theodore Dubois 1452a7f70b Dynamically register iOS filesystem 2020-04-12 13:18:41 -07:00
NoahPeeters 68340acd03 Add support for mounting folders from iOS 2020-04-12 13:18:41 -07:00
Brian Almeida 910bbc398c Fix lockfile flag checks 2020-02-26 06:52:42 -05:00
Theodore Dubois 823647b5a4 Implement read parts of tmpfs 2020-02-17 13:10:03 -08:00
Theodore Dubois e17b822519 Make most fs_ops optional, and mark the required ones 2020-02-03 00:43:54 -08:00
Theodore Dubois 6b5a14850c Implement mknodat 2020-02-02 22:35:58 -08:00
Theodore Dubois 0a01c66563 Implement FIONREAD for real files and sockets
Fixes #607
2020-01-20 11:26:12 -08:00
Theodore Dubois dbc77285b8 Remove follow_links argument of fd_ops.stat
Only realfs was using it, and it wasn't really necessary there since
path_normalize already followed the last symlink if needed.
2019-12-29 14:18:26 -08:00
Theodore Dubois d57b6d26fa Fix race between inode_release and generic_open
https://gist.github.com/tbodt/e92b86d8ddf0b79114703a24d7e99e68
2019-11-24 15:27:51 -08:00
Theodore Dubois 635a8437f8 Add a bunch of half-assed permission checks 2019-07-28 21:04:38 -07:00
Theodore Dubois cc08b17c48 Add flags option to mount 2019-05-01 18:12:58 -07:00
Theodore Dubois 9be954bc87 Unbreak fstat on deleted files 2019-03-30 20:07:53 -07:00
Theodore Dubois ebedb470d0 Implement O_DIRECTORY
Fixes #341
2019-03-09 17:08:29 -08:00
Theodore Dubois 74c5d7cec6 Create inode data owned by fds 2019-01-29 15:02:48 -08:00
Theodore Dubois 724d5f2202 Make it possible to sanely edit files through the file provider 2019-01-29 13:06:52 -08:00
Theodore Dubois dc8b4b4aef Autoincrement fake inodes, remove relationship with real inodes 2019-01-26 22:02:08 -08:00
Theodore Dubois 088e7b727d Implement ptys
Also a bunch of somewhat related changes, I was too lazy to break this into more than one commit
2019-01-21 12:20:43 -08:00
Theodore Dubois ff83d8e267 Fix fd leaks on device nodes 2019-01-11 14:28:29 -05:00
Theodore Dubois 8eb4b800a5 Implement /proc/pid/fd, /proc/self 2019-01-03 13:50:08 -08:00
Theodore Dubois ca3dd4a4ad Make statfs less broken 2018-12-27 16:25:33 -08:00
Theodore Dubois f94d222300 Implement procfs with just /proc/version 2018-12-23 20:40:14 -08:00
Theodore Dubois f8028736b4 Make mounting filesystems possible 2018-12-22 19:38:41 -08:00
Theodore Dubois 4ba6da7635 Implement FIONREAD for ttys 2018-12-10 12:39:29 -08:00
Theodore Dubois cfe23cceba Fix mknod on Darwin 2018-12-07 12:47:40 -08:00
Theodore Dubois 852a04d07f Implement generic mknod 2018-12-07 09:48:25 -08:00
Theodore Dubois f869a57498 Switch to SQLite for file metadata database 2018-11-30 09:13:57 -08:00
Theodore Dubois 2b35a6e9e6 Implement ioctl(FIONBIO) 2018-11-16 14:38:32 -08:00
Theodore Dubois d679605b03 Merge pull request #65 from lunixbochs/patch3-fcntl_setfl
implement fcntl F_SETFL
2018-11-16 14:05:24 -08:00
Theodore Dubois 7f74a54fd0 Implement pipe2 with O_CLOEXEC 2018-11-16 13:59:49 -08:00
Theodore Dubois 6a035e9186 Fix "function declaration is not a prototype" warnings 2018-11-14 17:13:22 -08:00
Ryan Hileman 7e056f4e0e implement fcntl F_SETFL 2018-11-12 14:44:11 -08:00
Theodore Dubois 1bceb67ef0 Handle F_GETFL which is necessary for printf to work 2018-11-11 11:43:12 -08:00
SEProblem 3d5f42c106 Implement sys_faccessat (call: 307) 2018-10-29 15:17:52 -07:00
Theodore Dubois b06be929d2 Pass through O_TRUNC and O_APPEND 2018-10-08 12:27:55 -07:00
Theodore Dubois e170446cc4 Store the adhoc stat info in the fd 2018-10-08 11:43:54 -07:00
Theodore Dubois b1e34968e8 Implement readlinkat 2018-09-26 09:24:15 -07:00
Theodore Dubois b1ff0a31fc Implement futimens 2018-08-12 20:35:00 -07:00
Theodore Dubois da011d9752 Reimplement truncate, correctly this time 2018-02-04 20:23:01 -08:00
Theodore Dubois eddf023669 Move pwd, root, uname out into its own struct 2018-01-21 17:24:32 -08:00
Theodore Dubois 728ca235c0 Replace files array with fdtable structure 2018-01-15 19:18:38 -08:00