diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-01-03 17:36:36 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-01-03 17:36:36 +0100 |
| commit | b485b85127bfc3a3afe341145bbb9705a223d4f3 (patch) | |
| tree | 794051bae571b4f4683bd35ef5c7cab652e88e86 /sys/linux/socket_phonet.txt | |
| parent | b2a0884c1bf25c174da2503f81054bb344763f18 (diff) | |
sys/linux: add basic AF_PHONET descriptions
Diffstat (limited to 'sys/linux/socket_phonet.txt')
| -rw-r--r-- | sys/linux/socket_phonet.txt | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/sys/linux/socket_phonet.txt b/sys/linux/socket_phonet.txt new file mode 100644 index 000000000..9c2a19f9d --- /dev/null +++ b/sys/linux/socket_phonet.txt @@ -0,0 +1,42 @@ +# Copyright 2020 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. + +include <linux/socket.h> +include <linux/net.h> +include <uapi/linux/phonet.h> + +resource sock_phonet[sock] +resource sock_phonet_dgram[sock_phonet] +resource sock_phonet_pipe[sock_phonet] + +socket$phonet(domain const[AF_PHONET], type const[SOCK_DGRAM], proto const[PN_PROTO_PHONET]) sock_phonet_dgram +ioctl$SIOCPNADDRESOURCE(fd sock_phonet, cmd const[SIOCPNGETOBJECT], arg ptr[in, int32]) +ioctl$SIOCPNDELRESOURCE(fd sock_phonet_dgram, cmd const[SIOCPNDELRESOURCE], arg ptr[in, int32]) + +socket$phonet_pipe(domain const[AF_PHONET], type const[SOCK_SEQPACKET], proto const[PN_PROTO_PIPE]) sock_phonet_pipe +accept$phonet_pipe(fd sock_phonet_pipe, peer ptr[out, sockaddr_pn, opt], peerlen ptr[inout, len[peer, int32]]) sock_phonet_pipe +accept4$phonet_pipe(fd sock_phonet_pipe, peer ptr[out, sockaddr_pn, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_phonet_pipe +connect$phonet_pipe(fd sock_phonet_pipe, addr ptr[in, sockaddr_pn], addrlen len[addr]) +ioctl$SIOCPNENABLEPIPE(fd sock_phonet_pipe, cmd const[SIOCPNENABLEPIPE], arg const[0]) +setsockopt$PNPIPE_ENCAP(fd sock_phonet_pipe, level const[SOL_PNPIPE], opt const[PNPIPE_ENCAP], val ptr[in, bool32], len bytesize[val]) +getsockopt$PNPIPE_ENCAP(fd sock_phonet_pipe, level const[SOL_PNPIPE], opt const[PNPIPE_ENCAP], val ptr[out, int32], len ptr[inout, len[val, int32]]) +setsockopt$PNPIPE_HANDLE(fd sock_phonet_pipe, level const[SOL_PNPIPE], opt const[PNPIPE_HANDLE], val ptr[in, int32], len bytesize[val]) +getsockopt$PNPIPE_HANDLE(fd sock_phonet_pipe, level const[SOL_PNPIPE], opt const[PNPIPE_HANDLE], val ptr[out, int32], len ptr[inout, len[val, int32]]) +setsockopt$PNPIPE_INITSTATE(fd sock_phonet_pipe, level const[SOL_PNPIPE], opt const[PNPIPE_INITSTATE], val ptr[in, bool32], len bytesize[val]) +getsockopt$PNPIPE_INITSTATE(fd sock_phonet_pipe, level const[SOL_PNPIPE], opt const[PNPIPE_INITSTATE], val ptr[out, int32], len ptr[inout, len[val, int32]]) +getsockopt$PNPIPE_IFINDEX(fd sock_phonet_pipe, level const[SOL_PNPIPE], opt const[PNPIPE_IFINDEX], val ptr[out, ifindex], len ptr[inout, len[val, int32]]) + +# Common operations. + +bind$phonet(fd sock_phonet, addr ptr[in, sockaddr_pn], addrlen len[addr]) +sendto$phonet(fd sock_phonet, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_pn, opt], addrlen len[addr]) +recvfrom$phonet(fd sock_phonet, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_pn, opt], addrlen len[addr]) +ioctl$SIOCPNGETOBJECT(fd sock_phonet, cmd const[SIOCPNGETOBJECT], arg ptr[in, int16]) + +sockaddr_pn { + spn_family const[AF_PHONET, int16] + spn_obj int8 + spn_dev int8 + spn_resource int8 + spn_zero array[const[0, int8], 11] +} [packed] |
