Trailing-Edge
-
PDP-10 Archives
-
bb-bt99e-bb
-
ipcser.c09
There is 1 other file named ipcser.c09 in the archive. Click here to see a list.
REP 17/3 ;09C1
SPBMAX==:SPBACT+MAXACS+1 ;TOTAL LENGTH OF SPB
WIT
SPBMAX==:SPBACT+MAXACS ;TOTAL LENGTH OF SPB
INS 48/24 ;09C2
IPCFST: EXP ERRUF ;(47) STRUCTURE MOUNT (TO MDA)
INS 61/24 ;09C3
.IPCST==IPCFST-IPCFTB+1
INS 38/52 ;09C4
;STRMPA - NOTIFY MDA OF A STRUCTURE MOUNT
; F / STR D.B.
; RETURN CPOPJ ALWAYS
STRMPA::PUSHJ P,SAVE1## ;NEED A PRESERVED AC
MOVEI P1,1+1+1 ;NEED ONE OVERHEAD WORD + 1 FOR STR NAME + 1 FOR UNIT
HLRZ T1,STRUNI##(F) ;PICK UP FIRST UNIT IN STR
STRMP1: HLRZ T1,UNISTR##(T1) ;FIND NEXT UNIT
SKIPE T1 ;END OF CHAIN?
AOJA P1,STRMP1 ;NOT YET
MOVE T2,P1 ;GET NUMBER OF WORDS NEEDED
PUSHJ P,GETWDS## ;GET SOME CORE
POPJ P, ;CAN'T
MOVEI T3,.IPCST ;FUNCTION CODE
HRLI T3,(P1) ;LENGTH
MOVEM T3,0(T1) ;STORE IT
MOVE T3,STRNAM##(F) ;GET STR NAME
MOVEM T3,1(T1) ;STORE IT
MOVSI P1,(P1) ;SAVE [LENGTH,,MESSAGE ADDRESS]
HRR P1,T1
HLRZ T3,STRUNI##(F) ;GET FIRST UDB ADDR
STRMP2: MOVE T2,UNINAM##(T3) ;GET UNIT NAME
MOVEM T2,2(T1) ;SAVE
HLRZ T3,UNISTR##(T3) ;GET LINK TO NEXT UDB
SKIPE T3 ;END OF CHAIN?
AOJA T1,STRMP2 ;NOT YET
MOVE T1,P1 ;GET MESSAGE ADDRESS BACK
PJRST ATTMP1 ;SEND IT AND RETURN
INS 1/61 ;09C5
SUM 200285