Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jul 2003 15:00:08 -0700 (PDT)
From:      Diomidis Spinellis <dds@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/lib/libc/sys connect.2
Message-ID:  <200307232200.h6NM08vo035869@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
dds         2003/07/23 15:00:08 PDT

  FreeBSD src repository

  Modified files:
    lib/libc/sys         connect.2 
  Log:
  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
  
  Revision  Changes    Path
  1.24      +6 -0      src/lib/libc/sys/connect.2



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307232200.h6NM08vo035869>