Lines Matching refs:emsg
184 static int espintcp_sendskb_locked(struct sock *sk, struct espintcp_msg *emsg,
190 ret = skb_send_sock_locked(sk, emsg->skb,
191 emsg->offset, emsg->len);
195 emsg->len -= ret;
196 emsg->offset += ret;
197 } while (emsg->len > 0);
199 kfree_skb(emsg->skb);
200 memset(emsg, 0, sizeof(*emsg));
206 struct espintcp_msg *emsg, int flags)
211 struct sk_msg *skmsg = &emsg->skmsg;
220 size_t size = sg->length - emsg->offset;
221 int offset = sg->offset + emsg->offset;
224 emsg->offset = 0;
235 emsg->offset = offset - sg->offset;
252 memset(emsg, 0, sizeof(*emsg));
260 struct espintcp_msg *emsg = &ctx->partial;
263 if (!emsg->len)
270 if (emsg->skb)
271 err = espintcp_sendskb_locked(sk, emsg, flags);
273 err = espintcp_sendskmsg_locked(sk, emsg, flags);
279 memset(emsg, 0, sizeof(*emsg));
289 struct espintcp_msg *emsg = &ctx->partial;
303 if (emsg->len) {
310 emsg->offset = offset;
311 emsg->len = len;
312 emsg->skb = skb;
324 struct espintcp_msg *emsg = &ctx->partial;
349 sk_msg_init(&emsg->skmsg);
352 err = sk_msg_alloc(sk, &emsg->skmsg, msglen, 0);
366 err = sk_msg_memcopy_from_iter(sk, &pfx_iter, &emsg->skmsg,
371 err = sk_msg_memcopy_from_iter(sk, &msg->msg_iter, &emsg->skmsg, size);
375 end = emsg->skmsg.sg.end;
376 emsg->len = size;
378 sg_mark_end(sk_msg_elem(&emsg->skmsg, end));
390 sk_msg_free(sk, &emsg->skmsg);
391 memset(emsg, 0, sizeof(*emsg));
528 struct espintcp_msg *emsg = &ctx->partial;
541 if (emsg->len) {
542 if (emsg->skb)
543 kfree_skb(emsg->skb);
545 sk_msg_free(sk, &emsg->skmsg);