aboutsummaryrefslogtreecommitdiffstats
path: root/sys/darwin/vnet.txt
diff options
context:
space:
mode:
authorPatrick Meyer <meyerpatrick@google.com>2021-05-22 20:48:47 +0200
committerDmitry Vyukov <dvyukov@google.com>2021-06-07 19:19:55 +0200
commitb718257f456d456345e1129b27a9340c91c18f3b (patch)
tree1206868c25c2ab1a211711b17757cc501abddf0d /sys/darwin/vnet.txt
parente59537be40a9ad863e953e187c14dbde57caf1b1 (diff)
sys/darwin: initial syscall definitions
Pretty much ripped from freebsd +/- what isn't applicable to darwin.
Diffstat (limited to 'sys/darwin/vnet.txt')
-rw-r--r--sys/darwin/vnet.txt106
1 files changed, 106 insertions, 0 deletions
diff --git a/sys/darwin/vnet.txt b/sys/darwin/vnet.txt
new file mode 100644
index 000000000..d1a1127b3
--- /dev/null
+++ b/sys/darwin/vnet.txt
@@ -0,0 +1,106 @@
+# Copyright 2021 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+################################################################################
+##################################### IPv4 #####################################
+################################################################################
+
+# https://tools.ietf.org/html/rfc791#section-3.1
+# https://en.wikipedia.org/wiki/IPv4#Header
+# This corresponds to LOCAL_IPV4 ("172.20.%d.170" % pid) in executor/common_bsd.h
+
+ipv4_addr_local {
+ a0 const[0xac, int8]
+ a1 const[0x14, int8]
+ a2 proc[0, 1, int8]
+ a3 const[0xaa, int8]
+} [packed]
+
+# This corresponds to LOCAL_IPV4 ("172.20.%d.187" % pid) in executor/common_bsd.h
+ipv4_addr_remote {
+ a0 const[0xac, int8]
+ a1 const[0x14, int8]
+ a2 proc[0, 1, int8]
+ a3 const[0xbb, int8]
+} [packed]
+
+ipv4_addr [
+# 0.0.0.0
+ empty const[0x0, int32be]
+# 172.20.%d.170
+ local ipv4_addr_local
+# 172.20.%d.187
+ remote ipv4_addr_remote
+# 127.0.0.1
+ loopback const[0x7f000001, int32be]
+# 224.0.0.1
+ multicast1 const[0xe0000001, int32be]
+# 224.0.0.2
+ multicast2 const[0xe0000002, int32be]
+# 255.255.255.255
+ broadcast const[0xffffffff, int32be]
+# random
+ rand_addr int32be
+]
+
+################################################################################
+##################################### IPv6 #####################################
+################################################################################
+
+ipv6_addr_empty {
+ a0 array[const[0x0, int8], 16]
+}
+
+# This corresponds to LOCAL_IPV6 ("fe80::%02hxaa" % pid) in executor/common_bsd.h
+ipv6_addr_local {
+ a0 const[0xfe, int8]
+ a1 const[0x80, int8]
+ a2 array[const[0x0, int8], 12]
+ a3 proc[0, 1, int8]
+ a4 const[0xaa, int8]
+} [packed]
+
+# This corresponds to REMOTE_IPV6 ("fe80::%02hxbb" % pid) in executor/common_bsd.h
+ipv6_addr_remote {
+ a0 const[0xfe, int8]
+ a1 const[0x80, int8]
+ a2 array[const[0x0, int8], 12]
+ a3 proc[0, 1, int8]
+ a4 const[0xbb, int8]
+} [packed]
+
+ipv6_addr_loopback {
+ a0 const[0, int64be]
+ a1 const[1, int64be]
+} [packed]
+
+ipv6_addr_ipv4 {
+ a0 array[const[0x0, int8], 10]
+ a1 array[const[0xff, int8], 2]
+ a3 ipv4_addr
+} [packed]
+
+ipv6_addr_multicast1 {
+ a0 const[0xff, int8]
+ a1 const[0x1, int8]
+ a2 array[const[0x0, int8], 13]
+ a3 const[0x1, int8]
+} [packed]
+
+ipv6_addr_multicast2 {
+ a0 const[0xff, int8]
+ a1 const[0x2, int8]
+ a2 array[const[0x0, int8], 13]
+ a3 const[0x1, int8]
+} [packed]
+
+ipv6_addr [
+ rand_addr array[int8, 16]
+ empty ipv6_addr_empty
+ local ipv6_addr_local
+ remote ipv6_addr_remote
+ loopback ipv6_addr_loopback
+ ipv4 ipv6_addr_ipv4
+ mcast1 ipv6_addr_multicast1
+ mcast2 ipv6_addr_multicast2
+] [size[16]]