8 #if defined ZMQ_HAVE_VMCI
11 #include <vmci_sockets.h>
13 void zmq::tune_vmci_buffer_size (ctx_t *
context_,
15 uint64_t default_size_,
19 int family =
context_->get_vmci_socket_family ();
20 assert (family != -1);
22 if (default_size_ != 0) {
23 int rc = setsockopt (sockfd_, family, SO_VMCI_BUFFER_SIZE,
24 (
char *) &default_size_,
sizeof default_size_);
25 #if defined ZMQ_HAVE_WINDOWS
26 wsa_assert (rc != SOCKET_ERROR);
33 int rc = setsockopt (sockfd_, family, SO_VMCI_BUFFER_SIZE,
34 (
char *) &min_size_,
sizeof min_size_);
35 #if defined ZMQ_HAVE_WINDOWS
36 wsa_assert (rc != SOCKET_ERROR);
43 int rc = setsockopt (sockfd_, family, SO_VMCI_BUFFER_SIZE,
44 (
char *) &max_size_,
sizeof max_size_);
45 #if defined ZMQ_HAVE_WINDOWS
46 wsa_assert (rc != SOCKET_ERROR);
53 #if defined ZMQ_HAVE_WINDOWS
54 void zmq::tune_vmci_connect_timeout (ctx_t *
context_,
58 void zmq::tune_vmci_connect_timeout (ctx_t *
context_,
60 struct timeval timeout_)
63 int family =
context_->get_vmci_socket_family ();
64 assert (family != -1);
66 int rc = setsockopt (sockfd_, family, SO_VMCI_CONNECT_TIMEOUT,
67 (
char *) &timeout_,
sizeof timeout_);
68 #if defined ZMQ_HAVE_WINDOWS
69 wsa_assert (rc != SOCKET_ERROR);
75 zmq::fd_t zmq::vmci_open_socket (
const char *address_,
77 zmq::vmci_address_t *out_vmci_addr_)
80 int rc = out_vmci_addr_->resolve (address_);