Lines Matching refs:emsg

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