// GateConServ.decl -- GateControl protocol
// Last modified December 26, 1981  10:51 PM by Boggs

manifest
[
gcSocket1 = 31415	// not well known server socket
gcSocket2 = 9265
gcPassword = 27182	// high word of Pup ID

// pup types
ptStore = 200b		// store file onto gateway disk
ptExamine = 201b	// examine memory
ptDeposit = 202b	// deposit memory
ptRestart = 203b	// restart gateway program
// 204b	used to be check result of last store
// 205b used to be reset time by broadcasting
// 206b	used to be reset time from a specific port
ptStats = 207b		// gateway statistics
ptAck = 210b		// acknowledge previous command
ptNack = 211b		// negative acknowledgment for command
ptHalt = 212b		// halt gateway and don't restart
ptRetrieve = 213b	// retrieve a file from gateway disk

// status of last Store
statusYes = -1
statusBusy = -2
statusNo = -3

gcStatsVersion = 1
]

//----------------------------------------------------------------------------
structure Stats:	// Gateway Statistics
//----------------------------------------------------------------------------
[
version word		// = gcStatsVersion
startTime↑0,1 word	// Time gateway was started
eftpStatus word		// status of most recent EFTP
freePBIs word		// number of free packet buffers
freePages word		// number of free disk pages
versionText word	// BCPL string starts here
]
manifest lenStats = offset Stats.versionText/16  //not including string

//----------------------------------------------------------------------------
structure GCS:		// 'global frame' for GateControl Server
//----------------------------------------------------------------------------
[
soc word		// -> Server's socket
stats @Stats
eftpCtx word		// -> PBI used as a ctx or 0 if no ctx active
quitCode word		// 0 or dos .errRtn code. Non zero => stop
restartTimer word	// time delay before stopping
]
manifest lenGCS = size GCS/16