// DLSControl.decl -- declarations for DLS control program

// Last modified June 20, 1982  10:41 AM by Taft
// Last modified January 17, 1985  10:01 AM by Diebert


manifest
[
lenCtxRegion = 453	// Size of context for each line
lenPupContents = 128	// Max number of data bytes in each Pup
			// Can't be less than 128, else the Pup package
			// won't be able to receive routing tables.

// Parameters determining memory needed for status display
stDisLines = numLines/8+1  // Lines in status display
stDisWidChars = 35	// Number of characters per line

// Other stuff of interest
endCode = #335		// Holds address of first free word

typeWhereUserRequest = 230b
typeWhereUserReply = 231b
miscServicesSocket = 4b
]

// ---------------------------------------------------------------------------
structure CTX:		// Context structure for each line
// ---------------------------------------------------------------------------
[
next word		// Standard part of context
stack word
stackMin word
dlb word		// Link to data line block
auxCtx word		// Link to auxiliary context for line
returnFrame word	// Frame to return from when in remote mode
syncCount word		// Data Mark vs Interrupt count
status word  =	 	// Zeroed at connect time
   [
   socketOpen bit	// A local socket has been created
   localEcho bit	// Echoing typein locally
   timeout bit		// Connection timed out
   escapeDisabled bit	// No escape char
   blank bit
   lineState bit 3	// Software state of this line
   escapeChar byte	// Escape character from TalkToRemote
   ]
escapeCharTimer	word	// place to keep the timer
escapeTime	word	// escape time value in seconds

			// Things not reset at connect time:
host word		// Default host name
constantBaud bit	// True if line to be run at constant Baud rate
dialOutOnly bit		// True if line to be controlled only from network --
			// no terminal command processor
noPad bit		// No padding for CR delay
eightBit bit		// This line is in 8 bit no parity mode
callTimed bit	// says if call made that has not been timed
callInProgress bit	// says if call is being made
blank bit 2
terminalType byte	// Tenex terminal type
terminalLength byte	// Lines/page
terminalWidth byte	// Chars/line
name word		// Pointer to name string
password	word	// Pointer to password string
startTime word		// Time at start of call
socket: @BSPSoc		// RTP socket structure
]
manifest [ lenCTX = size CTX/16-3 ] // Size of our things in CTX

manifest
[
lineStateOff = 0	// Idle, line not in use, carrier off
// Hardwired or dial-in line states
lineStateOn = 1		// Carrier on, awaiting speed determination
lineStateActive = 2	// At DLS command level
lineStateRemote = 3	// Connected to remote host
// Dial-out line state
lineStateDialOut = 4	// Line under control of dial-out server

dialInEscape = 36B
dialOutEscape = 37B
]