Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-08 - 43,50512/nodbas.mac
There are no other files named nodbas.mac in the archive.
	TITLE  NODBAS-NODTBL HISEG DATAASE

	TWOSEG

	SEARCH JOBDAT,UUOSYM

	LOC	.JBREN
	EXP	NODREE

	RELOC	400000

	T1=1
	T2=2
;THE FOLLOWING TWO REGISTER DEFINITIONS MUST AGREE WITH THE 
;DEFINITIONS USED BY BLISS
	VREG=1		;VALUE REGISTER FOR BLS36C
	P=17

	ENTLEN=51		;SIZE OF NODE BLOCK


NTBLEL::	ENTLEN		;SIZE OF NODE BLOCK
DIRECT::	SIXBIT'%HARD'		;DEFAULT ENTRY FOR HARD
		BLOCK	ENTLEN-1	;WIRED NODE

DIALUP::	SIXBIT'%DIAL'		;DEFAULT ENRTY FOR DIALUP NODES
		BLOCK	ENTLEN-1
NOD%ZE::
SEGEND::	0			;END OF DATABASE
	RELOC 0
SNODE::	BLOCK	ENTLEN
FREE::
MSKW6::
.CRASH::	POPJ 17,0

;THIS ROUTINE CONVERTS AN OCTAL # PASSED TO IT AS AN
;ARGUMENT INTO THE NUMBER OF JIFFIES THAT THE # IS EQUAL TO

TIMJIF::	
	MOVE	T1,-1(P)		;GET THE ARG
	IDIVI	T1,^D100		;HOURS IN T1,MINS IN T2
	IMULI	T1,^D3600*^D60		;# OF JIFFIES
	IMULI	T2,^D3600		;# OF JIJJIES
	ADD	T1,T2			;ADD THEM UP
	IFN <VREG-T1>,<MOVE VREG,T1>	;Return in VREG
	POPJ	P,			;Return

;THIS ROUTINE CONVERTS A NUMBER OF JIFFIES INTO THE HOURS,
;MINUTES EQUIVALENT

JIFTIM::
	MOVE	T1,-1(P)		;GET THE ARG
	IDIVI	T1,^D3600		;# OF MINUTES
	IDIVI	T1,^D60			;# OF HOURS IN T1
					;# OF MINS IN T2
	IMULI	T1,^D100		;POSITION HOURS
	ADD	T1,T2			;ADD IN MINUTES
	IFN <VREG-T1>,<MOVE VREG,T1>	;Return in VREG
	POPJ	P,

;SUBROUTINE TO CONVERT FROM TIME OF DAY OR RELATIVE TIME
;TO RELATIVE MINUTES FOR USE BY QUASAR

TIMQUE::
	MOVE	T1,-1(P)		;GET THE ARG
	IDIVI	T1,^D100		;HOURS IN T1,MINS IN T2
	IMULI	T1,^D60			;# OF MINUTES
	ADD	T1,T2			;ADD THEM UP
	IFN <VREG-T1>,<MOVE VREG,T1>	;Return in VREG
	POPJ	P,

;SUBROUTINE TO CONVERT FROM MINUTES TO HHMM FOR TYPE OUT

QUETIM::
	MOVE	T1,-1(P)		;GET THE ARG
	IDIVI	T1,^D60			;# OF HOURS IN T1
					;# OF MINS IN T2
	IMULI	T1,^D100		;POSITION HOURS
	ADD	T1,T2			;ADD IN MINUTES
	IFN <VREG-T1>,<MOVE VREG,T1>	;Return in VREG
	POPJ	P,

NODREE:
	MOVEI	0,[SIXBIT /SYS/
		   SIXBIT /NODTBL/
		   EXP 0,0,0,0]
	GETSEG
	 HALT	.-2
	MOVE	0,NTBLEL	;Check the entry length
	CAIE	0,ENTLEN	;It must be the same we're built for
	 JRST	[OUTSTR [ASCIZ "
?NODOVN Can't get node definitions from such an old NODTBL.
?NODRAN Run NODTBL and re-enter all nodes. Sorry.
"]
		 EXIT]
	HRRZ	1,.JBSA		;Now do regular start
	JRST	(1)
;THE FOLLOWING MUST BE IN ALPHABETICAL ORDER

	DEFINE X(STR,ADDR) = <[ASCIZ/STR/],,ADDR>


PRVTAB::	EXP 10
	X(ADD,ADDNOD##)
	X(DELETE,DELNOD##)
	X(EXIT,EXITPG##)
	X(HELP,HELP##)
	X(LIST,LIST##)
	X(TYPE,TYPNOD##)
	X(UPDATE,UPDATE##)
	X(WRITE,WRITES##)

NPRVTB::	EXP	^D4
	X(EXIT,EXITPG##)
	X(HELP,HELP##)
	X(LIST,LIST##)
	X(TYPE,TYPNOD##)

;This is supposed to be in alphabetical order

TBLTAB::	EXP TBLEND-TBLTAB
	X(ALTPHONE,PHON2%##)
	X(ALTQUE,QUE%DV##)
	X(CONTACT,CONTAC##)
	X(CONTIMEOUT,CON%TI##)
	X(FLAGS,FLAGS##)
	X(INACTIVE,INACTI##)
	X(LASTCONNECT,LAST%C##)
	X(LOCATION,LOCATI##)
	X(MAXFILESIZE,MAX%FI##)
	X(NODEID,NODEID##)
	X(OBJECTTYPE,OBJTYPE##)
	X(PASSWORD,PASSWO##)
	X(PHONE,PHON1%##)
	X(PROGRAMMER,PROGNO##)
	X(QUE,QUE%DE##)
	X(RECONNECT,RECONN##)
	X(REPLYTO,REPLY%##)
	X(REQUE,REQUE%##)
	X(ROUTE-THROUGH-NODE,ROUTE##)
	X(SCRATCH,SCRATC##)
	X(SIGNON,SIGNON##)
	X(SIGNOFF,SIGNOF##)
	X(SYSTEMTYPE,SYSTEM##)
	X(TASKNAME,TASKNAME##)
	X(TIMEDOWN,TIME%D##)
	X(TIMETOHOLD,TIME%T##)
	X(TIMEUP,TIME%U##)
TBLEND:
	DEFINE X(STR,VAL) = <[ASCIZ/STR/],,VAL>

FLGTAB::	EXP ^D14
	X(DAS78,^D7)
	X(LRECEIVE,^D11)
	X(LTRANSMIT,^D12)
	X(NETSPL,^D15)
	X(NOLRECEIVE,^D3)
	X(NOLTRANSMIT,^D4)
	X(NOQRECEIVE,^D1)
	X(NOQTRANSMIT,^D2)
	X(NORRECEIVE,^D5)
	X(NORTRANSMIT,^D6)
	X(RRECEIVE,^D13)
	X(RTRANSMIT,^D14)
	X(QRECEIVE,^D9)
	X(QTRANSMIT,^D10)

	END