static void	 replydirname __P((const char *, const char *));
static char	*curdir __P((void));static void	 end_login __P((void));static FILE	*getdatasock __P((char *));static int	guniquefd __P((char *, char **));static void	 lostconn __P((int));static void	 sigquit __P((int));static int	 receive_data __P((FILE *, FILE *));static void	 send_data __P((FILE *, FILE *, off_t, off_t, int));static struct passwd *		 sgetpwnam __P((char *));static char	*sgetsave __P((char *));static void	 reapchild __P((int));static int	 check_host __P((struct sockaddr_in *));void	 logxfer __P((char *, off_t, time_t));static char *curdir(){	static char path[MAXPATHLEN+1+1];	/* path + '/' + '\0' */	if (getcwd(path, sizeof(path)-2) == NULL)		return ("");	if (path[1] != '\0')		/* special case for root dir. */		strcat(path, "/");	/* For guest account, skip / since it's chrooted */	return (guest ? path+1 : path);}