/* @(#)xqt.c	1.3 */
#include "uucp.h"
#include <signal.h>

void exit();

/*
 * start up uucico for rmtname
 * return:
 *	none
 */
xuucico(rmtname)
char *rmtname;
{

	/*
	 * start uucico for rmtname system
	 */
	if (fork() == 0) {
		euucico(rmtname);
	}
	return;
}
euucico(rmtname)
char	*rmtname;
{
	char opt[100];

	close(0);
	close(1);
	close(2);
	open("/dev/null", 0);
	open("/dev/null", 1);
	open("/dev/null", 1);
	signal(SIGINT, SIG_IGN);
	signal(SIGHUP, SIG_IGN);
	signal(SIGQUIT, SIG_IGN);
	closelog();
	if (rmtname[0] != '\0')
		sprintf(opt, "-s%.7s", rmtname);
	else
		opt[0] = '\0';
	execle(UUCICO, "UUCICO", "-r1", opt, 0, Env);
	exit(100);
}


/*
 * start up uuxqt
 * return:
 *	none
 */
xuuxqt()
{

	/*
	 * start uuxqt
	 */
	if (fork() == 0) {
		close(0);
		close(1);
		close(2);
		open("/dev/null", 2);
		open("/dev/null", 2);
		open("/dev/null", 2);
		signal(SIGINT, SIG_IGN);
		signal(SIGHUP, SIG_IGN);
		signal(SIGQUIT, SIG_IGN);
		closelog();
		execle(UUXQT, "UUXQT",  0, Env);
		exit(100);
	}
	return;
}
xuucp(str)
char *str;
{
	char text[300];
	unsigned sleep();

	/*
	 * start uucp
	 */
	if (fork() == 0) {
		close(0);
		close(1);
		close(2);
		open("/dev/null", 0);
		open("/dev/null", 1);
		open("/dev/null", 1);
		signal(SIGINT, SIG_IGN);
		signal(SIGHUP, SIG_IGN);
		signal(SIGQUIT, SIG_IGN);
		closelog();
		sprintf(text, "%s -r %s", UUCP, str);
		execle(SHELL, "sh", "-c", text, 0, Env);
		exit(100);
	}
	sleep(15);
	return;
}
