Lines Matching defs:vsk

93 /* Per-socket state (accessed via vsk->trans) */
95 struct vsock_sock *vsk;
158 static bool hvs_check_transport(struct vsock_sock *vsk);
250 struct vsock_sock *vsk = vsock_sk(sk);
251 struct hvsock *hvs = vsk->trans;
261 static void hvs_do_close_lock_held(struct vsock_sock *vsk,
264 struct sock *sk = sk_vsock(vsk);
267 vsk->peer_shutdown = SHUTDOWN_MASK;
268 if (vsock_stream_has_data(vsk) <= 0)
271 if (vsk->close_work_scheduled &&
272 (!cancel_timeout || cancel_delayed_work(&vsk->close_work))) {
273 vsk->close_work_scheduled = false;
274 vsock_remove_sock(vsk);
442 static int hvs_sock_init(struct vsock_sock *vsk, struct vsock_sock *psk)
445 struct sock *sk = sk_vsock(vsk);
451 vsk->trans = hvs;
452 hvs->vsk = vsk;
458 static int hvs_connect(struct vsock_sock *vsk)
461 struct hvsock *h = vsk->trans;
464 vm.svm_port = vsk->local_addr.svm_port;
468 host.svm_port = vsk->remote_addr.svm_port;
486 static int hvs_shutdown(struct vsock_sock *vsk, int mode)
491 hvs_shutdown_lock_held(vsk->trans, mode);
497 struct vsock_sock *vsk =
499 struct sock *sk = sk_vsock(vsk);
504 hvs_do_close_lock_held(vsk, false);
506 vsk->close_work_scheduled = false;
512 static bool hvs_close_lock_held(struct vsock_sock *vsk)
514 struct sock *sk = sk_vsock(vsk);
521 hvs_shutdown_lock_held(vsk->trans, SHUTDOWN_MASK);
528 INIT_DELAYED_WORK(&vsk->close_work, hvs_close_timeout);
529 vsk->close_work_scheduled = true;
530 schedule_delayed_work(&vsk->close_work, HVS_CLOSE_TIMEOUT);
534 static void hvs_release(struct vsock_sock *vsk)
538 remove_sock = hvs_close_lock_held(vsk);
540 vsock_remove_sock(vsk);
543 static void hvs_destruct(struct vsock_sock *vsk)
545 struct hvsock *hvs = vsk->trans;
554 static int hvs_dgram_bind(struct vsock_sock *vsk, struct sockaddr_vm *addr)
559 static int hvs_dgram_dequeue(struct vsock_sock *vsk, struct msghdr *msg,
565 static int hvs_dgram_enqueue(struct vsock_sock *vsk,
595 hvs->vsk->peer_shutdown |= SEND_SHUTDOWN;
603 static ssize_t hvs_stream_dequeue(struct vsock_sock *vsk, struct msghdr *msg,
606 struct hvsock *hvs = vsk->trans;
645 static ssize_t hvs_stream_enqueue(struct vsock_sock *vsk, struct msghdr *msg,
648 struct hvsock *hvs = vsk->trans;
693 static s64 hvs_stream_has_data(struct vsock_sock *vsk)
695 struct hvsock *hvs = vsk->trans;
706 vsk->peer_shutdown |= SEND_SHUTDOWN;
717 static s64 hvs_stream_has_space(struct vsock_sock *vsk)
719 struct hvsock *hvs = vsk->trans;
724 static u64 hvs_stream_rcvhiwat(struct vsock_sock *vsk)
729 static bool hvs_stream_is_active(struct vsock_sock *vsk)
731 struct hvsock *hvs = vsk->trans;
745 int hvs_notify_poll_in(struct vsock_sock *vsk, size_t target, bool *readable)
747 struct hvsock *hvs = vsk->trans;
754 int hvs_notify_poll_out(struct vsock_sock *vsk, size_t target, bool *writable)
756 *writable = hvs_stream_has_space(vsk) > 0;
762 int hvs_notify_recv_init(struct vsock_sock *vsk, size_t target,
769 int hvs_notify_recv_pre_block(struct vsock_sock *vsk, size_t target,
776 int hvs_notify_recv_pre_dequeue(struct vsock_sock *vsk, size_t target,
783 int hvs_notify_recv_post_dequeue(struct vsock_sock *vsk, size_t target,
791 int hvs_notify_send_init(struct vsock_sock *vsk,
798 int hvs_notify_send_pre_block(struct vsock_sock *vsk,
805 int hvs_notify_send_pre_enqueue(struct vsock_sock *vsk,
812 int hvs_notify_send_post_enqueue(struct vsock_sock *vsk, ssize_t written,
819 int hvs_notify_set_rcvlowat(struct vsock_sock *vsk, int val)
862 static bool hvs_check_transport(struct vsock_sock *vsk)
864 return vsk->transport == &hvs_transport;