|
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 |
}
|