github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/linux/socket_caif.txt (about)

     1  # Copyright 2018 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/socket.h>
     5  include <linux/net.h>
     6  include <uapi/linux/caif/caif_socket.h>
     7  
     8  resource sock_caif[sock]
     9  
    10  socket$caif_seqpacket(domain const[AF_CAIF], type const[SOCK_SEQPACKET], proto int32[CAIFPROTO_AT:CAIFPROTO_DEBUG]) sock_caif
    11  socket$caif_stream(domain const[AF_CAIF], type const[SOCK_STREAM], proto int32[CAIFPROTO_AT:CAIFPROTO_DEBUG]) sock_caif
    12  connect$caif(fd sock_caif, addr ptr[in, sockaddr_caif], addrlen len[addr])
    13  setsockopt$CAIFSO_LINK_SELECT(fd sock_caif, level const[SOL_CAIF], opt const[CAIFSO_LINK_SELECT], arg ptr[in, int32], arglen len[arg])
    14  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])
    15  
    16  sockaddr_caif [
    17  	at	sockaddr_caif_at
    18  	util	sockaddr_caif_util
    19  	dgm	sockaddr_caif_dgm
    20  	rfm	sockaddr_caif_rfm
    21  	dbg	sockaddr_caif_dbg
    22  ]
    23  
    24  sockaddr_caif_at {
    25  	family	const[AF_CAIF, int16]
    26  	type	const[CAIF_ATTYPE_PLAIN, int8]
    27  }
    28  
    29  sockaddr_caif_util {
    30  	family	const[AF_CAIF, int16]
    31  # TODO: what is caif service?
    32  	service	array[int8, 16]
    33  }
    34  
    35  sockaddr_caif_dgm {
    36  	family		const[AF_CAIF, int16]
    37  	connection_id	int32
    38  	nsapi		int8
    39  }
    40  
    41  sockaddr_caif_rfm {
    42  	family		const[AF_CAIF, int16]
    43  	connection_id	int32
    44  	volume		array[int8, 16]
    45  }
    46  
    47  sockaddr_caif_dbg {
    48  	family	const[AF_CAIF, int16]
    49  	type	int8
    50  	service	int8
    51  }