// IfsTimeServ.decl
// Copyright Xerox Corporation 1979

// Last modified June 12, 1979  9:56 AM by Taft

get "IfsMisc.decl"

manifest timeStatsVersion = 2

//----------------------------------------------------------------------------
structure Stats:	// Time server stats
//----------------------------------------------------------------------------
[
version word		// = timeStatsVersion
tenexReqs word 2	// number of Tenex format time requests
stringReqs word 2	// number of String format time requests
altoReqs word 2		// number of Alto format time requests
correction word		// clock correction, signed integer
resetPort @Port		// port from which clock last set
]

//----------------------------------------------------------------------------
structure TimeParams:
//----------------------------------------------------------------------------
[
zoneS bit		// zone sign: + is west of Greenwich
zoneH bit 7		// zone hours
zoneM bit 8		// zone minutes
beginDST word		// day number on which DST begins
endDST word		// day number on which DST ends
]

//----------------------------------------------------------------------------
structure TS:		// 'global frame' for time server
//----------------------------------------------------------------------------
[
stats @Stats

locks word =
   [
   blank bit 14
   externalLock bit	// don't run time server
   dontKnowTime bit	// time is unknown
   ]
resetCtx word		// -> ResetTimeCtx or 0 if none active

timeParams @TimeParams	// network-format time parameters
]
manifest lenTS = size TS/16