// IfsRs.decl - Rendezvous Socket Manager declarations
// Copyright Xerox Corporation 1979, 1980, 1981
// Last modified March 13, 1981  5:17 PM by Taft

//----------------------------------------------------------------------------
structure RS:		// Rendezvous Socket
//----------------------------------------------------------------------------
[
link word
soc word		// -> PupSoc
proc word
extraSpace word
type word		// used to initialize RSCtx.type
numAccepted word 2	// number of successful connection attempts
numRefused word 2	// number of unsuccessful connection attempts
]
manifest lenRS = size RS/16


//----------------------------------------------------------------------------
structure RSCtx:	// Rendezvous Socket Context
//----------------------------------------------------------------------------
[
blank word 3		// standard context header
blank bit		// used to be killFlag
connFlag bit		// a connection is open
blank bit 6
type byte		// server type
bspSoc word		// -> BSPSoc
userInfo word		// -> UserInfo
]
manifest lenRSCtx = size RSCtx/16

manifest
[
// job types
// *** If you change these, you may have to change InitJobPolicyControls.
jobTypeFTP = 0
jobTypeMTP = 1
jobTypeTelnet = 2
jobTypeBackup = 3
jobTypeMail = 4
jobTypeMiscellaneous = 5
jobTypeLeaf = 6
jobTypePress = 7
jobTypeNameUpdate = 8
jobTypeBootUpdate = 9
jobTypeCopyDisk = 10
]

//----------------------------------------------------------------------------
structure JPC:  // Job Policy Controls -- see IfsRsMgrInit.bcpl for details
//----------------------------------------------------------------------------
[
typeClass↑0,10 word
classMax↑0,4 word
classSystemMax↑0,4 word
]

//----------------------------------------------------------------------------
structure JobT↑0,0: word  // a table of contexts (IFS jobs)
//----------------------------------------------------------------------------