.TITLE SYSTEM-SERVICES driver for SAO VAX/VMS STOIC ; ***************************************************************** ; * * ; * This is a module of SAO VAX/VMS STOIC * ; * * ; * It was created by * ; * Roger Hauck * ; * Smithsonian Institution * ; * Astrophysical Observatory * ; * Cambridge, Massachusetts 02138 * ; * (617)495-7151 (FTS 830-7151) * ; * * ; * This module may be reproduced * ; * provided that this title page is retained. * ; * * ; ***************************************************************** .enabl dbg,tbk .macro newpage title .page .sbttl title .endm $SSDEF $IODEF $JPIDEF $CLIDEF $SECDEF ;make a header for a stoic word ;stores link,name,lookup atribute .macro header name,lookup_atr=jump_to_me,- branch=kernel .long branch ;linkonto last word of branch branch=.-4 ;set branch to point to here .ascic /name/ ;store the name and count .byte lookup_atr .endm kernel=0 jump_to_me=0 .macro ss name header name name'_g (r10) movl r0,(r10) rsb .endm .macro jpi$ item header item movl #JPI$_'item,-(R10) ;push item code rsb .endm .macro io$ item header IO$'item movl #IO$'item,-(R10) ;push item code rsb .endm .macro sec$ item header SEC$'item movl #SEC$'item,-(R10) ;push item code rsb .endm .macro ss$ item header $'item movl #SS$'item,-(R10) ;push System Service code rsb .endm newpage .psect kernel,nowrt ; Event Flag Services SS $READEF ;Read Event Flags SS$ _WASCLR ;Event Flag Was 0 SS$ _WASSET ;Event Flag Was 1 SS $CLREF ;Clear Event Flag SS $WAITFR ;Wait for Single Event Flag ; AST (Asynchronous System Trap) Services ; Logical Name Services SS $TRNLOG ;Translate Logical Name ; Input/Output Services SS $ASSIGN ;Assign I/O Channel SS $DASSGN ;Deassign I/O Channel SS $QIO ;Queue I/O Request SS $QIOW ;Queue I/O Request and Wait for Event Flag SS $GETCHN ;Get Info. About Device Assigned to Channel ; I/O Operation Codes IO$ _READVBLK ;Read Virtual Block IO$ _READPROMPT ;Read with Prompt IO$ _WRITEVBLK ;Write Virtual Block ; I/O Operation Modifiers IO$ M_NOECHO ;Do Not Echo Characters For This Read IO$ M_NOFILTR ;Do Not process ^U, ^R, or DEL for This Read IO$ M_TIMED ;P3 Specifies Timeout in Seconds IO$ M_TRMNOECHO ;Do Not Echo Terminating Character IO$ M_NOFORMAT ;PASSALL Mode for This Write ; System Service Status Codes SS$ _NORMAL ;Successful Completion SS$ _TIMEOUT ;Operation Timeout ;S SS $INPUT ;Inputs from Console ;S SS $OUTPUT ;Outputs to console SS $GETMSG ;Returns text of system error message ; Process Control Services SS $CREPRC ;Creates a subprocess or detached process SS $DELPRC ;Deletes the current process or a subprocess SS $WAKE ;Wake SS $SCHDWK ;Scheduled Wake SS $EXIT ;Exit SS $SETPRI ;Set Priority SS $GETJPI ;Get Job/Process Information JPI$ CPUTIM ;Accumulated CPU time (in 10-ms. tics) JPI$ DIRIO JPI$ FREP0VA ; First free page at end of program region JPI$ GRP ; Group number of UIC JPI$ MEM ; Member number of UIC JPI$ UIC ; Process's UIC ; Timer and Time Conversion Services SS $GETTIM ;Get Time SS $NUMTIM ;Convert Binary Time to Numeric Time SS $ASCTIM ;Converts system time to ASCII string SS $BINTIM ;Converts an ASCII string to system format time SS $SETIMR ;Set Timer $SCHDWK ;Schedules a Wakeup ; Condition Handling Services ; Memory Management Services SS $EXPREG ;Expand Program/Control Region ;S SS $CNTREG ;Contract Program/Control Region SS $CRETVA ;Create Virtual Adress Space SS $DELTVA ;Delete Virtual Address Space SS $CRMPSC ;Create and Map Section SS $UPDSEC ;Update Section File on Disk SS $MGBLSC ;Map Global Section SS $DGBLSC ;Delete GlobalSection SEC$ M_SYSGBL SS $SETPRT ;Set Protection on Pages ; ;************************** ASCII output *********************************** ; 18.XII.81 ; W. Wiitanen, GMR ; SS $FAO ;Formatted ASCII output (A,I,O,Z, literals) .EXTRN FOR$CNV_OUT_G header FOR$CNV_OUT_G CALLG (R10),FOR$CNV_OUT_G MOVL R0,(R10) RSB ; ;************************* End of additions ******************************** newpage .psect impure cmddesc: $clireqdesc rqtype=cli$k_getcmd ;descriptor for CLI GETCMD .psect kernel header GETCMD pushab w^cmddesc ;->request descriptor calls #1,@cli$a_utilserv(ap) ;request cli command line movq w^cmddesc+cli$q_rqdesc,-(r10) ;command string descriptor rsb ss_calls:: .long kernel ;points to linked list of headers ;----connect these definitions to the kernel dictionery .save .=kernel prefix_link:: .restore .end