Sorry, that's backwards: int one = 1; if (( proto = getprotobyname( "tcp" )) == NULL ) { syslog( LOG_ERR, "getprotobyname: %m" ); return( -1 ); } if ( setsockopt( socket_fd, proto->p_proto, TCP_NODELAY, &one, sizeof( one )) != 0 ) { syslog( LOG_ERR, "snet_setopt: %m" ); return( -1 ); } Hopefully you get the idea! :wes