From 39240c9e937ac9b29eb0c378d75d9fb405c58f27 Mon Sep 17 00:00:00 2001 From: Necip Fazil Yildiran Date: Tue, 23 Jun 2020 08:53:22 +0300 Subject: [PATCH] sys/linux/socket_qipcrtr: enhance desc for qipcrtr Utilization of special values for port and node ids. Added desc for sendmsg and recvmsg. --- sys/linux/socket_qipcrtr.txt | 36 ++++++++++++++++++++++--- sys/linux/socket_qipcrtr_386.const | 4 +++ sys/linux/socket_qipcrtr_amd64.const | 4 +++ sys/linux/socket_qipcrtr_arm.const | 4 +++ sys/linux/socket_qipcrtr_arm64.const | 4 +++ sys/linux/socket_qipcrtr_mips64le.const | 4 +++ sys/linux/socket_qipcrtr_ppc64le.const | 4 +++ 7 files changed, 56 insertions(+), 4 deletions(-) diff --git a/sys/linux/socket_qipcrtr.txt b/sys/linux/socket_qipcrtr.txt index cbbd5b55..50473907 100644 --- a/sys/linux/socket_qipcrtr.txt +++ b/sys/linux/socket_qipcrtr.txt @@ -3,17 +3,23 @@ include include -include +include include # QIPCRTR sockets resource sock_qrtr[sock] +# 1 stands for qrtr_local_nid, -1 stands for QRTR_EP_NID_AUTO +qrtr_nodes = QRTR_NODE_BCAST, -1, 0, 1, 2, 3, 4 + +# 0x4000 and 0x7fff stands for QRTR_MIN_EPH_SOCKET and QRTR_MAX_EPH_SOCKET, respectively +qrtr_ports = QRTR_PORT_CTRL, 0x3fff, 0x4000, 0x4001, 0x7ffe, 0x7fff, 0x8000, 0, 1, 2 + sockaddr_qrtr { sq_family const[AF_QIPCRTR, int16] - sq_node int32 - sq_port int32 + sq_node flags[qrtr_nodes, int32] + sq_port flags[qrtr_ports, int32] } socket$qrtr(domain const[AF_QIPCRTR], type const[SOCK_DGRAM], proto const[0]) sock_qrtr @@ -29,4 +35,26 @@ ioctl$sock_qrtr_TIOCOUTQ(fd sock_qrtr, cmd const[TIOCOUTQ], arg ptr[out, int64]) ioctl$sock_qrtr_TIOCINQ(fd sock_qrtr, cmd const[TIOCINQ], arg ptr[out, int64]) ioctl$sock_qrtr_SIOCGIFADDR(fd sock_qrtr, cmd const[SIOCGIFADDR], arg ptr[inout, ifreq_t[sockaddr_qrtr]]) -# TODO: sendmsg$qrtr, recvmsg$qrtr, msghdr_qrtr +# sendmsg, recvmsg, [send|recv]_msghdr +sendmsg$qrtr(fd sock_qrtr, msg ptr[in, send_msghdr_qrtr], msglen len[msg]) +recvmsg$qrtr(fd sock_qrtr, msg ptr[inout, recv_msghdr_qrtr], msglen len[msg], f flags[recv_flags]) + +send_msghdr_qrtr { + addr ptr[in, sockaddr_qrtr, opt] + addrlen len[addr, int32] + vec ptr[in, array[iovec_in]] + vlen len[vec, intptr] + ctrl ptr[in, array[cmsghdr], opt] + ctrllen bytesize[ctrl, intptr] + f flags[send_flags, int32] +} + +recv_msghdr_qrtr { + addr ptr[out, sockaddr_qrtr, opt] + addrlen len[addr, int32] + vec ptr[in, array[iovec_out]] + vlen len[vec, intptr] + ctrl ptr[out, array[cmsghdr], opt] + ctrllen bytesize[ctrl, intptr] + f flags[recv_flags, int32] +} diff --git a/sys/linux/socket_qipcrtr_386.const b/sys/linux/socket_qipcrtr_386.const index 7c5e9cb2..c891dafc 100644 --- a/sys/linux/socket_qipcrtr_386.const +++ b/sys/linux/socket_qipcrtr_386.const @@ -1,5 +1,7 @@ # AUTOGENERATED FILE AF_QIPCRTR = 42 +QRTR_NODE_BCAST = 4294967295 +QRTR_PORT_CTRL = 4294967294 SIOCGIFADDR = 35093 SOCK_DGRAM = 2 TIOCINQ = 21531 @@ -9,4 +11,6 @@ __NR_connect = 362 __NR_getpeername = 368 __NR_getsockname = 367 __NR_ioctl = 54 +__NR_recvmsg = 372 +__NR_sendmsg = 370 __NR_socket = 359 diff --git a/sys/linux/socket_qipcrtr_amd64.const b/sys/linux/socket_qipcrtr_amd64.const index ac32171a..f70f3f0c 100644 --- a/sys/linux/socket_qipcrtr_amd64.const +++ b/sys/linux/socket_qipcrtr_amd64.const @@ -1,5 +1,7 @@ # AUTOGENERATED FILE AF_QIPCRTR = 42 +QRTR_NODE_BCAST = 4294967295 +QRTR_PORT_CTRL = 4294967294 SIOCGIFADDR = 35093 SOCK_DGRAM = 2 TIOCINQ = 21531 @@ -9,4 +11,6 @@ __NR_connect = 42 __NR_getpeername = 52 __NR_getsockname = 51 __NR_ioctl = 16 +__NR_recvmsg = 47 +__NR_sendmsg = 46 __NR_socket = 41 diff --git a/sys/linux/socket_qipcrtr_arm.const b/sys/linux/socket_qipcrtr_arm.const index 080981b7..088d8e28 100644 --- a/sys/linux/socket_qipcrtr_arm.const +++ b/sys/linux/socket_qipcrtr_arm.const @@ -1,5 +1,7 @@ # AUTOGENERATED FILE AF_QIPCRTR = 42 +QRTR_NODE_BCAST = 4294967295 +QRTR_PORT_CTRL = 4294967294 SIOCGIFADDR = 35093 SOCK_DGRAM = 2 TIOCINQ = 21531 @@ -9,4 +11,6 @@ __NR_connect = 283 __NR_getpeername = 287 __NR_getsockname = 286 __NR_ioctl = 54 +__NR_recvmsg = 297 +__NR_sendmsg = 296 __NR_socket = 281 diff --git a/sys/linux/socket_qipcrtr_arm64.const b/sys/linux/socket_qipcrtr_arm64.const index 9b6467c5..36b65632 100644 --- a/sys/linux/socket_qipcrtr_arm64.const +++ b/sys/linux/socket_qipcrtr_arm64.const @@ -1,5 +1,7 @@ # AUTOGENERATED FILE AF_QIPCRTR = 42 +QRTR_NODE_BCAST = 4294967295 +QRTR_PORT_CTRL = 4294967294 SIOCGIFADDR = 35093 SOCK_DGRAM = 2 TIOCINQ = 21531 @@ -9,4 +11,6 @@ __NR_connect = 203 __NR_getpeername = 205 __NR_getsockname = 204 __NR_ioctl = 29 +__NR_recvmsg = 212 +__NR_sendmsg = 211 __NR_socket = 198 diff --git a/sys/linux/socket_qipcrtr_mips64le.const b/sys/linux/socket_qipcrtr_mips64le.const index 9c3245bd..746bcd6c 100644 --- a/sys/linux/socket_qipcrtr_mips64le.const +++ b/sys/linux/socket_qipcrtr_mips64le.const @@ -1,5 +1,7 @@ # AUTOGENERATED FILE AF_QIPCRTR = 42 +QRTR_NODE_BCAST = 4294967295 +QRTR_PORT_CTRL = 4294967294 SIOCGIFADDR = 35093 SOCK_DGRAM = 1 TIOCINQ = 18047 @@ -9,4 +11,6 @@ __NR_connect = 5041 __NR_getpeername = 5051 __NR_getsockname = 5050 __NR_ioctl = 5015 +__NR_recvmsg = 5046 +__NR_sendmsg = 5045 __NR_socket = 5040 diff --git a/sys/linux/socket_qipcrtr_ppc64le.const b/sys/linux/socket_qipcrtr_ppc64le.const index de5ce9b3..457cd442 100644 --- a/sys/linux/socket_qipcrtr_ppc64le.const +++ b/sys/linux/socket_qipcrtr_ppc64le.const @@ -1,5 +1,7 @@ # AUTOGENERATED FILE AF_QIPCRTR = 42 +QRTR_NODE_BCAST = 4294967295 +QRTR_PORT_CTRL = 4294967294 SIOCGIFADDR = 35093 SOCK_DGRAM = 2 TIOCINQ = 1074030207 @@ -9,4 +11,6 @@ __NR_connect = 328 __NR_getpeername = 332 __NR_getsockname = 331 __NR_ioctl = 54 +__NR_recvmsg = 342 +__NR_sendmsg = 341 __NR_socket = 326