cvs commit: src/lib/libc/sys connect.2

Diomidis Spinellis dds at FreeBSD.org
Wed Jul 23 15:00:10 PDT 2003


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


More information about the cvs-all mailing list