pfd_receive,
pfd_receive,		        pfd_sent,
char *pfd_addforward(char *desthost, int destport, int port){    static struct plug_function_table fn_table = {	pfd_closing,	pfd_receive, /* should not happen... */	pfd_accepting    };    char *err;    struct PFwdPrivate *pr;    Socket s;    /*     * Open socket.     */    pr = (struct PFwdPrivate *) smalloc(sizeof(struct PFwdPrivate));    pr->fn = &fn_table;    pr->c = NULL;    strcpy(pr->hostname, desthost);    pr->port = destport;    pr->ready = 0;    pr->waiting = NULL;    pr->s = s = sk_newlistenner(port, (Plug) pr);    if ((err = sk_socket_error(s))) {	sfree(pr);	return err;    }    sk_set_private_ptr(s, pr);    return NULL;}