как написать скрипт (pppd pty)
ArtSh 11 октября, 2008 - 02:49
Один модем (http://www.gentoo.ru/node/12140 ) требует, чтобы раз в минуту ему посылалась команда AT+ZOPERTER. Почитав man pppd стало ясно, что pppd может посылать всё через скрипт, или внешнюю программу (опция pty). Встал вопрос, как же написать скрипт, который просто копировал бы всё из stdin в /dev/ttyUSB0 и из /dev/ttyUSB0 в stdout, при этом раз в минуту дополнительно посылать команду в /dev/ttyUSB0. Простейшая программа на С не работает...
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{
struct timeval c,n;
char t='a';
int e=1;
FILE *f;
gettimeofday( &c, NULL);
f=fopen("/dev/ttyUSB0","r+");
while(e)
{
t=fgetc(stdin);
while( (t!='\n') || (t!=EOF) )
{
fputc(t,f);
t=fgetc(stdin);
}
t='a';
fflush(f);
t=fgetc(f);
while( (t!='\n') || (t!=EOF) )
{
fputc(t,stdout);
t=fgetc(f);
}
if ( ( feof(f) ) || ( feof(stdin) ) ) e=0;
fflush(stdout);
gettimeofday( &n, NULL);
if ( (n.tv_sec-c.tv_sec) > 59 )
{
c=n;
fprintf(f,"AT+ZOPERTER=\"beeline\"\r\n");
}
fflush(f);
}
fclose(f);
return 0;
}
»
- Для комментирования войдите или зарегистрируйтесь
