blob: 938410bd8a2637f80c33743a2276cb299d271e2d [file] [log] [blame]
# 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.
include <linux/socket.h>
include <linux/net.h>
include <uapi/linux/x25.h>
include <net/x25.h>
resource sock_x25[sock]
syz_init_net_socket$x25(domain const[AF_X25], type const[SOCK_SEQPACKET], proto const[0]) sock_x25
bind$x25(fd sock_x25, addr ptr[in, sockaddr_x25], addrlen len[addr])
connect$x25(fd sock_x25, addr ptr[in, sockaddr_x25], addrlen len[addr])
accept4$x25(fd sock_x25, peer ptr[out, sockaddr_x25, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_x25
sendto$x25(fd sock_x25, buf ptr[in, array[int8]], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_x25, opt], addrlen len[addr])
recvfrom$x25(fd sock_x25, buf ptr[out, array[int8]], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_x25, opt], addrlen len[addr])
setsockopt$X25_QBITINCL(fd sock_x25, level const[SOL_X25], opt const[X25_QBITINCL], arg ptr[in, bool32], arglen len[arg])
getsockopt$X25_QBITINCL(fd sock_x25, level const[SOL_X25], opt const[X25_QBITINCL], arg ptr[out, int32], arglen ptr[inout, len[arg, int32]])
ioctl$sock_x25_SIOCADDRT(fd sock_x25, cmd const[SIOCADDRT], arg ptr[in, x25_route_struct])
ioctl$sock_x25_SIOCDELRT(fd sock_x25, cmd const[SIOCDELRT], arg ptr[in, x25_route_struct])
ioctl$SIOCX25GSUBSCRIP(fd sock_x25, cmd const[SIOCX25GSUBSCRIP], arg ptr[in, x25_subscrip_struct])
ioctl$SIOCX25SSUBSCRIP(fd sock_x25, cmd const[SIOCX25SSUBSCRIP], arg ptr[in, x25_subscrip_struct])
ioctl$SIOCX25GFACILITIES(fd sock_x25, cmd const[SIOCX25GFACILITIES], arg ptr[out, x25_facilities])
ioctl$SIOCX25SFACILITIES(fd sock_x25, cmd const[SIOCX25SFACILITIES], arg ptr[in, x25_facilities])
ioctl$SIOCX25GDTEFACILITIES(fd sock_x25, cmd const[SIOCX25GDTEFACILITIES], arg ptr[out, x25_dte_facilities])
ioctl$SIOCX25SDTEFACILITIES(fd sock_x25, cmd const[SIOCX25SDTEFACILITIES], arg ptr[in, x25_dte_facilities])
ioctl$SIOCX25GCALLUSERDATA(fd sock_x25, cmd const[SIOCX25GCALLUSERDATA], arg ptr[in, x25_calluserdata])
ioctl$SIOCX25SCALLUSERDATA(fd sock_x25, cmd const[SIOCX25SCALLUSERDATA], arg ptr[in, x25_calluserdata])
ioctl$SIOCX25GCAUSEDIAG(fd sock_x25, cmd const[SIOCX25GCAUSEDIAG], arg ptr[in, x25_causediag])
ioctl$SIOCX25SCAUSEDIAG(fd sock_x25, cmd const[SIOCX25SCAUSEDIAG], arg ptr[in, x25_causediag])
ioctl$SIOCX25SCUDMATCHLEN(fd sock_x25, cmd const[SIOCX25SCUDMATCHLEN], arg ptr[in, x25_subaddr])
ioctl$SIOCX25CALLACCPTAPPRV(fd sock_x25, cmd const[SIOCX25CALLACCPTAPPRV])
ioctl$SIOCX25SENDCALLACCPT(fd sock_x25, cmd const[SIOCX25SENDCALLACCPT])
sockaddr_x25 {
sx25_family const[AF_X25, int16]
sx25_addr x25_address
}
x25_address [
null x25_address_null
remote x25_address_remote
]
type x25_address_null string[" "]
x25_address_remote {
prefix array[const[0xcc, int8], 14]
id proc[0x20, 4, int8]
z const[0, int8]
}
x25_route_struct {
address x25_address
sigdigits int32[0:15]
device string[devnames, 200]
}
x25_subscrip_struct {
device string[devnames, X25_SUBSCRIP_DEVICE_SIZE]
global_facil_mask intptr
extended int32
}
define X25_SUBSCRIP_DEVICE_SIZE 200 - sizeof(long)
x25_facilities {
winsize_in int32[1:127]
winsize_out int32
pacsize_in int32[X25_PS16:X25_PS4096]
pacsize_out int32[X25_PS16:X25_PS4096]
throughput int32
reverse flags[x25_facilities_reverse, int32]
}
x25_facilities_reverse = 0, 0x81
x25_dte_facilities {
delay_cumul int16
delay_target int16
delay_max int16
min_throughput int8
expedited int8
calling_len int8[0:X25_MAX_AE_LEN]
called_len int8[0:X25_MAX_AE_LEN]
calling_ae array[int8, 20]
called_ae array[int8, 20]
}
x25_calluserdata {
cudlength int32[0:128]
cuddata array[int8, 128]
}
x25_causediag {
cause int8
diagnostic int8
}
x25_subaddr {
cudmatchlength int32[0:X25_MAX_CUD_LEN]
}