.TITLE GETID ; ; ; PURPOSE: TO RETURN THE ISSUING TASK ID ; ; CALLING SEQUENCE: CALL GETID(ID) WITH: ; ID(1) = YEAR ; ID(2) = MONTH ; ID(3) = DAY ; ID(4) = ERROR: 1 = SUCCES ; 0 = TIME OUT ON SEND ; -1 = TASK NOT IN STD ; -2 = ILL. TASK HEADER ; ; .MCALL SDAT$S,SRDA$S,CLEF$S,WTSE$S,RCVD$S,ASTX$S,SETF$S,MRKT$S,CMKT$S .MCALL GTIM$S .GLOBL GETID ; ; GETID: SRDA$S #AST ;SPECIFY RECEIVE DATA AST CLEF$S #1 ;CLEAR EVENT FLAG #1 GTIM$S #TIM ;GET CURRENT TIME MOV TIM+12,BUF ;PUT #SECONDS IN SEND BUFFER CLR BUF+12 ;SET UP TIME OUT ERROR CODE SDAT$S #RETID,#BUF ;SEND BUFFER TO "RETTID" MRKT$S #1,#3,#2 ;SET UP TIME OUT (3 SECONDS) WTSE$S #1 ;WAIT FOR EVENT FLAG #1 (AST,TIME OUT) CMKT$S #1 ;CANCEL TIME OUT (IF NECESSARY) SRDA$S ;DISABLE RECEIVE AST'S MOV 2(R5),R5 ;POINT TO USER ID-ARRAY MOV BUF+4,(R5)+ ;COPY ID MOV BUF+6,(R5)+ MOV BUF+10,(R5)+ MOV BUF+12,(R5) ;AND ERROR CODE RTS PC ;RETURN TO CALLER ; ; AST: RCVD$S ,#BUF ;GET RECEIVE BUFFER SETF$S #1 ;SET EVENT FLAG #1 ASTX$S ;EXIT FROM AST ; ; TIM: .BLKW 8. BUF: .BLKW 15. ;SEND/RECEIVE BUFFER RETID: .RAD50 /RETTID/ ;TASK TO SEND TO ; ; .END