Home | History | Annotate | Download | only in linux
      1 # Copyright 2016 syzkaller project authors. All rights reserved.
      2 # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
      3 
      4 include <linux/net.h>
      5 include <linux/netrom.h>
      6 include <asm/ioctls.h>
      7 
      8 resource sock_netrom[sock]
      9 
     10 socket$netrom(domain const[AF_NETROM], type const[SOCK_SEQPACKET], proto const[0]) sock_netrom
     11 bind$netrom(fd sock_netrom, addr ptr[in, sockaddr_netrom], addrlen len[addr])
     12 connect$netrom(fd sock_netrom, addr ptr[in, sockaddr_netrom], addrlen len[addr])
     13 accept$netrom(fd sock_netrom, peer ptr[out, sockaddr_netrom, opt], peerlen ptr[inout, len[peer, int32]]) sock_netrom
     14 accept4$netrom(fd sock_netrom, peer ptr[out, sockaddr_netrom, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_netrom
     15 listen$netrom(fd sock_netrom, backlog int32)
     16 sendmsg$netrom(fd sock_netrom, msg ptr[in, msghdr_netrom], f flags[send_flags])
     17 recvmsg$netrom(fd sock_netrom, msg ptr[in, msghdr_netrom], f flags[recv_flags])
     18 getsockname$netrom(fd sock_netrom, addr ptr[out, sockaddr_netrom], addrlen ptr[inout, len[addr, int32]])
     19 getpeername$netrom(fd sock_netrom, peer ptr[out, sockaddr_netrom], peerlen ptr[inout, len[peer, int32]])
     20 
     21 setsockopt$netrom_NETROM_T1(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_T1], arg ptr[in, int32], arglen len[arg])
     22 setsockopt$netrom_NETROM_T2(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_T2], arg ptr[in, int32], arglen len[arg])
     23 setsockopt$netrom_NETROM_N2(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_N2], arg ptr[in, int32], arglen len[arg])
     24 setsockopt$netrom_NETROM_T4(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_T4], arg ptr[in, int32], arglen len[arg])
     25 setsockopt$netrom_NETROM_IDLE(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_IDLE], arg ptr[in, int32], arglen len[arg])
     26 
     27 getsockopt$netrom_NETROM_T1(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_T1], arg ptr[out, int32], arglen ptr[inout, len[arg, int32]])
     28 getsockopt$netrom_NETROM_T2(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_T2], arg ptr[in, int32], arglen ptr[inout, len[arg, int32]])
     29 getsockopt$netrom_NETROM_N2(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_N2], arg ptr[in, int32], arglen ptr[inout, len[arg, int32]])
     30 getsockopt$netrom_NETROM_T4(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_T4], arg ptr[in, int32], arglen ptr[inout, len[arg, int32]])
     31 getsockopt$netrom_NETROM_IDLE(fd sock_netrom, level const[SOL_NETROM], opt const[NETROM_IDLE], arg ptr[in, int32], arglen ptr[inout, len[arg, int32]])
     32 
     33 # TODO: make these more generic
     34 ioctl$sock_netrom_TIOCOUTQ(fd sock_netrom, cmd const[TIOCOUTQ], arg ptr[out, int32])
     35 ioctl$sock_netrom_TIOCINQ(fd sock_netrom, cmd const[TIOCINQ], arg ptr[out, int32])
     36 ioctl$sock_netrom_SIOCGSTAMP(fd sock_netrom, cmd const[SIOCGSTAMP], arg ptr[out, int32])
     37 ioctl$sock_netrom_SIOCGSTAMPNS(fd sock_netrom, cmd const[SIOCGSTAMPNS], arg ptr[out, int32])
     38 ioctl$sock_netrom_SIOCADDRT(fd sock_netrom, cmd const[SIOCADDRT], arg ptr[out, int32])
     39 
     40 sockaddr_netrom [
     41 	ax25	sockaddr_ax25
     42 	full	full_sockaddr_ax25
     43 ] [varlen]
     44 
     45 msghdr_netrom {
     46 	addr	ptr[in, sockaddr_netrom]
     47 	addrlen	len[addr, int32]
     48 	vec	ptr[in, array[iovec_in]]
     49 	vlen	len[vec, intptr]
     50 	ctrl	ptr[in, array[cmsghdr], opt]
     51 	ctrllen	bytesize[ctrl, intptr]
     52 	f	flags[send_flags, int32]
     53 }
     54