ctl.c (141563) | ctl.c (178642) |
---|---|
1/* 2 * Copyright (c) 1983, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 19 unchanged lines hidden (view full) --- 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 34#include <sys/cdefs.h> 35 | 1/* 2 * Copyright (c) 1983, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 19 unchanged lines hidden (view full) --- 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 34#include <sys/cdefs.h> 35 |
36__FBSDID("$FreeBSD: head/usr.bin/talk/ctl.c 141563 2005-02-09 09:13:36Z stefanf $"); | 36__FBSDID("$FreeBSD: head/usr.bin/talk/ctl.c 178642 2008-04-28 21:08:42Z delphij $"); |
37 38#ifndef lint 39static const char sccsid[] = "@(#)ctl.c 8.1 (Berkeley) 6/6/93"; 40#endif 41 42/* 43 * This file handles haggling with the various talk daemons to 44 * get a socket to talk to. sockt is opened and connected in 45 * the progress 46 */ 47 48#include <sys/types.h> 49#include <sys/socket.h> 50 51#include <string.h> 52 53#include "talk.h" 54 | 37 38#ifndef lint 39static const char sccsid[] = "@(#)ctl.c 8.1 (Berkeley) 6/6/93"; 40#endif 41 42/* 43 * This file handles haggling with the various talk daemons to 44 * get a socket to talk to. sockt is opened and connected in 45 * the progress 46 */ 47 48#include <sys/types.h> 49#include <sys/socket.h> 50 51#include <string.h> 52 53#include "talk.h" 54 |
55struct sockaddr_in daemon_addr = { sizeof(daemon_addr), AF_INET }; 56struct sockaddr_in ctl_addr = { sizeof(ctl_addr), AF_INET }; 57struct sockaddr_in my_addr = { sizeof(my_addr), AF_INET }; | 55struct sockaddr_in daemon_addr = { .sin_len = sizeof(daemon_addr), .sin_family = AF_INET }; 56struct sockaddr_in ctl_addr = { .sin_len = sizeof(ctl_addr), .sin_family = AF_INET }; 57struct sockaddr_in my_addr = { .sin_len = sizeof(my_addr), .sin_family = AF_INET }; |
58 59 /* inet addresses of the two machines */ 60struct in_addr my_machine_addr; 61struct in_addr his_machine_addr; 62 63u_short daemon_port; /* port number of the talk daemon */ 64 65int ctl_sockt; 66int sockt; 67int invitation_waiting = 0; 68 69CTL_MSG msg; 70 71void | 58 59 /* inet addresses of the two machines */ 60struct in_addr my_machine_addr; 61struct in_addr his_machine_addr; 62 63u_short daemon_port; /* port number of the talk daemon */ 64 65int ctl_sockt; 66int sockt; 67int invitation_waiting = 0; 68 69CTL_MSG msg; 70 71void |
72open_sockt() | 72open_sockt(void) |
73{ 74 socklen_t length; 75 76 (void)memset(&my_addr, 0, sizeof(my_addr)); 77 my_addr.sin_family = AF_INET; 78 my_addr.sin_len = sizeof(my_addr); 79 my_addr.sin_addr = my_machine_addr; 80 my_addr.sin_port = 0; --- 4 unchanged lines hidden (view full) --- 85 p_error("Binding local socket"); 86 length = sizeof(my_addr); 87 if (getsockname(sockt, (struct sockaddr *)&my_addr, &length) == -1) 88 p_error("Bad address for socket"); 89} 90 91/* open the ctl socket */ 92void | 73{ 74 socklen_t length; 75 76 (void)memset(&my_addr, 0, sizeof(my_addr)); 77 my_addr.sin_family = AF_INET; 78 my_addr.sin_len = sizeof(my_addr); 79 my_addr.sin_addr = my_machine_addr; 80 my_addr.sin_port = 0; --- 4 unchanged lines hidden (view full) --- 85 p_error("Binding local socket"); 86 length = sizeof(my_addr); 87 if (getsockname(sockt, (struct sockaddr *)&my_addr, &length) == -1) 88 p_error("Bad address for socket"); 89} 90 91/* open the ctl socket */ 92void |
93open_ctl() | 93open_ctl(void) |
94{ 95 socklen_t length; 96 97 (void)memset(&ctl_addr, 0, sizeof(ctl_addr)); 98 ctl_addr.sin_family = AF_INET; 99 ctl_addr.sin_len = sizeof(my_addr); 100 ctl_addr.sin_port = 0; 101 ctl_addr.sin_addr = my_machine_addr; --- 6 unchanged lines hidden (view full) --- 108 length = sizeof(ctl_addr); 109 if (getsockname(ctl_sockt, 110 (struct sockaddr *)&ctl_addr, &length) == -1) 111 p_error("Bad address for ctl socket"); 112} 113 114/* print_addr is a debug print routine */ 115void | 94{ 95 socklen_t length; 96 97 (void)memset(&ctl_addr, 0, sizeof(ctl_addr)); 98 ctl_addr.sin_family = AF_INET; 99 ctl_addr.sin_len = sizeof(my_addr); 100 ctl_addr.sin_port = 0; 101 ctl_addr.sin_addr = my_machine_addr; --- 6 unchanged lines hidden (view full) --- 108 length = sizeof(ctl_addr); 109 if (getsockname(ctl_sockt, 110 (struct sockaddr *)&ctl_addr, &length) == -1) 111 p_error("Bad address for ctl socket"); 112} 113 114/* print_addr is a debug print routine */ 115void |
116print_addr(addr) 117 struct sockaddr_in addr; | 116print_addr(struct sockaddr_in addr) |
118{ 119 int i; 120 121 printf("addr = %lx, port = %o, family = %o zero = ", 122 (u_long)addr.sin_addr.s_addr, addr.sin_port, addr.sin_family); 123 for (i = 0; i<8;i++) 124 printf("%o ", (int)addr.sin_zero[i]); 125 putchar('\n'); 126} | 117{ 118 int i; 119 120 printf("addr = %lx, port = %o, family = %o zero = ", 121 (u_long)addr.sin_addr.s_addr, addr.sin_port, addr.sin_family); 122 for (i = 0; i<8;i++) 123 printf("%o ", (int)addr.sin_zero[i]); 124 putchar('\n'); 125} |