Lines Matching refs:msg
53 void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm);
54 void scm_detach_fds_compat(struct msghdr *msg, struct scm_cookie *scm);
55 int __scm_send(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm);
91 static __inline__ int scm_send(struct socket *sock, struct msghdr *msg, in scm_send() argument
100 if (msg->msg_controllen <= 0) in scm_send()
102 return __scm_send(sock, msg, scm); in scm_send()
106 static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm) in scm_passec() argument
116 put_cmsg(msg, SOL_SOCKET, SCM_SECURITY, seclen, secdata); in scm_passec()
127 static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm) in scm_passec() argument
136 static __inline__ void scm_pidfd_recv(struct msghdr *msg, struct scm_cookie *scm) in scm_pidfd_recv() argument
144 if (msg->msg_flags & MSG_CMSG_COMPAT) in scm_pidfd_recv()
149 if (msg->msg_controllen < len) { in scm_pidfd_recv()
150 msg->msg_flags |= MSG_CTRUNC; in scm_pidfd_recv()
159 if (put_cmsg(msg, SOL_SOCKET, SCM_PIDFD, sizeof(int), &pidfd)) { in scm_pidfd_recv()
172 static inline bool __scm_recv_common(struct socket *sock, struct msghdr *msg, in __scm_recv_common() argument
175 if (!msg->msg_control) { in __scm_recv_common()
179 msg->msg_flags |= MSG_CTRUNC; in __scm_recv_common()
191 put_cmsg(msg, SOL_SOCKET, SCM_CREDENTIALS, sizeof(ucreds), &ucreds); in __scm_recv_common()
194 scm_passec(sock, msg, scm); in __scm_recv_common()
197 scm_detach_fds(msg, scm); in __scm_recv_common()
202 static inline void scm_recv(struct socket *sock, struct msghdr *msg, in scm_recv() argument
205 if (!__scm_recv_common(sock, msg, scm, flags)) in scm_recv()
211 static inline void scm_recv_unix(struct socket *sock, struct msghdr *msg, in scm_recv_unix() argument
214 if (!__scm_recv_common(sock, msg, scm, flags)) in scm_recv_unix()
218 scm_pidfd_recv(msg, scm); in scm_recv_unix()