Ejemplo n.º 1
0
int main(int argc, char* argv[]) {
  int sockfd;
  struct sockaddr_in addr;
  socklen_t addrlen = sizeof(addr);

  network_init();

  sockfd = common_socket(AF_INET, SOCK_STREAM, 0);
  addr.sin_addr.s_addr = inet_addr("127.0.0.1");
  addr.sin_family      = AF_INET;
  addr.sin_port        = htons(5555);
  common_connect(sockfd, (struct sockaddr*)&addr, addrlen);

  logical_cli(stdin, sockfd);

  common_close(sockfd);
  network_destroy();

  return 0;
}
Ejemplo n.º 2
0
status_t
_user_connect(int socket, const struct sockaddr *userAddress,
	socklen_t addressLength)
{
	// check parameters and copy address from userland
	if (userAddress == NULL || addressLength > MAX_SOCKET_ADDRESS_LENGTH)
		return B_BAD_VALUE;

	sockaddr_storage address;
	if (!IS_USER_ADDRESS(userAddress)
			|| user_memcpy(&address, userAddress, addressLength) != B_OK) {
		return B_BAD_ADDRESS;
	}

	address.ss_len = addressLength;
		// make sure the sa_len field is set correctly

	SyscallRestartWrapper<status_t> error;

	return error = common_connect(socket, (sockaddr*)&address, addressLength,
		false);
}
Ejemplo n.º 3
0
static int connect_to_host(load_reference lLoad, socket_reference rReference,
remote_connection sSocket, const struct sockaddr *aAddress, socklen_t lLength,
const char *aActual)
{ return common_connect(rReference, sSocket, aAddress, lLength, false, aActual); }
Ejemplo n.º 4
0
int
connect(int socket, const struct sockaddr *address, socklen_t addressLength)
{
	SyscallFlagUnsetter _;
	RETURN_AND_SET_ERRNO(common_connect(socket, address, addressLength, true));
}