Lines Matching defs:msg
41 void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm);
42 void scm_detach_fds_compat(struct msghdr *msg, struct scm_cookie *scm);
43 int __scm_send(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm);
79 static __inline__ int scm_send(struct socket *sock, struct msghdr *msg,
88 if (msg->msg_controllen <= 0)
90 return __scm_send(sock, msg, scm);
94 static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm)
104 put_cmsg(msg, SOL_SOCKET, SCM_SECURITY, seclen, secdata);
115 static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm)
124 static __inline__ void scm_pidfd_recv(struct msghdr *msg, struct scm_cookie *scm)
132 if (msg->msg_flags & MSG_CMSG_COMPAT)
137 if (msg->msg_controllen < len) {
138 msg->msg_flags |= MSG_CTRUNC;
147 if (put_cmsg(msg, SOL_SOCKET, SCM_PIDFD, sizeof(int), &pidfd)) {
160 static inline bool __scm_recv_common(struct socket *sock, struct msghdr *msg,
163 if (!msg->msg_control) {
167 msg->msg_flags |= MSG_CTRUNC;
179 put_cmsg(msg, SOL_SOCKET, SCM_CREDENTIALS, sizeof(ucreds), &ucreds);
182 scm_passec(sock, msg, scm);
185 scm_detach_fds(msg, scm);
190 static inline void scm_recv(struct socket *sock, struct msghdr *msg,
193 if (!__scm_recv_common(sock, msg, scm, flags))
199 static inline void scm_recv_unix(struct socket *sock, struct msghdr *msg,
202 if (!__scm_recv_common(sock, msg, scm, flags))
206 scm_pidfd_recv(msg, scm);