Esempio n. 1
0
Variant f_socket_create(int domain, int type, int protocol) {
  check_socket_parameters(domain, type);
  int socketId = socket(domain, type, protocol);
  if (socketId == -1) {
    Socket dummySock; // for setting last socket error
    SOCKET_ERROR((&dummySock), "Unable to create socket", errno);
    return false;
  }
  Socket *sock = new Socket(socketId, domain);
  Object ret(sock);
  return ret;
}
Esempio n. 2
0
Variant f_socket_create(int domain, int type, int protocol) {
  check_socket_parameters(domain, type);

  Socket *sock = new Socket(socket(domain, type, protocol), domain);
  Object ret(sock);
  if (!sock->valid()) {
    raise_warning("Unable to create socket [%d]: %s", errno,
                    Util::safe_strerror(errno).c_str());
    return false;
  }

  return ret;
}
Esempio n. 3
0
Variant HHVM_FUNCTION(socket_create,
                      int domain,
                      int type,
                      int protocol) {
  check_socket_parameters(domain, type);
  int socketId = socket(domain, type, protocol);
  if (socketId == -1) {
    SOCKET_ERROR(makeSmartPtr<Socket>(),
                 "Unable to create socket",
                 errno);
    return false;
  }
  return Variant(makeSmartPtr<Socket>(socketId, domain));
}
Esempio n. 4
0
bool f_socket_create_pair(int domain, int type, int protocol, VRefParam fd) {
  check_socket_parameters(domain, type);

  int fds_array[2];
  if (socketpair(domain, type, protocol, fds_array) != 0) {
    Socket dummySock; // for setting last socket error
    SOCKET_ERROR((&dummySock), "unable to create socket pair", errno);
    return false;
  }

  Array ret;
  ret.set(0, Object(new Socket(fds_array[0], domain)));
  ret.set(1, Object(new Socket(fds_array[1], domain)));
  fd = ret;
  return true;
}
Esempio n. 5
0
bool f_socket_create_pair(int domain, int type, int protocol, Variant fd) {
  check_socket_parameters(domain, type);

  int fds_array[2];
  if (socketpair(domain, type, protocol, fds_array) != 0) {
    raise_warning("unable to create socket pair [%d]: %s", errno,
                    Util::safe_strerror(errno).c_str());
    return false;
  }

  Array ret;
  ret.set(0, Object(new Socket(fds_array[0], domain)));
  ret.set(1, Object(new Socket(fds_array[1], domain)));
  fd = ret;
  return true;
}
Esempio n. 6
0
bool HHVM_FUNCTION(socket_create_pair,
                   int domain,
                   int type,
                   int protocol,
                   VRefParam fd) {
  check_socket_parameters(domain, type);

  int fds_array[2];
  if (socketpair(domain, type, protocol, fds_array) != 0) {
    Socket dummySock; // for setting last socket error
    SOCKET_ERROR((&dummySock), "unable to create socket pair", errno);
    return false;
  }

  fd = make_packed_array(
    Resource(new Socket(fds_array[0], domain, nullptr, 0, 0.0,
                        s_socktype_generic)),
    Resource(new Socket(fds_array[1], domain, nullptr, 0, 0.0,
                        s_socktype_generic))
  );
  return true;
}
Esempio n. 7
0
bool HHVM_FUNCTION(socket_create_pair,
                   int domain,
                   int type,
                   int protocol,
                   VRefParam fd) {
  check_socket_parameters(domain, type);

  int fds_array[2];
  if (socketpair(domain, type, protocol, fds_array) != 0) {
    SOCKET_ERROR(makeSmartPtr<Socket>(),
                 "unable to create socket pair",
                 errno);
    return false;
  }

  fd = make_packed_array(
    Variant(makeSmartPtr<Socket>(fds_array[0], domain, nullptr, 0, 0.0,
                                 s_socktype_generic)),
    Variant(makeSmartPtr<Socket>(fds_array[1], domain, nullptr, 0, 0.0,
                                 s_socktype_generic))
  );
  return true;
}