// GateConInit.bcpl

// Last modified February 6, 1979  11:29 PM by Boggs

get "Pup0.decl"
get "Pup1.decl"
get "GateConServ.decl"

external
[
// outgoing procedures
CreateGateConServ

// incoming procedures
GateConServCtx; OpenLevel1Socket; Enqueue
Allocate; Zero; InitializeContext

// incoming statics
@gcs
sysZone; ctxQ
]

manifest gcsss = alto? 200, 100  //gate control server stack size

//---------------------------------------------------------------------------
let CreateGateConServ() be
//---------------------------------------------------------------------------
[
gcs = Allocate(sysZone, lenGCS); Zero(gcs, lenGCS)
gcs>>GCS.stats.version = gcStatsVersion
Enqueue(ctxQ, InitializeContext(Allocate(sysZone, gcsss), gcsss,
 GateConServCtx))
gcs>>GCS.soc = Allocate(sysZone, lenPupSoc)
OpenLevel1Socket(gcs>>GCS.soc, table [ 0; gcSocket1; gcSocket2 ])
]