home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume15 / ultrix-modem / modem.h < prev    next >
C/C++ Source or Header  |  1988-05-24  |  3KB  |  99 lines

  1. /*
  2.  * some constants for your modem
  3.  */
  4.  
  5. #define TIMEZONE "TZ=GMT0BST"        /* time zone you operate in    */
  6. #define DEFSPEED "1200"            /* speed your modem likes most    */
  7.  
  8. #define WTIME 5                /* default wait time         */
  9.  
  10. #define LOGFILE "/usr/spool/uucp/modem.log"        /* log file */
  11.  
  12. #define max(a,b) ((a) > (b) ? (a) : (b))
  13. #define min(a,b) ((a) < (b) ? (a) : (b))
  14.  
  15. #define MINUTES    60
  16. #define IDLETIME 5*MINUTES                /* autologout time */
  17. #ifdef WATCHIT
  18. #define SPYTIME 1*MINUTES
  19. #else
  20. #define SPYTIME IDLETIME
  21. #endif
  22.  
  23. #define GRACETIME    5    /* time to wait for signal to take effect */
  24.  
  25. extern int errno;
  26.  
  27. #ifdef MAINDEF
  28. #define EXTERN
  29. #else
  30. #define EXTERN extern
  31. #endif
  32.  
  33. long time();
  34. int dread(), dwrite(), myread();
  35. void mywrite();
  36.  
  37. EXTERN char lockf[50];                /* argument lock file */
  38. EXTERN char dname[30];                /* device name in full - /dev/.... */
  39.  
  40. EXTERN int shell, status;            /* pid of shell, and exit status */
  41.  
  42. EXTERN int dev;                    /* device used (open fildes) */
  43. /*
  44.  * The 'reset' sequence, if the modem doesn't behave as expected.
  45.  * I still get problems with the modem not responding to 'AT'.
  46.  */
  47. #if defined(HAYES)
  48. #define RESET "\n\rAT\r\rAT\r\rAT\r\r"
  49. #else
  50. #define RESET ""
  51. #endif
  52. /*
  53.  * The 'conversation' necessary to get your modem into a 'listening' state.
  54.  * The converasation should complete iff an incoming call is connected.
  55.  * If using Jack's states, set up your states below. Each modem line
  56.  * must have flags set to indicate in which state(s) it can be executed.
  57.  * If you're not using the STATES stuff, leave them at zero.
  58.  */
  59. #define SPK            0x0001    /* Speaker control */
  60. #define    AA            0x0002    /* Auto Answer Control */
  61.  
  62. struct conv {
  63.     char *c_send;
  64.     char *c_expect;
  65.     int c_wait;        /* time to wait for c_expect */
  66.     int c_flags;        /* flags for matching with the state. */
  67. };
  68.  
  69. #ifdef MAINDEF
  70.  
  71. struct conv ring[] = {
  72.  
  73. #if defined(HAYES)
  74.     {"AT\r", "OK", WTIME, AA | SPK },    /* anyone there? */
  75.     {"ATM0\r", "OK", WTIME, AA | SPK },    /* turn OFF speaker */
  76.     {"ATS0=0\r", "OK", WTIME, AA | SPK},    /* DISABLE auto-answer */
  77.     {"ATS0=1\r", "OK", WTIME, AA},        /* maybe enable auto answer */
  78.     {"ATM1\r", "OK", WTIME, SPK},        /* maybe turn speaker on */
  79.     {"ATX1V1\r", "OK", WTIME, AA | SPK },    /* turn on responses */ 
  80.     {"ATS24=3\r", "OK", WTIME, AA | SPK},    /* enable speed-seeking */
  81.     {"", "RING", 0, AA | SPK},        /* wait (indefinately) for RING in */
  82.     {"", "CONNECT", 20, AA | SPK},        /* wait for call to be connected */
  83.     {NULL, NULL, 0, 0}            /* finished */
  84.  
  85. #else /* defined (HAYES) */
  86. #if defined(JSET)    /* AT&T Aztec Protocol */
  87.     {"\\d\r\\d", "MODEM: ", WTIME, 0 },    /* anyone there? */
  88.     {"", "DATA", 3600, 0},        /* wait (1 hour) for RING in */
  89.     {NULL, NULL, 0, 0}            /* Should be indefinite, but prevent
  90.                        problems if modem gets wedged */
  91.  
  92. #else /* defined (JSET) */
  93.     {NULL, NULL, 0, 0}            /* no init conversation */
  94.  
  95. #endif /* defined (JSET) */
  96. #endif /* defined (HAYES) */
  97. };
  98. #endif /* defined (MAINDEF) */
  99.