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 >
Wrap
C/C++ Source or Header
|
1986-11-21
|
2KB
|
85 lines
/*
* GLOBALS.C
*
* DNET (c)Copyright 1988, Matthew Dillon, All Rights Reserved.
*
* -restart/packet protocol
* -dnet->amiga (DNET.READ)
* -amiga->dnet (DNET.WRITE)
*/
#include "dnet.h"
int Enable_Abort;
IOT Rto; /* Read-Timeout/reset */
IOT Wto; /* Write-Timeout/retry */
IOR *RNet; /* read-request */
IOR *WNet; /* write-request */
PKT Pkts[9]; /* data buffers for packets */
PKT *Raux = Pkts+8; /* next packet in */
PKT *RPak[4] = { Pkts+0,Pkts+1,Pkts+2,Pkts+3 };
PKT *WPak[4] = { Pkts+4,Pkts+5,Pkts+6,Pkts+7 };
PORT *DNetPort; /* Remote Command/Control in */
PORT *IOSink; /* Return port for ALL IO */
CHAN Chan[MAXCHAN]; /* Channels */
LIST TxList; /* For pending DNCMD_WRITE reqs. */
LIST SvList; /* List of waiting servers */
ubyte Rto_act;
ubyte Wto_act;
uword WChan; /* Read and Write channels */
uword RChan;
uword RPStart;
uword WPStart;
uword WPUsed;
uword RState;
ubyte DDebug;
ubyte Restart; /* Network restart mode */
ubyte DeldQuit; /* Quit after all connections cease */
ubyte AutoHangup;
ulong NumCon; /* # of connections currently active */
/* in CHAN_ROPEN/LOPEN/OPEN/CLOSE */
ulong WTimeoutVal;
ulong RTimeoutVal;
long Baud;
char *HostName = "";
#define ACK(win) (PKCMD_ACK|(win<<5))
#define NAK(win) (PKCMD_NAK|(win<<5))
#define CHECK(win) (PKCMD_CHECK|(win<<5))
#define CHK(com) ((SYNC<<1)^(com))
ubyte RestartPkt[3] = { SYNC, PKCMD_RESTART, CHK(PKCMD_RESTART) };
ubyte AckPkt[8][3] = { SYNC, ACK(0), CHK(ACK(0)),
SYNC, ACK(1), CHK(ACK(1)),
SYNC, ACK(2), CHK(ACK(2)),
SYNC, ACK(3), CHK(ACK(3)),
SYNC, ACK(4), CHK(ACK(4)),
SYNC, ACK(5), CHK(ACK(5)),
SYNC, ACK(6), CHK(ACK(6)),
SYNC, ACK(7), CHK(ACK(7))
};
ubyte NakPkt[8][3] = { SYNC, NAK(0), CHK(NAK(0)),
SYNC, NAK(1), CHK(NAK(1)),
SYNC, NAK(2), CHK(NAK(2)),
SYNC, NAK(3), CHK(NAK(3)),
SYNC, NAK(4), CHK(NAK(4)),
SYNC, NAK(5), CHK(NAK(5)),
SYNC, NAK(6), CHK(NAK(6)),
SYNC, NAK(7), CHK(NAK(7))
};
ubyte CheckPkt[8][3]= { SYNC, CHECK(0), CHK(CHECK(0)),
SYNC, CHECK(1), CHK(CHECK(1)),
SYNC, CHECK(2), CHK(CHECK(2)),
SYNC, CHECK(3), CHK(CHECK(3)),
SYNC, CHECK(4), CHK(CHECK(4)),
SYNC, CHECK(5), CHK(CHECK(5)),
SYNC, CHECK(6), CHK(CHECK(6)),
SYNC, CHECK(7), CHK(CHECK(7))
};