]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Document an additional error return value. The connect(2) call can also
authorDiomidis Spinellis <dds@FreeBSD.org>
Wed, 23 Jul 2003 22:00:08 +0000 (22:00 +0000)
committerDiomidis Spinellis <dds@FreeBSD.org>
Wed, 23 Jul 2003 22:00:08 +0000 (22:00 +0000)
commit55e24f6e773b7c824eb06276faf1386b20bf7440
tree7454fd70fb5a7dd09a3eaef4800268ec407af1e8
parent6ebe96017dc2566a3bdf13aa67c1e56fb0d36e32
Document an additional error return value.  The connect(2) call can also
return EACCES on non-Unix domain sockets as demonstrated by the
following program:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int
main(int argc, char *argv[])
{
struct sockaddr_in rem_addr;
int sock;

if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket");
exit(1);
}

bzero((char *)&rem_addr, sizeof(rem_addr));
rem_addr.sin_family = AF_INET;
rem_addr.sin_addr.s_addr = INADDR_NONE;
rem_addr.sin_port = htons(10000);

if (connect(sock, (struct sockaddr *)&rem_addr,
sizeof(rem_addr)) < 0) {
perror("connect");
exit(1);
}
}

The call chain returning this value is probably:

kern/uipc_syscalls.c:connect
kern/uipc_socket.c:soconnect
netinet/tcp_usrreq.c:tcp_usr_connect
netinet/tcp_output.c:tcp_output
netinet/ip_output.c:ip_output

Reviewed by: schweikh (mentor)
MFC after: 2 weeks
lib/libc/sys/connect.2