/*
 * keepalive.c
 *
 * simple program to keep a gateway telnet connection alive.
 *
 */

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char **argv)
{
   int sleep_dur = 30;
   int output_char = '\0';

   if(argc > 3 || 
      (argc > 1 && 
      (strcmp("-h", argv[1]) == 0 || strcmp("--help", argv[1]) == 0)))
   {
      fprintf(stderr, "usage: %s [interval] [ascii char number]\n", argv[0]);
      exit(0);
   }

   if(argc > 1)
   {
      sleep_dur = atoi(argv[1]);
      if(sleep_dur < 1)
      {
         fprintf(stderr, "invalid sleep duration: %d\n", sleep_dur);
         exit(1);
      }
   }

   if(argc > 2)
   {
      output_char = atoi(argv[2]);
   }

   while(isatty(STDOUT_FILENO))
   {
      putc(output_char, stdout);
      fflush(stdout);
      sleep(sleep_dur);
   }

   return 0;
}
