/Linux-v5.4/drivers/isdn/capi/ |
D | capiutil.c | 229 #define TYP (cdef[cmsg->par[cmsg->p]].typ) 230 #define OFF (((u8 *)cmsg) + cdef[cmsg->par[cmsg->p]].off) 232 static void jumpcstruct(_cmsg *cmsg) in jumpcstruct() argument 235 for (cmsg->p++, layer = 1; layer;) { in jumpcstruct() 237 cmsg->p++; in jumpcstruct() 249 static void pars_2_message(_cmsg *cmsg) in pars_2_message() argument 252 for (; TYP != _CEND; cmsg->p++) { in pars_2_message() 255 byteTLcpy(cmsg->m + cmsg->l, OFF); in pars_2_message() 256 cmsg->l++; in pars_2_message() 259 wordTLcpy(cmsg->m + cmsg->l, OFF); in pars_2_message() [all …]
|
/Linux-v5.4/include/linux/isdn/ |
D | capiutil.h | 150 unsigned capi_cmsg2message(_cmsg * cmsg, __u8 * msg); 156 unsigned capi_message2cmsg(_cmsg * cmsg, __u8 * msg); 163 unsigned capi_cmsg_header(_cmsg * cmsg, __u16 _ApplId, 189 _cdebbuf *capi_cmsg2str(_cmsg *cmsg); 194 static inline void capi_cmsg_answer(_cmsg * cmsg) in capi_cmsg_answer() argument 196 cmsg->Subcommand |= 0x01; in capi_cmsg_answer() 201 static inline void capi_fill_CONNECT_B3_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber, in capi_fill_CONNECT_B3_REQ() argument 205 capi_cmsg_header(cmsg, ApplId, 0x82, 0x80, Messagenumber, adr); in capi_fill_CONNECT_B3_REQ() 206 cmsg->NCPI = NCPI; in capi_fill_CONNECT_B3_REQ() 209 static inline void capi_fill_FACILITY_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber, in capi_fill_FACILITY_REQ() argument [all …]
|
/Linux-v5.4/drivers/staging/isdn/gigaset/ |
D | capi.c | 1145 _cmsg *cmsg = &iif->acmsg; in do_facility_req() local 1153 if (capi_message2cmsg(cmsg, skb->data)) { in do_facility_req() 1158 dump_cmsg(DEBUG_CMD, __func__, cmsg); in do_facility_req() 1164 switch (cmsg->FacilitySelector) { in do_facility_req() 1181 pparam = cmsg->FacilityRequestParameter; in do_facility_req() 1257 capi_cmsg_answer(cmsg); in do_facility_req() 1258 cmsg->Info = info; in do_facility_req() 1259 cmsg->FacilityConfirmationParameter = confparam; in do_facility_req() 1266 if (capi_cmsg2message(cmsg, __skb_put(cskb, msgsize))) { in do_facility_req() 1271 dump_cmsg(DEBUG_CMD, __func__, cmsg); in do_facility_req() [all …]
|
/Linux-v5.4/tools/testing/selftests/android/ion/ |
D | ipcsocket.c | 110 struct cmsghdr *cmsg; in sendtosocket() local 144 cmsg = CMSG_FIRSTHDR(&msgh); in sendtosocket() 145 cmsg->cmsg_level = SOL_SOCKET; in sendtosocket() 146 cmsg->cmsg_type = SCM_RIGHTS; in sendtosocket() 147 cmsg->cmsg_len = CMSG_LEN(len); in sendtosocket() 148 memcpy(CMSG_DATA(cmsg), &buffd, len); in sendtosocket() 166 struct cmsghdr *cmsg; in receivefromsocket() local 197 cmsg = CMSG_FIRSTHDR(&msgh); in receivefromsocket() 198 cmsg->cmsg_level = SOL_SOCKET; in receivefromsocket() 199 cmsg->cmsg_type = SCM_RIGHTS; in receivefromsocket() [all …]
|
/Linux-v5.4/tools/testing/selftests/net/ |
D | udpgso_bench_tx.c | 138 static void flush_cmsg(struct cmsghdr *cmsg) in flush_cmsg() argument 146 switch (cmsg->cmsg_level) { in flush_cmsg() 148 if (cmsg->cmsg_type == SO_TIMESTAMPING) { in flush_cmsg() 150 tss = (struct scm_timestamping *)CMSG_DATA(cmsg); in flush_cmsg() 155 cmsg->cmsg_type); in flush_cmsg() 160 switch (cmsg->cmsg_type) { in flush_cmsg() 164 err = (struct sock_extended_err *)CMSG_DATA(cmsg); in flush_cmsg() 199 cmsg->cmsg_type); in flush_cmsg() 205 cmsg->cmsg_level); in flush_cmsg() 215 struct cmsghdr *cmsg; in flush_errqueue_recv() local [all …]
|
D | udpgso_bench_rx.c | 217 struct cmsghdr *cmsg; in recv_msg() local 233 for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; in recv_msg() 234 cmsg = CMSG_NXTHDR(&msg, cmsg)) { in recv_msg() 235 if (cmsg->cmsg_level == SOL_UDP in recv_msg() 236 && cmsg->cmsg_type == UDP_GRO) { in recv_msg() 237 gsosizeptr = (uint16_t *) CMSG_DATA(cmsg); in recv_msg()
|
D | msg_zerocopy.c | 364 struct cmsghdr *cmsg; in do_recvmsg_completion() local 378 for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { in do_recvmsg_completion() 379 if (cmsg->cmsg_level == SOL_RDS && in do_recvmsg_completion() 380 cmsg->cmsg_type == RDS_CMSG_ZCOPY_COMPLETION) { in do_recvmsg_completion() 382 ck = (struct rds_zcopy_cookies *)CMSG_DATA(cmsg); in do_recvmsg_completion() 388 cmsg->cmsg_level, cmsg->cmsg_type); in do_recvmsg_completion()
|
D | tls.c | 1018 struct cmsghdr *cmsg; in TEST_F() local 1031 cmsg = CMSG_FIRSTHDR(&msg); in TEST_F() 1032 cmsg->cmsg_level = SOL_TLS; in TEST_F() 1034 cmsg->cmsg_type = TLS_SET_RECORD_TYPE; in TEST_F() 1035 cmsg->cmsg_len = CMSG_LEN(cmsg_len); in TEST_F() 1036 *CMSG_DATA(cmsg) = record_type; in TEST_F() 1037 msg.msg_controllen = cmsg->cmsg_len; in TEST_F() 1046 cmsg = CMSG_FIRSTHDR(&msg); in TEST_F() 1047 EXPECT_NE(cmsg, NULL); in TEST_F() 1048 EXPECT_EQ(cmsg->cmsg_level, SOL_TLS); in TEST_F() [all …]
|
/Linux-v5.4/tools/testing/selftests/networking/timestamping/ |
D | timestamping.c | 140 struct cmsghdr *cmsg; in printpacket() local 153 for (cmsg = CMSG_FIRSTHDR(msg); in printpacket() 154 cmsg; in printpacket() 155 cmsg = CMSG_NXTHDR(msg, cmsg)) { in printpacket() 156 printf(" cmsg len %zu: ", cmsg->cmsg_len); in printpacket() 157 switch (cmsg->cmsg_level) { in printpacket() 160 switch (cmsg->cmsg_type) { in printpacket() 163 (struct timeval *)CMSG_DATA(cmsg); in printpacket() 171 (struct timespec *)CMSG_DATA(cmsg); in printpacket() 179 (struct timespec *)CMSG_DATA(cmsg); in printpacket() [all …]
|
D | rxtimestamp.c | 178 struct cmsghdr *cmsg; in do_recv() local 202 for (cmsg = CMSG_FIRSTHDR(&hdr); cmsg != NULL; in do_recv() 203 cmsg = CMSG_NXTHDR(&hdr, cmsg)) { in do_recv() 204 if (cmsg->cmsg_level != SOL_SOCKET) in do_recv() 206 cmsg->cmsg_level); in do_recv() 207 switch (cmsg->cmsg_type) { in do_recv() 215 ts = (struct scm_timestamping *)CMSG_DATA(cmsg); in do_recv() 222 error(1, 0, "Unexpected cmsg_type %d", cmsg->cmsg_type); in do_recv()
|
/Linux-v5.4/include/linux/ |
D | socket.h | 92 #define __CMSG_NXTHDR(ctl, len, cmsg) __cmsg_nxthdr((ctl),(len),(cmsg)) argument 93 #define CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg)) argument 97 #define CMSG_DATA(cmsg) ((void *)((char *)(cmsg) + sizeof(struct cmsghdr))) argument 105 #define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && \ argument 106 (cmsg)->cmsg_len <= (unsigned long) \ 108 ((char *)(cmsg) - (char *)(mhdr)->msg_control))) 109 #define for_each_cmsghdr(cmsg, msg) \ argument 110 for (cmsg = CMSG_FIRSTHDR(msg); \ 111 cmsg; \ 112 cmsg = CMSG_NXTHDR(msg, cmsg))
|
/Linux-v5.4/drivers/md/ |
D | md-cluster.c | 504 static void process_add_new_disk(struct mddev *mddev, struct cluster_msg *cmsg) in process_add_new_disk() argument 514 sprintf(disk_uuid + len, "%pU", cmsg->uuid); in process_add_new_disk() 515 snprintf(raid_slot, 16, "RAID_DISK=%d", le32_to_cpu(cmsg->raid_slot)); in process_add_new_disk() 731 static int __sendmsg(struct md_cluster_info *cinfo, struct cluster_msg *cmsg) in __sendmsg() argument 736 cmsg->slot = cpu_to_le32(slot); in __sendmsg() 744 memcpy(cinfo->message_lockres->lksb.sb_lvbptr, (void *)cmsg, in __sendmsg() 782 static int sendmsg(struct md_cluster_info *cinfo, struct cluster_msg *cmsg, in sendmsg() argument 788 ret = __sendmsg(cinfo, cmsg); in sendmsg() 977 struct cluster_msg cmsg = {0}; in resync_bitmap() local 980 cmsg.type = cpu_to_le32(BITMAP_NEEDS_SYNC); in resync_bitmap() [all …]
|
/Linux-v5.4/net/ipv6/ |
D | datagram.c | 742 struct cmsghdr *cmsg; in ip6_datagram_send_ctl() local 749 for_each_cmsghdr(cmsg, msg) { in ip6_datagram_send_ctl() 752 if (!CMSG_OK(msg, cmsg)) { in ip6_datagram_send_ctl() 757 if (cmsg->cmsg_level == SOL_SOCKET) { in ip6_datagram_send_ctl() 758 err = __sock_cmsg_send(sk, msg, cmsg, &ipc6->sockc); in ip6_datagram_send_ctl() 764 if (cmsg->cmsg_level != SOL_IPV6) in ip6_datagram_send_ctl() 767 switch (cmsg->cmsg_type) { in ip6_datagram_send_ctl() 774 if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct in6_pktinfo))) { in ip6_datagram_send_ctl() 779 src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl() 827 if (cmsg->cmsg_len < CMSG_LEN(4)) { in ip6_datagram_send_ctl() [all …]
|
/Linux-v5.4/samples/seccomp/ |
D | user-trap.c | 35 struct cmsghdr *cmsg; in send_fd() local 46 cmsg = CMSG_FIRSTHDR(&msg); in send_fd() 47 cmsg->cmsg_level = SOL_SOCKET; in send_fd() 48 cmsg->cmsg_type = SCM_RIGHTS; in send_fd() 49 cmsg->cmsg_len = CMSG_LEN(sizeof(int)); in send_fd() 50 *((int *)CMSG_DATA(cmsg)) = fd; in send_fd() 51 msg.msg_controllen = cmsg->cmsg_len; in send_fd() 64 struct cmsghdr *cmsg; in recv_fd() local 81 cmsg = CMSG_FIRSTHDR(&msg); in recv_fd() 83 return *((int *)CMSG_DATA(cmsg)); in recv_fd()
|
/Linux-v5.4/Documentation/networking/ |
D | tls.rst | 140 struct cmsghdr *cmsg; 146 cmsg = CMSG_FIRSTHDR(&msg); 147 cmsg->cmsg_level = SOL_TLS; 148 cmsg->cmsg_type = TLS_SET_RECORD_TYPE; 149 cmsg->cmsg_len = CMSG_LEN(cmsg_len); 150 *CMSG_DATA(cmsg) = record_type; 151 msg.msg_controllen = cmsg->cmsg_len; 168 type passed via cmsg. If no cmsg buffer is provided, an error is 170 received without a cmsg buffer set. 175 char cmsg[CMSG_SPACE(sizeof(unsigned char))]; [all …]
|
D | j1939.rst | 280 the msghdr in the recvmsg(2) call. They can be extracted using cmsg(3) macros, 290 for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { 291 switch (cmsg->cmsg_level) { 293 if (cmsg->cmsg_type == SCM_J1939_DEST_ADDR) 294 dst_addr = *CMSG_DATA(cmsg); 295 else if (cmsg->cmsg_type == SCM_J1939_DEST_NAME) 296 memcpy(&dst_name, CMSG_DATA(cmsg), cmsg->cmsg_len - CMSG_LEN(0)); 297 else if (cmsg->cmsg_type == SCM_J1939_PRIO) 298 priority = *CMSG_DATA(cmsg);
|
/Linux-v5.4/net/core/ |
D | scm.c | 65 static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp) in scm_fp_copy() argument 67 int *fdp = (int*)CMSG_DATA(cmsg); in scm_fp_copy() 72 num = (cmsg->cmsg_len - sizeof(struct cmsghdr))/sizeof(int); in scm_fp_copy() 133 struct cmsghdr *cmsg; in __scm_send() local 136 for_each_cmsghdr(cmsg, msg) { in __scm_send() 147 if (!CMSG_OK(msg, cmsg)) in __scm_send() 150 if (cmsg->cmsg_level != SOL_SOCKET) in __scm_send() 153 switch (cmsg->cmsg_type) in __scm_send() 158 err=scm_fp_copy(cmsg, &p->fp); in __scm_send() 167 if (cmsg->cmsg_len != CMSG_LEN(sizeof(struct ucred))) in __scm_send() [all …]
|
/Linux-v5.4/arch/um/os-Linux/drivers/ |
D | tuntap_user.c | 71 struct cmsghdr *cmsg; in tuntap_open_tramp() local 111 cmsg = CMSG_FIRSTHDR(&msg); in tuntap_open_tramp() 112 if (cmsg == NULL) { in tuntap_open_tramp() 117 if ((cmsg->cmsg_level != SOL_SOCKET) || in tuntap_open_tramp() 118 (cmsg->cmsg_type != SCM_RIGHTS)) { in tuntap_open_tramp() 123 *fd_out = ((int *) CMSG_DATA(cmsg))[0]; in tuntap_open_tramp()
|
/Linux-v5.4/net/rds/ |
D | send.c | 892 struct cmsghdr *cmsg; in rds_rm_size() local 902 for_each_cmsghdr(cmsg, msg) { in rds_rm_size() 903 if (!CMSG_OK(msg, cmsg)) in rds_rm_size() 906 if (cmsg->cmsg_level != SOL_RDS) in rds_rm_size() 909 switch (cmsg->cmsg_type) { in rds_rm_size() 928 retval = rds_rdma_extra_size(CMSG_DATA(cmsg), iov); in rds_rm_size() 972 struct cmsghdr *cmsg) in rds_cmsg_zcopy() argument 976 if (cmsg->cmsg_len < CMSG_LEN(sizeof(*cookie)) || in rds_cmsg_zcopy() 979 cookie = CMSG_DATA(cmsg); in rds_cmsg_zcopy() 988 struct cmsghdr *cmsg; in rds_cmsg_send() local [all …]
|
D | rdma.c | 573 struct cmsghdr *cmsg, in rds_cmsg_rdma_args() argument 585 if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct rds_rdma_args)) in rds_cmsg_rdma_args() 589 args = CMSG_DATA(cmsg); in rds_cmsg_rdma_args() 729 struct cmsghdr *cmsg) in rds_cmsg_rdma_dest() argument 736 if (cmsg->cmsg_len < CMSG_LEN(sizeof(rds_rdma_cookie_t)) || in rds_cmsg_rdma_dest() 740 memcpy(&rm->m_rdma_cookie, CMSG_DATA(cmsg), sizeof(rm->m_rdma_cookie)); in rds_cmsg_rdma_dest() 771 struct cmsghdr *cmsg) in rds_cmsg_rdma_map() argument 773 if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct rds_get_mr_args)) || in rds_cmsg_rdma_map() 777 return __rds_rdma_map(rs, CMSG_DATA(cmsg), &rm->m_rdma_cookie, in rds_cmsg_rdma_map() 785 struct cmsghdr *cmsg) in rds_cmsg_atomic() argument [all …]
|
/Linux-v5.4/arch/um/os-Linux/ |
D | file.c | 506 struct cmsghdr *cmsg; in os_rcv_fd() local 525 cmsg = CMSG_FIRSTHDR(&msg); in os_rcv_fd() 526 if (cmsg == NULL) { in os_rcv_fd() 531 if ((cmsg->cmsg_level != SOL_SOCKET) || in os_rcv_fd() 532 (cmsg->cmsg_type != SCM_RIGHTS)) { in os_rcv_fd() 537 new = ((int *) CMSG_DATA(cmsg))[0]; in os_rcv_fd() 651 struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msg); in os_sendmsg_fds() local 657 cmsg->cmsg_level = SOL_SOCKET; in os_sendmsg_fds() 658 cmsg->cmsg_type = SCM_RIGHTS; in os_sendmsg_fds() 659 cmsg->cmsg_len = CMSG_LEN(fds_size); in os_sendmsg_fds() [all …]
|
/Linux-v5.4/net/rxrpc/ |
D | sendmsg.c | 462 struct cmsghdr *cmsg; in rxrpc_sendmsg_cmsg() local 469 for_each_cmsghdr(cmsg, msg) { in rxrpc_sendmsg_cmsg() 470 if (!CMSG_OK(msg, cmsg)) in rxrpc_sendmsg_cmsg() 473 len = cmsg->cmsg_len - sizeof(struct cmsghdr); in rxrpc_sendmsg_cmsg() 475 cmsg->cmsg_level, cmsg->cmsg_type, len); in rxrpc_sendmsg_cmsg() 477 if (cmsg->cmsg_level != SOL_RXRPC) in rxrpc_sendmsg_cmsg() 480 switch (cmsg->cmsg_type) { in rxrpc_sendmsg_cmsg() 485 p->call.user_call_ID = *(u32 *)CMSG_DATA(cmsg); in rxrpc_sendmsg_cmsg() 490 CMSG_DATA(cmsg); in rxrpc_sendmsg_cmsg() 501 p->abort_code = *(unsigned int *)CMSG_DATA(cmsg); in rxrpc_sendmsg_cmsg() [all …]
|
/Linux-v5.4/net/ipv4/ |
D | ip_sockglue.c | 246 struct cmsghdr *cmsg; in ip_cmsg_send() local 249 for_each_cmsghdr(cmsg, msg) { in ip_cmsg_send() 250 if (!CMSG_OK(msg, cmsg)) in ip_cmsg_send() 254 cmsg->cmsg_level == SOL_IPV6 && in ip_cmsg_send() 255 cmsg->cmsg_type == IPV6_PKTINFO) { in ip_cmsg_send() 258 if (cmsg->cmsg_len < CMSG_LEN(sizeof(*src_info))) in ip_cmsg_send() 260 src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg); in ip_cmsg_send() 269 if (cmsg->cmsg_level == SOL_SOCKET) { in ip_cmsg_send() 270 err = __sock_cmsg_send(sk, msg, cmsg, &ipc->sockc); in ip_cmsg_send() 276 if (cmsg->cmsg_level != SOL_IP) in ip_cmsg_send() [all …]
|
/Linux-v5.4/fs/nfsd/ |
D | nfs4recover.c | 758 __cld_pipe_upcall(struct rpc_pipe *pipe, void *cmsg) in __cld_pipe_upcall() argument 762 struct cld_upcall *cup = container_of(cmsg, struct cld_upcall, cu_u); in __cld_pipe_upcall() 767 msg.data = cmsg; in __cld_pipe_upcall() 784 cld_pipe_upcall(struct rpc_pipe *pipe, void *cmsg) in cld_pipe_upcall() argument 793 ret = __cld_pipe_upcall(pipe, cmsg); in cld_pipe_upcall() 800 __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg, in __cld_pipe_inprogress_downcall() argument 808 if (get_user(cmd, &cmsg->cm_cmd)) { in __cld_pipe_inprogress_downcall() 816 ci = &cmsg->cm_u.cm_clntinfo; in __cld_pipe_inprogress_downcall() 836 cnm = &cmsg->cm_u.cm_name; in __cld_pipe_inprogress_downcall() 864 struct cld_msg_v2 __user *cmsg = (struct cld_msg_v2 __user *)src; in cld_pipe_downcall() local [all …]
|
/Linux-v5.4/crypto/ |
D | af_alg.c | 440 struct cmsghdr *cmsg; in af_alg_cmsg_send() local 442 for_each_cmsghdr(cmsg, msg) { in af_alg_cmsg_send() 443 if (!CMSG_OK(msg, cmsg)) in af_alg_cmsg_send() 445 if (cmsg->cmsg_level != SOL_ALG) in af_alg_cmsg_send() 448 switch (cmsg->cmsg_type) { in af_alg_cmsg_send() 450 if (cmsg->cmsg_len < CMSG_LEN(sizeof(*con->iv))) in af_alg_cmsg_send() 452 con->iv = (void *)CMSG_DATA(cmsg); in af_alg_cmsg_send() 453 if (cmsg->cmsg_len < CMSG_LEN(con->iv->ivlen + in af_alg_cmsg_send() 459 if (cmsg->cmsg_len < CMSG_LEN(sizeof(u32))) in af_alg_cmsg_send() 461 con->op = *(u32 *)CMSG_DATA(cmsg); in af_alg_cmsg_send() [all …]
|