diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-12-30 15:49:07 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-12-30 15:49:07 +0100 |
| commit | 5b565c8bdb062fe567a04af40cdba0e929441fe7 (patch) | |
| tree | 096df84a4e61ada78311f7066d84e4b5dce47905 /sys/linux/socket_rxrpc.txt | |
| parent | 9942de5fb06cec2ff4bee69835f336d1bfd839b8 (diff) | |
sys/linux: add AF_RXRPC descriptions
Diffstat (limited to 'sys/linux/socket_rxrpc.txt')
| -rw-r--r-- | sys/linux/socket_rxrpc.txt | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sys/linux/socket_rxrpc.txt b/sys/linux/socket_rxrpc.txt new file mode 100644 index 000000000..91b6a1da5 --- /dev/null +++ b/sys/linux/socket_rxrpc.txt @@ -0,0 +1,37 @@ +# Copyright 2018 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. + +# AF_RXRPC support. + +include <linux/socket.h> +include <linux/net.h> +include <uapi/linux/rxrpc.h> + +resource sock_rxrpc[sock] +type rxrpc_service int16[0:4] + +socket$rxrpc(fam const[AF_RXRPC], type const[SOCK_DGRAM], proto flags[rxrpc_protos]) sock_rxrpc +bind$rxrpc(fd sock_rxrpc, addr ptr[in, sockaddr_rxrpc], addrlen len[addr]) +connect$rxrpc(fd sock_rxrpc, addr ptr[in, sockaddr_rxrpc], addrlen len[addr]) +sendto$rxrpc(fd sock_rxrpc, buf ptr[in, array[int8]], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_rxrpc, opt], addrlen len[addr]) +recvfrom$rxrpc(fd sock_rxrpc, buf ptr[out, array[int8]], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_rxrpc, opt], addrlen len[addr]) +setsockopt$RXRPC_EXCLUSIVE_CONNECTION(fd sock_rxrpc, level const[SOL_RXRPC], opt const[RXRPC_EXCLUSIVE_CONNECTION]) +setsockopt$RXRPC_SECURITY_KEY(fd sock_rxrpc, level const[SOL_RXRPC], opt const[RXRPC_SECURITY_KEY], arg ptr[in, string], arglen len[arg]) +setsockopt$RXRPC_SECURITY_KEYRING(fd sock_rxrpc, level const[SOL_RXRPC], opt const[RXRPC_SECURITY_KEYRING], arg ptr[in, string], arglen len[arg]) +setsockopt$RXRPC_MIN_SECURITY_LEVEL(fd sock_rxrpc, level const[SOL_RXRPC], opt const[RXRPC_MIN_SECURITY_LEVEL], arg ptr[in, int32[RXRPC_SECURITY_PLAIN:RXRPC_SECURITY_ENCRYPT]], arglen len[arg]) +setsockopt$RXRPC_UPGRADEABLE_SERVICE(fd sock_rxrpc, level const[SOL_RXRPC], opt const[RXRPC_UPGRADEABLE_SERVICE], arg ptr[in, array[rxrpc_service, 2]], arglen len[arg]) + +rxrpc_protos = AF_INET, AF_INET6 + +sockaddr_rxrpc [ + in4 sockaddr_rxrpc_t[sockaddr_in] + in6 sockaddr_rxrpc_t[sockaddr_in6] +] + +type sockaddr_rxrpc_t[ADDR] { + srx_family const[AF_RXRPC, int16] + srx_service rxrpc_service + transport_type const[SOCK_DGRAM, int16] + transport_len bytesize[transport, int16] + transport ADDR +} |
