home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 239.lha / amiga / src / dnet / globals.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-05-02  |  2.8 KB  |  102 lines

  1.  
  2. /*
  3.  *  GLOBALS.C
  4.  *
  5.  *  DNET (c)Copyright 1988, Matthew Dillon, All Rights Reserved.
  6.  *
  7.  *    -restart/packet protocol
  8.  *    -dnet->amiga        (DNET.READ)
  9.  *    -amiga->dnet        (DNET.WRITE)
  10.  */
  11.  
  12. #include "dnet.h"
  13.  
  14. int Enable_Abort;
  15.  
  16. IOT Rto;        /*  Read-Timeout/reset         */
  17. IOT Wto;        /*  Write-Timeout/retry      */
  18. IOT Cto;        /*  1 second CD check / idle line*/
  19. PKT Pkts[9];        /*  data buffers for packets     */
  20. PKT *Raux = Pkts+8;    /*  next packet in         */
  21. PKT *RPak[4] = { Pkts+0,Pkts+1,Pkts+2,Pkts+3 };
  22. PKT *WPak[4] = { Pkts+4,Pkts+5,Pkts+6,Pkts+7 };
  23. PORT *DNetPort;     /*  Remote Command/Control in        */
  24. PORT *IOSink;        /*  Return port for ALL IO        */
  25. PORT *IPCPort;        /*  IPC software control port        */
  26. CHAN Chan[MAXCHAN];    /*  Channels                */
  27. LIST TxList;        /*  For pending DNCMD_WRITE reqs.   */
  28. LIST SvList;        /*  List of waiting servers        */
  29. ubyte Rto_act;
  30. ubyte Wto_act;
  31. ubyte Cto_act;
  32. ubyte Cd;        /*  Carrier Detect Status        */
  33. uword WChan;        /*  Read and Write channels        */
  34. uword RChan;
  35. uword RPStart;
  36. uword WPStart;
  37. uword WPUsed;
  38. uword RState;
  39. short DDebug;
  40. short PDebug;
  41. ubyte Restart;        /*  Network restart mode        */
  42. ubyte OnLine;        /*  Network online            */
  43. ubyte Quit;        /*  Quit immediately            */
  44. short AutoAnswer = 0;    /*  Security Enable            */
  45. short DialOut = 1;    /*  Security Enable for DialOut     */
  46. short AutoHangup = 1;    /*  On carrier lost (-a opt)            */
  47. short Master8;
  48. short NetworkNum;
  49. ulong NumCon;        /*  # of connections currently active    */
  50.             /*     in CHAN_ROPEN/LOPEN/OPEN/CLOSE    */
  51. ulong WTimeoutVal;
  52. ulong RTimeoutVal;
  53. long Baud;
  54. long TOBaud;
  55. char *HostName = "";
  56.  
  57. /*
  58.  *  Status Info
  59.  */
  60.  
  61. long    BytesOut, PacketsOut, PacketsResent;
  62. long    BytesIn , PacketsIn , PacketsNakd;
  63. long    GarbageIn;
  64.  
  65. #define ACK(win)    (PKCMD_ACK|(win<<5))
  66. #define NAK(win)    (PKCMD_NAK|(win<<5))
  67. #define CHECK(win)  (PKCMD_CHECK|(win<<5))
  68. #define CHK(com) ((SYNC<<1)^(com))
  69.  
  70.  
  71. ubyte    RestartPkt[3] = {   SYNC, PKCMD_RESTART, CHK(PKCMD_RESTART) };
  72. ubyte    AckPkt[8][3]  = {   SYNC, ACK(0), CHK(ACK(0)),
  73.                 SYNC, ACK(1), CHK(ACK(1)),
  74.                 SYNC, ACK(2), CHK(ACK(2)),
  75.                 SYNC, ACK(3), CHK(ACK(3)),
  76.                 SYNC, ACK(4), CHK(ACK(4)),
  77.                 SYNC, ACK(5), CHK(ACK(5)),
  78.                 SYNC, ACK(6), CHK(ACK(6)),
  79.                 SYNC, ACK(7), CHK(ACK(7))
  80.             };
  81.  
  82. ubyte    NakPkt[8][3]  = {   SYNC, NAK(0), CHK(NAK(0)),
  83.                 SYNC, NAK(1), CHK(NAK(1)),
  84.                 SYNC, NAK(2), CHK(NAK(2)),
  85.                 SYNC, NAK(3), CHK(NAK(3)),
  86.                 SYNC, NAK(4), CHK(NAK(4)),
  87.                 SYNC, NAK(5), CHK(NAK(5)),
  88.                 SYNC, NAK(6), CHK(NAK(6)),
  89.                 SYNC, NAK(7), CHK(NAK(7))
  90.             };
  91.  
  92. ubyte    CheckPkt[8][3]= {   SYNC, CHECK(0), CHK(CHECK(0)),
  93.                 SYNC, CHECK(1), CHK(CHECK(1)),
  94.                 SYNC, CHECK(2), CHK(CHECK(2)),
  95.                 SYNC, CHECK(3), CHK(CHECK(3)),
  96.                 SYNC, CHECK(4), CHK(CHECK(4)),
  97.                 SYNC, CHECK(5), CHK(CHECK(5)),
  98.                 SYNC, CHECK(6), CHK(CHECK(6)),
  99.                 SYNC, CHECK(7), CHK(CHECK(7))
  100.             };
  101.  
  102.