diff options
| author | Patrick Meyer <meyerpatrick@google.com> | 2021-05-22 20:48:47 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-06-07 19:19:55 +0200 |
| commit | b718257f456d456345e1129b27a9340c91c18f3b (patch) | |
| tree | 1206868c25c2ab1a211711b17757cc501abddf0d /sys/darwin/vnet.txt | |
| parent | e59537be40a9ad863e953e187c14dbde57caf1b1 (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.txt | 106 |
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]] |
