Idan Horowitz
8074157c10
Kernel: Add the IPPROTO_{IGMP, IPIP, RAW} protocol macros
...
These are not implemented currently, but are required for some ports to
compile.
2021-12-05 12:53:29 +01:00
Idan Horowitz
2860637ff3
Kernel: Add the IP_{BLOCK_SOURCE, UNBLOCK_SOURCE, OPTIONS} macros
...
These are not implemented currently, but are required for some ports to
compile.
2021-12-05 12:53:29 +01:00
Idan Horowitz
d18b3eb53d
Kernel: Add the SO_OOBINLINE SOL_SOCKET-level option macro
...
This is not actually implemented, as we don't have any support for
out-of-band right now, but this is required for some ports to compile.
2021-12-05 12:53:29 +01:00
Idan Horowitz
613ade9dec
Kernel: Implement the SO_DONTROUTE SOL_SOCKET-level option
2021-12-05 12:53:29 +01:00
Idan Horowitz
641498954f
Kernel: Implement the SO_ACCEPTCONN SOL_SOCKET-level option
2021-12-05 12:53:29 +01:00
Idan Horowitz
a0e2fedc20
Kernel: Stub out the SO_DEBUG SOL_SOCKET-level option
2021-12-05 12:53:29 +01:00
Idan Horowitz
e521ffd156
Kernel: Add support for the MSG_WAITALL sys$recvmsg flag
2021-12-05 12:53:29 +01:00
Idan Horowitz
5514d60d8d
Kernel: Add support for the MSG_DONTROUTE sys$sendmsg flag
2021-12-05 12:53:29 +01:00
Idan Horowitz
f415218afe
Kernel+LibC: Implement sigaltstack()
...
This is required for compiling wine for serenity
2021-12-01 21:44:11 +02:00
Idan Horowitz
5f95a1a7b7
LibC: Define the MADV_DONTNEED madvise advice macro
...
This isn't actually implemented at the moment, but it is required for
wine to compile
2021-12-01 21:44:11 +02:00
Idan Horowitz
fc13d0782f
LibC: Make the madvise advice field a value instead of a bitfield
...
The advices are almost always exclusive of one another, and while POSIX
does not define madvise, most other unix-like and *BSD systems also only
accept a singular value per call.
2021-12-01 21:44:11 +02:00
Idan Horowitz
48f92f6482
LibC: Add the SIGFPE si_code macros
2021-12-01 21:44:11 +02:00
Andreas Kling
32aa37d5dc
Kernel+LibC: Add msync() system call
...
This allows userspace to trigger a full (FIXME) flush of a shared file
mapping to disk. We iterate over all the mapped pages in the VMObject
and write them out to the underlying inode, one by one. This is rather
naive, and there's lots of room for improvement.
Note that shared file mappings are currently not possible since mmap()
returns ENOTSUP for PROT_WRITE+MAP_SHARED. That restriction will be
removed in a subsequent commit. :^)
2021-11-17 19:34:15 +01:00
Idan Horowitz
a8bd78e634
LibC: Include sys/uio.h in sys/socket.h for struct iovec
2021-10-28 11:24:36 +02:00
Idan Horowitz
2882a90dec
Kernel: Add the IFF_* SIOCGIFFLAGS flag macros
2021-10-28 11:24:36 +02:00
Idan Horowitz
adc9939a7b
Kernel+LibC: Add support for the IPv4 TOS field via the IP_TOS sockopt
2021-10-28 11:24:36 +02:00
Idan Horowitz
c45b1e1983
LibC: Add IPPROTO_ICMPV6 macro
2021-10-28 11:24:36 +02:00
Jelle Raaijmakers
9a6283c524
Kernel: Define PT_READ_I and PT_READ_D
...
Looking at how these two constants are commonly used in other systems,
we should be able to mimic their behavior using our PT_PEEK constant.
For example, see:
https://man.netbsd.org/NetBSD-6.0.1/i386/ptrace.2
2021-09-23 18:51:21 +02:00
Linus Groh
f646d49ac1
Kernel: Add _SC_HOST_NAME_MAX
2021-09-11 00:28:39 +02:00
Rodrigo Tobar
a0ac5c5fc2
Kernel: Define INADDR_BROADCAST constant
...
This is required by some programs, notably python's socket module, which
fails to compile without this definition.
2021-09-09 11:33:45 +02:00
Andreas Kling
4226b662cd
Kernel+Userland: Remove global futexes
...
We only ever use private futexes, so it doesn't make sense to carry
around all the complexity required for global (cross-process) futexes.
2021-08-17 01:21:47 +02:00
Itamar
f3aa87c436
Kernel: Make makedev()/minor()/major() static
...
This was originally done in 7274037
and for some reason reverted in
740140a
.
This avoids "multiple definitions" link errors and fixes the libuv port.
2021-08-16 23:26:52 +02:00
Kenneth Myhra
cb10c62327
LibC: Add SOCK_RDM and SOCK_SEQPACKET to socket.h
2021-08-14 22:32:00 +01:00
Kenneth Myhra
3875e8bd4b
LibC: Add IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP to netin/in.h
2021-08-14 22:32:00 +01:00
Andreas Kling
e1273a8ff7
Kernel+LibC: Share definitions for sys/statvfs.h
2021-08-14 19:58:11 +02:00
Andreas Kling
dfd78b75d8
Kernel+LibC: Share definitions for sched.h
2021-08-14 19:58:11 +02:00
Andreas Kling
c9a5d83ccc
Kernel+LibC: Share definitions for sys/uio.h
2021-08-14 19:58:11 +02:00
Andreas Kling
37e98a55b7
Kernel+LibC: Share definitions for sys/ptrace.h
2021-08-14 19:58:11 +02:00
Andreas Kling
6b6eca0631
Kernel+LibC: Share definitions for sys/time.h
2021-08-14 19:58:11 +02:00
Andreas Kling
35b52338bb
Kernel+LibC: Share definitions for sys/times.h
2021-08-14 19:58:11 +02:00
Andreas Kling
808ce594db
Kernel+LibC: Share definitions for stdio.h
2021-08-14 19:58:11 +02:00
Andreas Kling
9c2212a60a
Kernel+LibC: Share definitions for unistd.h
2021-08-14 19:58:11 +02:00
Andreas Kling
d33b43276c
Kernel+LibC: Share definitions for poll.h
2021-08-14 19:58:11 +02:00
Andreas Kling
d794ed1de7
Kernel+LibC: Share definitions for utsname.h
2021-08-14 19:58:11 +02:00
Andreas Kling
c65a735d71
Kernel+LibC: Share definitions for dirent.h
2021-08-14 19:58:11 +02:00
Andreas Kling
77c2c0f620
Kernel+LibC: Share definitions for serenity.h
2021-08-14 19:58:11 +02:00
Andreas Kling
6f78377864
Kernel+LibC: Share definitions for sys/wait.h
2021-08-14 19:58:11 +02:00
Andreas Kling
661bd992b0
Kernel+LibC: Share definitions for net/{if,if_arp,route}.h
2021-08-14 19:58:11 +02:00
Andreas Kling
ff50122dc5
Kernel+LibC: Share definitions for futex.h
2021-08-14 19:58:11 +02:00
Andreas Kling
6fd7212476
Kernel+LibC: Share definitions for signal.h
2021-08-14 19:58:11 +02:00
Andreas Kling
9dc1350177
Kernel+LibC: Share definitions for netinet/in.h
2021-08-14 19:58:11 +02:00
Andreas Kling
b92e6b02e5
Kernel+LibC: Share definitions for sys/socket.h and sys/un.h
2021-08-14 19:58:11 +02:00
Andreas Kling
d277cdfd4c
Kernel+LibC: Share definitions for termios.h
2021-08-14 19:58:11 +02:00
Andreas Kling
a8d1c2dde9
Kernel+LibC: Share definitions for sys/mman.h
2021-08-14 19:58:11 +02:00
Andreas Kling
0a78056453
Kernel+LibC: Share definitions for time.h and sys/stat.h
2021-08-14 19:58:11 +02:00
Andreas Kling
740140a661
Kernel+LibC: Share definitions in fcntl.h and sys/types.h
...
This patch begins the work of sharing types and macros between Kernel
and LibC instead of duplicating them via the kludge in UnixTypes.h.
The basic idea is that the Kernel vends various POSIX headers via
Kernel/API/POSIX/ and LibC simply #include's them to get the macros.
2021-08-14 19:58:11 +02:00