Blame contrib/sti.c

Packit ec106e
/*
Packit ec106e
 * sti.c: put text in some tty input buffer - aeb, 951009
Packit ec106e
 *
Packit ec106e
 * You may have to be root if the tty is not your controlling tty.
Packit ec106e
 */
Packit ec106e
#include <stdio.h>
Packit ec106e
#include <fcntl.h>
Packit ec106e
#include <termios.h>
Packit ec106e
#include <sys/ioctl.h>
Packit ec106e
Packit ec106e
int main(int argc, char **argv)
Packit ec106e
{
Packit ec106e
	int fd;
Packit ec106e
	char *s;
Packit ec106e
Packit ec106e
	if (argc != 3) {
Packit ec106e
		fprintf(stderr, "call: sti tty text\n");
Packit ec106e
		exit(1);
Packit ec106e
	}
Packit ec106e
	fd = open(argv[1], O_RDONLY);
Packit ec106e
	if (fd < 0) {
Packit ec106e
		perror(argv[1]);
Packit ec106e
		fprintf(stderr, "sti: could not open tty\n");
Packit ec106e
		exit(1);
Packit ec106e
	}
Packit ec106e
	s = argv[2];
Packit ec106e
	while (*s) {
Packit ec106e
		if (ioctl(fd, TIOCSTI, s)) {
Packit ec106e
			perror("TIOCSTI");
Packit ec106e
			fprintf(stderr, "sti: TIOCSTI ioctl failed\n");
Packit ec106e
			exit(1);
Packit ec106e
		}
Packit ec106e
		s++;
Packit ec106e
	}
Packit ec106e
	return 0;
Packit ec106e
}