i=(*cb)(name,sock);
i=(*cb)(name,sock, context);
int do_server(port, ret, cb)int port;int *ret;int (*cb)();	{	int sock;	char *name;	int accept_socket;	int i;	if (!init_server(&accept_socket,port)) return(0);	if (ret != NULL)		{		*ret=accept_socket;		/* return(1);*/		}	for (;;)		{		if (do_accept(accept_socket,&sock,&name) == 0)			{			SHUTDOWN(accept_socket);			return(0);			}		i=(*cb)(name,sock);		if (name != NULL) Free(name);		SHUTDOWN2(sock);		if (i < 0)			{			SHUTDOWN2(accept_socket);			return(i);			}		}	}