Lines Matching refs:emsg
185 static int espintcp_sendskb_locked(struct sock *sk, struct espintcp_msg *emsg, in espintcp_sendskb_locked() argument
191 ret = skb_send_sock_locked(sk, emsg->skb, in espintcp_sendskb_locked()
192 emsg->offset, emsg->len); in espintcp_sendskb_locked()
196 emsg->len -= ret; in espintcp_sendskb_locked()
197 emsg->offset += ret; in espintcp_sendskb_locked()
198 } while (emsg->len > 0); in espintcp_sendskb_locked()
200 kfree_skb(emsg->skb); in espintcp_sendskb_locked()
201 memset(emsg, 0, sizeof(*emsg)); in espintcp_sendskb_locked()
207 struct espintcp_msg *emsg, int flags) in espintcp_sendskmsg_locked() argument
209 struct sk_msg *skmsg = &emsg->skmsg; in espintcp_sendskmsg_locked()
217 size_t size = sg->length - emsg->offset; in espintcp_sendskmsg_locked()
218 int offset = sg->offset + emsg->offset; in espintcp_sendskmsg_locked()
221 emsg->offset = 0; in espintcp_sendskmsg_locked()
230 emsg->offset = offset - sg->offset; in espintcp_sendskmsg_locked()
247 memset(emsg, 0, sizeof(*emsg)); in espintcp_sendskmsg_locked()
255 struct espintcp_msg *emsg = &ctx->partial; in espintcp_push_msgs() local
258 if (!emsg->len) in espintcp_push_msgs()
265 if (emsg->skb) in espintcp_push_msgs()
266 err = espintcp_sendskb_locked(sk, emsg, flags); in espintcp_push_msgs()
268 err = espintcp_sendskmsg_locked(sk, emsg, flags); in espintcp_push_msgs()
274 memset(emsg, 0, sizeof(*emsg)); in espintcp_push_msgs()
284 struct espintcp_msg *emsg = &ctx->partial; in espintcp_push_skb() local
298 if (emsg->len) { in espintcp_push_skb()
305 emsg->offset = offset; in espintcp_push_skb()
306 emsg->len = len; in espintcp_push_skb()
307 emsg->skb = skb; in espintcp_push_skb()
319 struct espintcp_msg *emsg = &ctx->partial; in espintcp_sendmsg() local
344 sk_msg_init(&emsg->skmsg); in espintcp_sendmsg()
347 err = sk_msg_alloc(sk, &emsg->skmsg, msglen, 0); in espintcp_sendmsg()
361 err = sk_msg_memcopy_from_iter(sk, &pfx_iter, &emsg->skmsg, in espintcp_sendmsg()
366 err = sk_msg_memcopy_from_iter(sk, &msg->msg_iter, &emsg->skmsg, size); in espintcp_sendmsg()
370 end = emsg->skmsg.sg.end; in espintcp_sendmsg()
371 emsg->len = size; in espintcp_sendmsg()
373 sg_mark_end(sk_msg_elem(&emsg->skmsg, end)); in espintcp_sendmsg()
385 sk_msg_free(sk, &emsg->skmsg); in espintcp_sendmsg()
386 memset(emsg, 0, sizeof(*emsg)); in espintcp_sendmsg()
520 struct espintcp_msg *emsg = &ctx->partial; in espintcp_close() local
533 if (emsg->len) { in espintcp_close()
534 if (emsg->skb) in espintcp_close()
535 kfree_skb(emsg->skb); in espintcp_close()
537 sk_msg_free(sk, &emsg->skmsg); in espintcp_close()