home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 142.lha / DNet / dnet / globals.c < prev    next >
C/C++ Source or Header  |  1986-11-21  |  2KB  |  85 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. IOR *RNet;        /*  read-request        */
  19. IOR *WNet;        /*  write-request        */
  20. PKT Pkts[9];        /*  data buffers for packets    */
  21. PKT *Raux = Pkts+8;    /*  next packet in        */
  22. PKT *RPak[4] = { Pkts+0,Pkts+1,Pkts+2,Pkts+3 };
  23. PKT *WPak[4] = { Pkts+4,Pkts+5,Pkts+6,Pkts+7 };
  24. PORT *DNetPort;     /*  Remote Command/Control in        */
  25. PORT *IOSink;        /*  Return port for ALL IO        */
  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. uword WChan;        /*  Read and Write channels        */
  32. uword RChan;
  33. uword RPStart;
  34. uword WPStart;
  35. uword WPUsed;
  36. uword RState;
  37. ubyte DDebug;
  38. ubyte Restart;        /*  Network restart mode        */
  39. ubyte DeldQuit;     /*  Quit after all connections cease    */
  40. ubyte AutoHangup;
  41. ulong NumCon;        /*  # of connections currently active    */
  42.             /*     in CHAN_ROPEN/LOPEN/OPEN/CLOSE    */
  43. ulong WTimeoutVal;
  44. ulong RTimeoutVal;
  45. long Baud;
  46. char *HostName = "";
  47.  
  48. #define ACK(win)    (PKCMD_ACK|(win<<5))
  49. #define NAK(win)    (PKCMD_NAK|(win<<5))
  50. #define CHECK(win)  (PKCMD_CHECK|(win<<5))
  51. #define CHK(com) ((SYNC<<1)^(com))
  52.  
  53.  
  54. ubyte    RestartPkt[3] = {   SYNC, PKCMD_RESTART, CHK(PKCMD_RESTART) };
  55. ubyte    AckPkt[8][3]  = {   SYNC, ACK(0), CHK(ACK(0)),
  56.                 SYNC, ACK(1), CHK(ACK(1)),
  57.                 SYNC, ACK(2), CHK(ACK(2)),
  58.                 SYNC, ACK(3), CHK(ACK(3)),
  59.                 SYNC, ACK(4), CHK(ACK(4)),
  60.                 SYNC, ACK(5), CHK(ACK(5)),
  61.                 SYNC, ACK(6), CHK(ACK(6)),
  62.                 SYNC, ACK(7), CHK(ACK(7))
  63.             };
  64.  
  65. ubyte    NakPkt[8][3]  = {   SYNC, NAK(0), CHK(NAK(0)),
  66.                 SYNC, NAK(1), CHK(NAK(1)),
  67.                 SYNC, NAK(2), CHK(NAK(2)),
  68.                 SYNC, NAK(3), CHK(NAK(3)),
  69.                 SYNC, NAK(4), CHK(NAK(4)),
  70.                 SYNC, NAK(5), CHK(NAK(5)),
  71.                 SYNC, NAK(6), CHK(NAK(6)),
  72.                 SYNC, NAK(7), CHK(NAK(7))
  73.             };
  74.  
  75. ubyte    CheckPkt[8][3]= {   SYNC, CHECK(0), CHK(CHECK(0)),
  76.                 SYNC, CHECK(1), CHK(CHECK(1)),
  77.                 SYNC, CHECK(2), CHK(CHECK(2)),
  78.                 SYNC, CHECK(3), CHK(CHECK(3)),
  79.                 SYNC, CHECK(4), CHK(CHECK(4)),
  80.                 SYNC, CHECK(5), CHK(CHECK(5)),
  81.                 SYNC, CHECK(6), CHK(CHECK(6)),
  82.                 SYNC, CHECK(7), CHK(CHECK(7))
  83.             };
  84.  
  85.