mirror of
https://github.com/reactos/syzkaller.git
synced 2025-02-08 04:48:48 +00:00
116 lines
5.0 KiB
Plaintext
116 lines
5.0 KiB
Plaintext
# 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/net.h>
|
|
include <uapi/linux/tipc.h>
|
|
include <net/tipc/core.h>
|
|
|
|
resource sock_tipc[sock]
|
|
|
|
type tipc_instance int32[0:4]
|
|
type tipc_node_addr int32[0:4]
|
|
type tipc_port int32[20000:20004]
|
|
|
|
socket$tipc(domain const[AF_TIPC], type flags[tipc_socket_types], proto const[0]) sock_tipc
|
|
socketpair$tipc(domain const[AF_TIPC], type flags[tipc_socket_types], proto const[0], fds ptr[out, tipc_pair])
|
|
bind$tipc(fd sock_tipc, addr ptr[in, sockaddr_tipc, opt], addrlen len[addr])
|
|
connect$tipc(fd sock_tipc, addr ptr[in, sockaddr_tipc], addrlen len[addr])
|
|
accept4$tipc(fd sock_tipc, peer ptr[out, sockaddr_tipc, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_tipc
|
|
getsockname$tipc(fd sock_tipc, addr ptr[out, sockaddr_tipc], addrlen ptr[inout, len[addr, int32]])
|
|
getpeername$tipc(fd sock_tipc, peer ptr[out, sockaddr_tipc], peerlen ptr[inout, len[peer, int32]])
|
|
sendmsg$tipc(fd sock_tipc, msg ptr[in, msghdr_tipc], f flags[send_flags])
|
|
|
|
ioctl$SIOCGETLINKNAME(fd sock_tipc, cmd const[SIOCGETLINKNAME], arg ptr[in, tipc_sioc_ln_req])
|
|
ioctl$SIOCGETNODEID(fd sock_tipc, cmd const[SIOCGETNODEID], arg ptr[in, tipc_sioc_nodeid_req])
|
|
|
|
setsockopt$TIPC_IMPORTANCE(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_IMPORTANCE], val ptr[in, int32], len bytesize[val])
|
|
setsockopt$TIPC_SRC_DROPPABLE(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_SRC_DROPPABLE], val ptr[in, int32], len bytesize[val])
|
|
setsockopt$TIPC_DEST_DROPPABLE(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_DEST_DROPPABLE], val ptr[in, int32], len bytesize[val])
|
|
setsockopt$TIPC_CONN_TIMEOUT(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_CONN_TIMEOUT], val ptr[in, int32], len bytesize[val])
|
|
setsockopt$TIPC_MCAST_BROADCAST(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_MCAST_BROADCAST])
|
|
setsockopt$TIPC_MCAST_REPLICAST(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_MCAST_REPLICAST])
|
|
setsockopt$TIPC_GROUP_LEAVE(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_GROUP_LEAVE])
|
|
setsockopt$TIPC_GROUP_JOIN(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_GROUP_JOIN], val ptr[in, tipc_group_req], len bytesize[val])
|
|
|
|
getsockopt$TIPC_IMPORTANCE(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_IMPORTANCE], val ptr[out, int32], len ptr[inout, bytesize[val, int32]])
|
|
getsockopt$TIPC_SRC_DROPPABLE(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_SRC_DROPPABLE], val ptr[out, int32], len ptr[inout, bytesize[val, int32]])
|
|
getsockopt$TIPC_DEST_DROPPABLE(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_DEST_DROPPABLE], val ptr[out, int32], len ptr[inout, bytesize[val, int32]])
|
|
getsockopt$TIPC_CONN_TIMEOUT(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_CONN_TIMEOUT], val ptr[out, int32], len ptr[inout, bytesize[val, int32]])
|
|
getsockopt$TIPC_NODE_RECVQ_DEPTH(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_NODE_RECVQ_DEPTH], val ptr[out, int32], len ptr[inout, bytesize[val, int32]])
|
|
getsockopt$TIPC_SOCK_RECVQ_DEPTH(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_SOCK_RECVQ_DEPTH], val ptr[out, int32], len ptr[inout, bytesize[val, int32]])
|
|
getsockopt$TIPC_GROUP_JOIN(fd sock_tipc, level const[SOL_TIPC], opt const[TIPC_GROUP_JOIN], val ptr[out, int32], len ptr[inout, bytesize[val, int32]])
|
|
|
|
tipc_socket_types = SOCK_DGRAM, SOCK_SEQPACKET, SOCK_DGRAM
|
|
tipc_service_type = TIPC_NODE_STATE, TIPC_TOP_SRV, TIPC_LINK_STATE, TIPC_SERVICE_TYPE0, TIPC_SERVICE_TYPE1, TIPC_SERVICE_TYPE2, TIPC_SERVICE_TYPE3
|
|
define TIPC_SERVICE_TYPE0 TIPC_RESERVED_TYPES + 0
|
|
define TIPC_SERVICE_TYPE1 TIPC_RESERVED_TYPES + 1
|
|
define TIPC_SERVICE_TYPE2 TIPC_RESERVED_TYPES + 2
|
|
define TIPC_SERVICE_TYPE3 TIPC_RESERVED_TYPES + 3
|
|
|
|
tipc_pair {
|
|
fd0 sock_tipc
|
|
fd1 sock_tipc
|
|
}
|
|
|
|
sockaddr_tipc [
|
|
nameseq sockaddr_tipc_t[TIPC_ADDR_NAMESEQ, tipc_service_range]
|
|
name sockaddr_tipc_t[TIPC_ADDR_NAME, tipc_address_name]
|
|
id sockaddr_tipc_t[TIPC_ADDR_ID, tipc_socket_addr]
|
|
]
|
|
|
|
type sockaddr_tipc_t[TYP, DATA] {
|
|
family const[AF_TIPC, int16]
|
|
addrtype const[TYP, int8]
|
|
scope flags[tipc_scope, int8]
|
|
addr DATA
|
|
}
|
|
|
|
msghdr_tipc {
|
|
msg_name ptr[in, sockaddr_tipc, opt]
|
|
msg_namelen len[msg_name, int32]
|
|
msg_iov ptr[in, array[iovec_in]]
|
|
msg_iovlen len[msg_iov, intptr]
|
|
msg_control ptr[in, array[int8], opt]
|
|
msg_controllen bytesize[msg_control, intptr]
|
|
msg_flags flags[send_flags, int32]
|
|
}
|
|
|
|
tipc_address_name {
|
|
name tipc_service_addr
|
|
domain tipc_node_addr
|
|
}
|
|
|
|
tipc_socket_addr {
|
|
ref tipc_port
|
|
node tipc_node_addr
|
|
}
|
|
|
|
tipc_service_addr {
|
|
type flags[tipc_service_type, int32]
|
|
instance tipc_instance
|
|
}
|
|
|
|
tipc_service_range {
|
|
type flags[tipc_service_type, int32]
|
|
lower tipc_instance
|
|
upper tipc_instance
|
|
}
|
|
|
|
tipc_sioc_ln_req {
|
|
peer tipc_node_addr
|
|
bearer_id int32[0:MAX_BEARERS]
|
|
linkname array[const[0, int8], TIPC_MAX_LINK_NAME]
|
|
}
|
|
|
|
tipc_sioc_nodeid_req {
|
|
peer tipc_node_addr
|
|
linkname array[const[0, int8], TIPC_NODEID_LEN]
|
|
}
|
|
|
|
tipc_group_req {
|
|
type int32[TIPC_SERVICE_TYPE0:TIPC_SERVICE_TYPE3]
|
|
instance tipc_instance
|
|
scope flags[tipc_scope, int32]
|
|
flags const[0, int32]
|
|
}
|