reindent-20030715
[openafs.git] / src / ntp / ntp_sock.c
index 66b1065..d8046a1 100644 (file)
@@ -10,7 +10,8 @@
 #include <afsconfig.h>
 #include <afs/param.h>
 
-RCSID("$Header$");
+RCSID
+    ("$Header$");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -40,40 +41,39 @@ extern int errno;
 
 #include "AFS_component_version_number.c"
 
-main() {
-       int i, cc, val;
-       char foo[10];
+main()
+{
+    int i, cc, val;
+    char foo[10];
 
-       syslog(LOG_ERR, "ifconfig test");
-       create_sockets(htons(43242));
-       for (i = 0; i < nintf; i++) {
-               printf("%d: %s fd %d  addr %s  mask %x ",
-                      i, addrs[i].name, addrs[i].fd,
-                      inet_ntoa(addrs[i].sin.sin_addr.s_addr),
-                      ntohl(addrs[i].mask.sin_addr.s_addr));
-               cc = sizeof(val);
-               if (getsockopt(addrs[0].fd, SOL_SOCKET, SO_BROADCAST,
-                              (char*)&val, &cc)) {
-                       perror("getsockopt");
-                       exit(1);
-               }
-               printf("BCAST opt %d", val);
-               cc = sizeof(val);
-               if (getsockopt(addrs[0].fd, SOL_SOCKET, SO_RCVBUF,
-                              (char*)&val, &cc)) {
-                       perror("getsockopt");
-                       exit(1);
-               }
-               printf("sockbuf size = %d ", val);
-               putchar('\n');
+    syslog(LOG_ERR, "ifconfig test");
+    create_sockets(htons(43242));
+    for (i = 0; i < nintf; i++) {
+       printf("%d: %s fd %d  addr %s  mask %x ", i, addrs[i].name,
+              addrs[i].fd, inet_ntoa(addrs[i].sin.sin_addr.s_addr),
+              ntohl(addrs[i].mask.sin_addr.s_addr));
+       cc = sizeof(val);
+       if (getsockopt
+           (addrs[0].fd, SOL_SOCKET, SO_BROADCAST, (char *)&val, &cc)) {
+           perror("getsockopt");
+           exit(1);
        }
-
-       for (i=0; i < nintf; i++) {
-               fprintf(stderr, "Read fd %d.. ", addrs[i].fd);
-               cc = read(addrs[i].fd, foo, 10);
-               fprintf(stderr, " returns %d ", cc);
-               perror("read errno");
+       printf("BCAST opt %d", val);
+       cc = sizeof(val);
+       if (getsockopt(addrs[0].fd, SOL_SOCKET, SO_RCVBUF, (char *)&val, &cc)) {
+           perror("getsockopt");
+           exit(1);
        }
+       printf("sockbuf size = %d ", val);
+       putchar('\n');
+    }
+
+    for (i = 0; i < nintf; i++) {
+       fprintf(stderr, "Read fd %d.. ", addrs[i].fd);
+       cc = read(addrs[i].fd, foo, 10);
+       fprintf(stderr, " returns %d ", cc);
+       perror("read errno");
+    }
 }
 #endif
 
@@ -83,44 +83,43 @@ main() {
  *  socket at the INADDR_ANY address.
  */
 create_sockets(port)
-       unsigned int port;
+     unsigned int port;
 {
-       addrs[0].sin.sin_family = AF_INET;
-       addrs[0].sin.sin_port = 0;
-       addrs[0].sin.sin_addr.s_addr = INADDR_ANY;
-       addrs[0].sin.sin_mask.s_addr = htonl(~0);
-       addrs[0].name = "wildcard";
+    addrs[0].sin.sin_family = AF_INET;
+    addrs[0].sin.sin_port = 0;
+    addrs[0].sin.sin_addr.s_addr = INADDR_ANY;
+    addrs[0].sin.sin_mask.s_addr = htonl(~0);
+    addrs[0].name = "wildcard";
 
-       if ((addrs[0].fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
-               syslog(LOG_ERR, "socket() failed: %m");
+    if ((addrs[0].fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+       syslog(LOG_ERR, "socket() failed: %m");
 #ifdef TEST
-               perror( "socket() failed");
+       perror("socket() failed");
 #endif
-               exit(1);
-               /*NOTREACHED*/
-       }
+       exit(1);
+     /*NOTREACHED*/}
 
-       if (fcntl(addrs[i].fd, F_SETFL, FNDELAY) < 0) {
-               syslog(LOG_ERR, "fcntl(FNDELAY) fails: %m");
+    if (fcntl(addrs[i].fd, F_SETFL, FNDELAY) < 0) {
+       syslog(LOG_ERR, "fcntl(FNDELAY) fails: %m");
 #ifdef TEST
-               perror("fcntl(FNDELAY) fails");
+       perror("fcntl(FNDELAY) fails");
 #endif
-               exit(1);
-               /*NOTREACHED*/
-       }
-       addrs[0].sin.sin_family = AF_INET;
-       addrs[0].sin.sin_port = port;
-       addrs[0].if_flags = 0;
-       if (bind(addrs[0].fd, (struct sockaddr *)&addrs[0].sin,
-                sizeof(addrs[0].sin)) < 0) {
-               syslog(LOG_ERR, "bind() fails: %m");
+       exit(1);
+     /*NOTREACHED*/}
+    addrs[0].sin.sin_family = AF_INET;
+    addrs[0].sin.sin_port = port;
+    addrs[0].if_flags = 0;
+    if (bind
+       (addrs[0].fd, (struct sockaddr *)&addrs[0].sin,
+        sizeof(addrs[0].sin)) < 0) {
+       syslog(LOG_ERR, "bind() fails: %m");
 #ifdef TEST
-               perror("bind fails\n");
+       perror("bind fails\n");
 #endif
-               exit(1);
-       }
-       nintf = 1;
-       return nintf;
+       exit(1);
+    }
+    nintf = 1;
+    return nintf;
 }
 #else
 /*
@@ -128,199 +127,197 @@ create_sockets(port)
  *  address.
  */
 create_sockets(port)
-       unsigned int port;
+     unsigned int port;
 {
-       char    buf[1024];
-       struct  ifconf  ifc;
-       struct  ifreq   ifreq, *ifr;
-       int on = 1, off = 0;
-       int n, i, vs;
-       extern char *malloc();
+    char buf[1024];
+    struct ifconf ifc;
+    struct ifreq ifreq, *ifr;
+    int on = 1, off = 0;
+    int n, i, vs;
+    extern char *malloc();
 
-       /*
-        * create pseudo-interface with wildcard address
-        */
-       addrs[nintf].sin.sin_family = AF_INET;
-       addrs[nintf].sin.sin_port = 0;
-       addrs[nintf].sin.sin_addr.s_addr = INADDR_ANY;
-       addrs[nintf].name = "wild";
-       addrs[nintf].mask.sin_addr.s_addr = htonl(~0);
+    /*
+     * create pseudo-interface with wildcard address
+     */
+    addrs[nintf].sin.sin_family = AF_INET;
+    addrs[nintf].sin.sin_port = 0;
+    addrs[nintf].sin.sin_addr.s_addr = INADDR_ANY;
+    addrs[nintf].name = "wild";
+    addrs[nintf].mask.sin_addr.s_addr = htonl(~0);
 
-       nintf = 1;
+    nintf = 1;
 
-       if ((vs = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
-               syslog(LOG_ERR, "vs=socket(AF_INET, SOCK_DGRAM) %m");
+    if ((vs = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+       syslog(LOG_ERR, "vs=socket(AF_INET, SOCK_DGRAM) %m");
 #ifdef TEST
-               perror("vs=socket(AF_INET, SOCK_DGRAM)");
+       perror("vs=socket(AF_INET, SOCK_DGRAM)");
 #endif
-               exit(1);
-       }
-       ifc.ifc_len = sizeof(buf);
-       ifc.ifc_buf = buf;
-       if (ioctl(vs, SIOCGIFCONF, (char *)&ifc) < 0) {
-               syslog(LOG_ERR, "get interface configuration: %m");
+       exit(1);
+    }
+    ifc.ifc_len = sizeof(buf);
+    ifc.ifc_buf = buf;
+    if (ioctl(vs, SIOCGIFCONF, (char *)&ifc) < 0) {
+       syslog(LOG_ERR, "get interface configuration: %m");
 #ifdef TEST
-               perror("ioctl(SIOCGIFCONF) fails");
+       perror("ioctl(SIOCGIFCONF) fails");
 #endif
-               exit(1);
-       }
-       n = ifc.ifc_len/sizeof(struct ifreq);
+       exit(1);
+    }
+    n = ifc.ifc_len / sizeof(struct ifreq);
 
-       for (ifr = ifc.ifc_req; n > 0; n--, ifr++) {
-               if (ifr->ifr_addr.sa_family != AF_INET)
-                       continue;
-               ifreq = *ifr;
-               if (ioctl(vs, SIOCGIFFLAGS, (char *)&ifreq) < 0) {
-                       syslog(LOG_ERR, "get interface flags: %m");
+    for (ifr = ifc.ifc_req; n > 0; n--, ifr++) {
+       if (ifr->ifr_addr.sa_family != AF_INET)
+           continue;
+       ifreq = *ifr;
+       if (ioctl(vs, SIOCGIFFLAGS, (char *)&ifreq) < 0) {
+           syslog(LOG_ERR, "get interface flags: %m");
 #ifdef TEST
-                       perror("SIOCGIFFFLAGS fails");
+           perror("SIOCGIFFFLAGS fails");
 #endif
-                       continue;
-               }
-               if ((ifreq.ifr_flags & IFF_UP) == 0)
-                       continue;
-               addrs[nintf].if_flags = ifreq.ifr_flags;
+           continue;
+       }
+       if ((ifreq.ifr_flags & IFF_UP) == 0)
+           continue;
+       addrs[nintf].if_flags = ifreq.ifr_flags;
 
-               if (ioctl(vs, SIOCGIFADDR, (char *)&ifreq) < 0) {
-                       syslog(LOG_ERR, "get interface addr: %m");
+       if (ioctl(vs, SIOCGIFADDR, (char *)&ifreq) < 0) {
+           syslog(LOG_ERR, "get interface addr: %m");
 #ifdef TEST
-                       perror("SIOCGIFADDR fails");
+           perror("SIOCGIFADDR fails");
 #endif
-                       continue;
-               }
-               if ((addrs[nintf].name = malloc(strlen(ifreq.ifr_name)+1))
-                               == NULL) {
-                       syslog(LOG_ERR, "malloc failed");
-                       exit(1);
-               }
-               strcpy(addrs[nintf].name, ifreq.ifr_name);
-               addrs[nintf].sin = *(struct sockaddr_in *)&ifreq.ifr_addr;
+           continue;
+       }
+       if ((addrs[nintf].name = malloc(strlen(ifreq.ifr_name) + 1))
+           == NULL) {
+           syslog(LOG_ERR, "malloc failed");
+           exit(1);
+       }
+       strcpy(addrs[nintf].name, ifreq.ifr_name);
+       addrs[nintf].sin = *(struct sockaddr_in *)&ifreq.ifr_addr;
 
 #ifdef SIOCGIFBRDADDR
-               if (addrs[nintf].if_flags & IFF_BROADCAST) {
-                       if (ioctl(vs, SIOCGIFBRDADDR, (char *)&ifreq) < 0) {
-                               syslog(LOG_ERR, "SIOCGIFBRDADDR fails");
+       if (addrs[nintf].if_flags & IFF_BROADCAST) {
+           if (ioctl(vs, SIOCGIFBRDADDR, (char *)&ifreq) < 0) {
+               syslog(LOG_ERR, "SIOCGIFBRDADDR fails");
 #ifdef TEST
-                               perror("SIOCGIFBRDADDR fails");
+               perror("SIOCGIFBRDADDR fails");
 #endif
-                               exit(1);
-                       }
+               exit(1);
+           }
 #ifdef ifr_broadaddr
-                       addrs[nintf].bcast =
-                               *(struct sockaddr_in *)&ifreq.ifr_broadaddr;
+           addrs[nintf].bcast = *(struct sockaddr_in *)&ifreq.ifr_broadaddr;
 #else
-                       addrs[nintf].bcast =
-                               *(struct sockaddr_in *)&ifreq.ifr_addr;
+           addrs[nintf].bcast = *(struct sockaddr_in *)&ifreq.ifr_addr;
 #endif
-               }
+       }
 #endif /* SIOCGIFBRDADDR */
 #ifdef SIOCGIFNETMASK
-               if (ioctl(vs, SIOCGIFNETMASK, (char *)&ifreq) < 0) {
-                       syslog(LOG_ERR, "SIOCGIFNETMASK fails");
+       if (ioctl(vs, SIOCGIFNETMASK, (char *)&ifreq) < 0) {
+           syslog(LOG_ERR, "SIOCGIFNETMASK fails");
 #ifdef TEST
-                       perror("SIOCGIFNETMASK fails");
+           perror("SIOCGIFNETMASK fails");
 #endif
-                       exit(1);
-               }
-               addrs[nintf].mask = *(struct sockaddr_in *)&ifreq.ifr_addr;
+           exit(1);
+       }
+       addrs[nintf].mask = *(struct sockaddr_in *)&ifreq.ifr_addr;
 #endif /* SIOCGIFNETMASK */
 
-               /* 
-                * look for an already existing source interface address.  If
-                * the machine has multiple point to point interfaces, then 
-                * the local address may appear more than once.
-                */                
-               for (i=0; i < nintf; i++)
-                       if (addrs[i].sin.sin_addr.s_addr == 
-                           addrs[nintf].sin.sin_addr.s_addr) {
+       /* 
+        * look for an already existing source interface address.  If
+        * the machine has multiple point to point interfaces, then 
+        * the local address may appear more than once.
+        */
+       for (i = 0; i < nintf; i++)
+           if (addrs[i].sin.sin_addr.s_addr ==
+               addrs[nintf].sin.sin_addr.s_addr) {
 #ifdef TEST
-                               printf("dup interface address %s on %s\n",
-                                       inet_ntoa(addrs[nintf].sin.sin_addr.s_addr),
-                                       ifreq.ifr_name);
-#endif               
-                               goto next;
-                       }
-               nintf++;
-          next:;
-       }
-       close(vs);
+               printf("dup interface address %s on %s\n",
+                      inet_ntoa(addrs[nintf].sin.sin_addr.s_addr),
+                      ifreq.ifr_name);
+#endif
+               goto next;
+           }
+       nintf++;
+      next:;
+    }
+    close(vs);
 
-       for (i = 0; i < nintf; i++) {
-               /* create a datagram (UDP) socket */
-               if ((addrs[i].fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
-                       syslog(LOG_ERR, "socket() failed: %m");
+    for (i = 0; i < nintf; i++) {
+       /* create a datagram (UDP) socket */
+       if ((addrs[i].fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+           syslog(LOG_ERR, "socket() failed: %m");
 #ifdef TEST
-                       perror("socket(AF_INET, SOCK_DGRAM) fails");
+           perror("socket(AF_INET, SOCK_DGRAM) fails");
 #endif
-                       exit(1);
-                       /*NOTREACHED*/
-               }
+           exit(1);
+        /*NOTREACHED*/}
 
-               /* set SO_REUSEADDR since we will be binding the same port
-                  number on each interface */
-               if (setsockopt(addrs[i].fd, SOL_SOCKET, SO_REUSEADDR,
-                                 (char *)&on, sizeof(on))) {
+       /* set SO_REUSEADDR since we will be binding the same port
+        * number on each interface */
+       if (setsockopt
+           (addrs[i].fd, SOL_SOCKET, SO_REUSEADDR, (char *)&on,
+            sizeof(on))) {
 #ifdef TEST
-                       perror("setsockopt SO_REUSEADDR on");
+           perror("setsockopt SO_REUSEADDR on");
 #endif
-                       syslog(LOG_ERR, "setsockopt SO_REUSEADDR on fails: %m");
-               }
+           syslog(LOG_ERR, "setsockopt SO_REUSEADDR on fails: %m");
+       }
 
-               /*
-                * set non-blocking I/O on the descriptor
-                */
-               if (fcntl(addrs[i].fd, F_SETFL, FNDELAY) < 0) {
-                       syslog(LOG_ERR, "fcntl(FNDELAY) fails: %m");
+       /*
+        * set non-blocking I/O on the descriptor
+        */
+       if (fcntl(addrs[i].fd, F_SETFL, FNDELAY) < 0) {
+           syslog(LOG_ERR, "fcntl(FNDELAY) fails: %m");
 #ifdef TEST
-                       perror("fcntl(F_SETFL, FNDELAY) fails");
+           perror("fcntl(F_SETFL, FNDELAY) fails");
 #endif
-                       exit(1);
-                       /*NOTREACHED*/
-               }
+           exit(1);
+        /*NOTREACHED*/}
 
-               /*
-                * finally, bind the local address address.
-                */
-               addrs[i].sin.sin_family = AF_INET;
-               addrs[i].sin.sin_port = port;
-               if (bind(addrs[i].fd, (struct sockaddr *)&addrs[i].sin,
-                        sizeof(addrs[i].sin)) < 0) {
-                       syslog(LOG_ERR, "bind() fails: %m");
+       /*
+        * finally, bind the local address address.
+        */
+       addrs[i].sin.sin_family = AF_INET;
+       addrs[i].sin.sin_port = port;
+       if (bind
+           (addrs[i].fd, (struct sockaddr *)&addrs[i].sin,
+            sizeof(addrs[i].sin)) < 0) {
+           syslog(LOG_ERR, "bind() fails: %m");
 #ifdef TEST
-                       perror("bind fails");
+           perror("bind fails");
 #endif
-                       exit(1);
-               }
+           exit(1);
+       }
 
-               /*
-                *  Turn off the SO_REUSEADDR socket option.  It apparently
-                *  causes heartburn on systems with multicast IP installed.
-                *  On normal systems it only gets looked at when the address
-                *  is being bound anyway..
-                */
-               if (setsockopt(addrs[i].fd, SOL_SOCKET, SO_REUSEADDR,
-                              (char *)&off, sizeof(off))) {
-                       syslog(LOG_ERR, "setsockopt SO_REUSEADDR off fails: %m");
+       /*
+        *  Turn off the SO_REUSEADDR socket option.  It apparently
+        *  causes heartburn on systems with multicast IP installed.
+        *  On normal systems it only gets looked at when the address
+        *  is being bound anyway..
+        */
+       if (setsockopt
+           (addrs[i].fd, SOL_SOCKET, SO_REUSEADDR, (char *)&off,
+            sizeof(off))) {
+           syslog(LOG_ERR, "setsockopt SO_REUSEADDR off fails: %m");
 #ifdef TEST
-                       perror("setsockopt SO_REUSEADDR off");
+           perror("setsockopt SO_REUSEADDR off");
 #endif
-               }
-
+       }
 #ifdef SO_BROADCAST
-               /* if this interface can support broadcast, set SO_BROADCAST */
-               if (addrs[i].if_flags & IFF_BROADCAST) {
-                       if (setsockopt(addrs[i].fd, SOL_SOCKET, SO_BROADCAST,
-                                      (char *)&on, sizeof(on))) {
-                               syslog(LOG_ERR, "setsockopt(SO_BROADCAST): %m");
+       /* if this interface can support broadcast, set SO_BROADCAST */
+       if (addrs[i].if_flags & IFF_BROADCAST) {
+           if (setsockopt
+               (addrs[i].fd, SOL_SOCKET, SO_BROADCAST, (char *)&on,
+                sizeof(on))) {
+               syslog(LOG_ERR, "setsockopt(SO_BROADCAST): %m");
 #ifdef TEST
-                               perror("setsockopt(SO_BROADCAST) on");
+               perror("setsockopt(SO_BROADCAST) on");
 #endif
-                       }
-               }
-#endif /* SO_BROADCAST */
+           }
        }
-       return nintf;
+#endif /* SO_BROADCAST */
+    }
+    return nintf;
 }
 
 #endif
-