| # 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/caif/caif_socket.h> |
| |
| resource sock_caif[sock] |
| |
| socket$caif_seqpacket(domain const[AF_CAIF], type const[SOCK_SEQPACKET], proto int32[CAIFPROTO_AT:CAIFPROTO_DEBUG]) sock_caif |
| socket$caif_stream(domain const[AF_CAIF], type const[SOCK_STREAM], proto int32[CAIFPROTO_AT:CAIFPROTO_DEBUG]) sock_caif |
| connect$caif(fd sock_caif, addr ptr[in, sockaddr_caif], addrlen len[addr]) |
| setsockopt$CAIFSO_LINK_SELECT(fd sock_caif, level const[SOL_CAIF], opt const[CAIFSO_LINK_SELECT], arg ptr[in, int32], arglen len[arg]) |
| setsockopt$CAIFSO_REQ_PARAM(fd sock_caif, level const[SOL_CAIF], opt const[CAIFSO_REQ_PARAM], arg ptr[in, array[int8, 0:256]], arglen len[arg]) |
| |
| sockaddr_caif [ |
| at sockaddr_caif_at |
| util sockaddr_caif_util |
| dgm sockaddr_caif_dgm |
| rfm sockaddr_caif_rfm |
| dbg sockaddr_caif_dbg |
| ] |
| |
| sockaddr_caif_at { |
| family const[AF_CAIF, int16] |
| type const[CAIF_ATTYPE_PLAIN, int8] |
| } |
| |
| sockaddr_caif_util { |
| family const[AF_CAIF, int16] |
| # TODO: what is caif service? |
| service array[int8, 16] |
| } |
| |
| sockaddr_caif_dgm { |
| family const[AF_CAIF, int16] |
| connection_id int32 |
| nsapi int8 |
| } |
| |
| sockaddr_caif_rfm { |
| family const[AF_CAIF, int16] |
| connection_id int32 |
| volume array[int8, 16] |
| } |
| |
| sockaddr_caif_dbg { |
| family const[AF_CAIF, int16] |
| type int8 |
| service int8 |
| } |