Lines Matching defs:emsg
186 static int espintcp_sendskb_locked(struct sock *sk, struct espintcp_msg *emsg,
192 ret = skb_send_sock_locked(sk, emsg->skb,
193 emsg->offset, emsg->len);
197 emsg->len -= ret;
198 emsg->offset += ret;
199 } while (emsg->len > 0);
201 kfree_skb(emsg->skb);
202 memset(emsg, 0, sizeof(*emsg));
208 struct espintcp_msg *emsg, int flags)
213 struct sk_msg *skmsg = &emsg->skmsg;
222 size_t size = sg->length - emsg->offset;
223 int offset = sg->offset + emsg->offset;
226 emsg->offset = 0;
237 emsg->offset = offset - sg->offset;
254 memset(emsg, 0, sizeof(*emsg));
262 struct espintcp_msg *emsg = &ctx->partial;
265 if (!emsg->len)
272 if (emsg->skb)
273 err = espintcp_sendskb_locked(sk, emsg, flags);
275 err = espintcp_sendskmsg_locked(sk, emsg, flags);
281 memset(emsg, 0, sizeof(*emsg));
291 struct espintcp_msg *emsg = &ctx->partial;
305 if (emsg->len) {
312 emsg->offset = offset;
313 emsg->len = len;
314 emsg->skb = skb;
326 struct espintcp_msg *emsg = &ctx->partial;
351 sk_msg_init(&emsg->skmsg);
354 err = sk_msg_alloc(sk, &emsg->skmsg, msglen, 0);
368 err = sk_msg_memcopy_from_iter(sk, &pfx_iter, &emsg->skmsg,
373 err = sk_msg_memcopy_from_iter(sk, &msg->msg_iter, &emsg->skmsg, size);
377 end = emsg->skmsg.sg.end;
378 emsg->len = size;
380 sg_mark_end(sk_msg_elem(&emsg->skmsg, end));
392 sk_msg_free(sk, &emsg->skmsg);
393 memset(emsg, 0, sizeof(*emsg));
530 struct espintcp_msg *emsg = &ctx->partial;
543 if (emsg->len) {
544 if (emsg->skb)
545 kfree_skb(emsg->skb);
547 sk_msg_free(sk, &emsg->skmsg);