как написать скрипт (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; }
»
- Для комментирования войдите или зарегистрируйтесь