/* Takes care of reconnecting to the computer. int cookie: Cookie of the machine to reconnect to. */ static int __yard_net_reconnect(int cookie) { SOCKET soket = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in * sin = make_sockaddr_in(yard_settings_by_cookie(cookie)->host, yard_settings_by_cookie(cookie)->port); connect(soket, (struct sockaddr *)sin, sizeof(struct sockaddr_in)); connections[cookie] = soket; }
void make_sockets(void) { int i; for(i = 0; i < num_sockets; i++) { struct sockaddr_in sa; if((sockets[i] = socket(AF_INET, SOCK_DGRAM, 0)) == -1) die("Could not create socket"); make_sockaddr_in(socket_names[i*2], socket_names[i*2+1], &sa); if(bind(sockets[i], (struct sockaddr*)&sa, sizeof sa)) die("Could not bind socket to address"); } setuidgid(opt_uid, opt_gid); }