! ******************************************************************************************************************************** ! Created: 30-AUG-2007 11:30:29 by OpenVMS SDL IA64-2 ! Source: 30-AUG-2007 11:30:28 GEM$:[GEMGROUP.SHEILAM.FORSYSDEF.IVMS-V83]$SYSSRVNAM.SDI;1 ! ******************************************************************************************************************************** !*** MODULE STARLET *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! SYSTEM SERVICE ENTRY POINT DESCRIPTIONS ! ! ! $ACM[W] ! ! Authentication and Credentials Management ! ! $ACM[W] [efn], func, [contxt], itmlst, acmsb, ! [astadr], [astprm] ! ! efn = number of event flag to set at service completion ! (read only, passed by value) ! func = function code and modifiers specifying action ! to be performed ! (read only, passed by value) ! contxt = context longword, used to maintain service state ! across iterative calls ! (modify, passed by reference) ! itmlst = list of item descriptors ! (read only, passed by reference) ! acmsb = ACM status block ! (write only, passed by reference) ! astadr = procedure value for AST routine to be called at ! service completion ! (execute only, passed by reference) ! astprm = value to be passed as an argument to the AST routine ! (passed by value) ! INTEGER*4 SYS$ACM EXTERNAL SYS$ACM INTEGER*4 SYS$ACMW EXTERNAL SYS$ACMW ! ! $ADD_HOLDER ! ! Add Holder Record To The Rights Database ! ! $ADD_HOLDER id, holder, [attrib] ! ! id = identifier longword to associate the ! holder record with ! holder = address of the holder identifier quadword ! attrib = attributes longword to grant to the holder INTEGER*4 SYS$ADD_HOLDER EXTERNAL SYS$ADD_HOLDER ! ! $ADD_IDENT ! ! Add Identifier To The Rights Database ! ! $ADD_IDENT name, [id], [attrib], [resid] ! ! name = address of the identifier name character ! string descriptor ! id = identifier longword to associate with 'name' ! attrib = attributes longword to grant to the ! identifier ! resid = address of a longword to return the assigned ! identifier ! INTEGER*4 SYS$ADD_IDENT EXTERNAL SYS$ADD_IDENT ! ! $ADD_MAPPING ! ! Add Mapping record to Mapping database ! ! $ADD_MAPPING initmlst ! ! initmlst = address of a list of item descriptors for the operation ! INTEGER*4 SYS$ADD_MAPPING EXTERNAL SYS$ADD_MAPPING ! ! $ADD_PROXY ! ! Add proxy record ! ! $ADD_PROXY rem_node, rem_user, local_user, [flags] ! ! rem_node in address of remote node descriptor ! rem_user in address of remote user descriptor ! local_user in address of local user descriptor ! flags in proxy service flags ! INTEGER*4 SYS$ADD_PROXY EXTERNAL SYS$ADD_PROXY ! ! $ADJSTK ! ! Adjust Outer Mode Stack Pointer ! ! $ADJSTK [acmode] ,[adjust] ,newadr ! ! acmode = access mode for which to adjust stack pointer ! adjust = 16-bit signed adjustment value ! newadr = address of longword to store updated value ! INTEGER*4 SYS$ADJSTK EXTERNAL SYS$ADJSTK ! ! $ADJWSL ! ! Adjust Working Set Limit ! ! $ADJWSL [pagcnt] ,[wsetlm] ! ! pagcnt = number of pages to add to working set (if positive). ! Number of pages to subtract from working set (if ! negative). ! wsetlm = address of longword to receive new working set limit, ! or current working set limit if pagcnt not specified. ! INTEGER*4 SYS$ADJWSL EXTERNAL SYS$ADJWSL ! ! $ALLOC ! ! Allocate Device ! ! $ALLOC devnam ,[phylen] ,[phybuf] ,[acmode] ,[flags] ! ! devnam = address of device name or logical name string ! descriptor ! phylen = address of word to receive length of physical name ! phybuf = address of physical name buffer descriptor ! acmode = access mode associated with allocated device ! flags = options flags longword ! INTEGER*4 SYS$ALLOC EXTERNAL SYS$ALLOC ! ! $ASCEFC ! ! Associate Common Event Flag Cluster ! ! $ASCEFC efn ,name ,[prot] ,[perm] ! ! efn = number of any event flag in the cluster with which to ! associate ! name = address of the text name string descriptor ! prot = protection indicator for the cluster ! 0 -> default, any process in group ! 1 -> only owner's UIC ! perm = permanent indicator ! 0 -> temporary cluster ! 1 -> permanent cluster ! INTEGER*4 SYS$ASCEFC EXTERNAL SYS$ASCEFC ! ! $ASCTIM ! ! Convert Binary Time to ASCII String ! ! $ASCTIM [timlen] ,timbuf ,[timadr] ,[cvtflg] ! ! timlen = address of a word to receive the number of characters ! inserted into the output buffer. ! timbuf = address of a character string descriptor describing ! the buffer to receive the converted time. ! timadr = address of the quadword containing the 64-bit time to ! be converted to ASCII. If 0, use current time. ! cvtflg = conversion indicator ! 0 -> return full date and time ! 1 -> return converted time only ! INTEGER*4 SYS$ASCTIM EXTERNAL SYS$ASCTIM ! ! $ASCTOID ! ! Ascii To Identifier Conversion ! ! $ASCTOID name, [id], [attrib] ! ! name = address of the identifier name character ! string descriptor to be converted ! id = address to return the identifier longword ! attrib = address to return the attributes longword ! INTEGER*4 SYS$ASCTOID EXTERNAL SYS$ASCTOID ! ! $ASCUTC ! ! Convert Binary UTC time into ASCII time string ! ! $ASCUTC [timlen], timbuf, [utcadr], [cvtflg] ! ! timlen = Length (in bytes) of the ASCII string ! returned by $ASCUTC. The timelen argument ! is the address of a word containing this length. ! timbuf = Buffer into which $ASCUTC writes the ASCII string. ! The timbuf argument is the address of a character ! string descriptor pointing to the bufer. The ! buffer length specified in the timbuf argument, ! together rwith the cvtflg argument, controls what ! information is returned. ! utcadr = Time value that $ASCUTC is to convert. The utcadr ! argument is the address of this 128-bit time value. ! Relative times are not permitted. If utcadr is ! not specified ( ie 0 ), $ASCUTC returns the current ! date and time. ! cvtflg = Conversion indicator specifying which date and time ! fields $ASCUTC should return. The cvtflg argument is ! a longword value, which is interpreted as Boolean. ! The value 1 specifies that ASCUTC should return only ! the hour,minute,second, and hundreths of a second fields. ! The default value 0 specifies that $ASCUTC should return ! the full date and time. ! INTEGER*4 SYS$ASCUTC EXTERNAL SYS$ASCUTC ! ! $ASSIGN ! ! Assign I/O Channel ! ! $ASSIGN devnam ,chan ,[acmode] ,[mbxnam], [flags] ! ! devnam = address of device name or logical name string ! descriptor ! chan = address of word to receive channel number assigned ! acmode = access mode associated with channel ! mbxnam = address of mailbox logical name string descriptor, if ! mailbox associated with device ! flags = optional channel flags longword for specifying options ! for the $ASSIGN operation ! INTEGER*4 SYS$ASSIGN EXTERNAL SYS$ASSIGN ! ! $AUDIT_EVENT ! ! Audit Security Relevant Event ! ! $AUDIT_EVENT(W) [efn], [flags], itmlst, [audsts], [astadr], [astprm] ! ! efn = number of event flag to set on completion ! ! flags = input flags longword ! ! itmlst = address of list of item descriptors ! ! audsts = address of longword to receive final completion status ! ! astadr = address of AST completion routine ! ! astprm = unsigned longword to be passed to AST routine ! INTEGER*4 SYS$AUDIT_EVENT EXTERNAL SYS$AUDIT_EVENT INTEGER*4 SYS$AUDIT_EVENTW EXTERNAL SYS$AUDIT_EVENTW ! ! $BINTIM ! ! Convert ASCII String to Binary Time ! ! $BINTIM timbuf ,timadr ! ! timbuf = address of string descriptor for ASCII time string ! timadr = address of quadword to receive 64-bit binary time ! value ! ! Absolute time strings are specified in the format: ! dd-mmm-yyyy hh:mm:ss.cc ! Delta time strings are specified in the format: ! dddd hh:mm:ss.cc ! INTEGER*4 SYS$BINTIM EXTERNAL SYS$BINTIM ! ! $BINUTC ! ! Convert ASCII UTC time to a binary format ! ! $BINUTC timbuf, utcadr ! ! timbuf = Buffer that holds the ASCII time to be converted. ! The timbuf argument specifies the address of a ! character string descriptor pointing to the VMS ! time string. The VMS time string specifies the ! absolute time to be converted by $BINUTC. ! utcadr = Time value that $BINUTC has converted. The ! utcadr argument is the address of the utc_date_time ! which receives the converted time. ! INTEGER*4 SYS$BINUTC EXTERNAL SYS$BINUTC ! ! $BRDCST ! ! Broadcast ! ! $BRDCST msgbuf ,[devnam] ! ! msgbuf = address of message buffer string descriptor ! devnam = terminal device name string descriptor. If 0, send ! message to all terminals. If first word in ! descriptor is 0, send message to all allocated ! terminals. ! INTEGER*4 SYS$BRDCST EXTERNAL SYS$BRDCST ! $BRKTHRU ! ! Write to terminal breakthru ! ! $BRKTHRU [efn] ,msgbuf, [sendto], [sndtyp], [iosb], ! ($BRKTHRUW) [carcon], [flags], [reqid], [timout], ! [astadr], [astprm] ! ! efn = event flag to be set at completion ! ! msgbuf = address of message buffer descriptor ! ! sendto = address of send address descriptor ! ! sndtyp = value to describe sendto ! ! iosb = address of a quadword I/O status block ! ! carcon = carriage control ! ! flags = flags to modify broadcast ! ! reqid = broadcast class requestor id ! ! timout = address of timeout value ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as an argument ! ! INTEGER*4 SYS$BRKTHRU EXTERNAL SYS$BRKTHRU INTEGER*4 SYS$BRKTHRUW EXTERNAL SYS$BRKTHRUW ! ! $CANCEL ! ! Cancel I/O on Channel ! ! $CANCEL chan ! ! chan = number of the channel on which I/O is to be canceled ! INTEGER*4 SYS$CANCEL EXTERNAL SYS$CANCEL ! ! $CANCEL_SELECTIVE ! ! Selective Cancel I/O on Channel ! ! $CANCEL_SELECTIVE chan, [iosblst], [lenlst] ! ! chan = number of the channel on which I/O is to be canceled ! iosblst = address of a vector of IOSB pointers ! lenlst = number of entries in the vector pointed by iosblst ! INTEGER*4 SYS$CANCEL_SELECTIVE EXTERNAL SYS$CANCEL_SELECTIVE ! $CANEVTAST ! ! Cancel an Event AST Routine ! ! $CANEVTAST [evtnam], [evtadr], [evtfac], [acmode], [flags], [reqid] ! ,[evtid] ! ! evtnam = address of descriptor of event name ! ! evtadr = address of entry mask of event AST routine ! ! evtfac = address of event facility code ! ! acmode = access mode of event declaration ! ! flags = address of optional flags ! ! reqid = user provided identification of this request ! ! evtid = unique identification of this request ! INTEGER*4 SYS$CANEVTAST EXTERNAL SYS$CANEVTAST ! ! $CANEXH ! ! Cancel Exit Handler ! ! $CANEXH [desblk] ! ! desblk = address of exit control block describing exit handler ! to be deleted. If 0, delete all. ! INTEGER*4 SYS$CANEXH EXTERNAL SYS$CANEXH ! ! $CANTIM ! ! Cancel Timer Request ! ! $CANTIM [reqidt] ,[acmode] ! ! reqidt = request identification for request to be canceled. ! If 0, all requests canceled. ! acmode = access mode of requests to be canceled ! INTEGER*4 SYS$CANTIM EXTERNAL SYS$CANTIM ! ! $CANWAK ! ! Cancel Wakeup ! ! $CANWAK [pidadr] ,[prcnam] ! ! pidadr = address of process identification of process for ! which wakeups are to be canceled ! prcnam = address of process name string descriptor ! INTEGER*4 SYS$CANWAK EXTERNAL SYS$CANWAK ! $CHANGE_ACL ! ! Set or modify an object's ACL ! ! $CHANGE_ACL [chan], objtyp, [objnam], ! itmlst, [acmode], [iosb], ! [contxt] , [routin], [orbadr] ! ! chan = number of a channel assigned to the object or ! 0 if object is specified by the objnam parameter ! ! objtyp = address of an object type code ! ! objnam = address of object name ! ! itmlst = address of a list of item descriptors ! ! acmode = address of a byte containing the access mode in ! which the arguments will be validated ! ! iosb = address of a quadword I/O status block ! ! contxt = address of a context long word (used for iterative ! calls or a multi-entry item list) ! ! routin = address of routine to be executed in kernel mode ! (obsolete) ! ! orbadr = address of a user supplied ORB ! INTEGER*4 SYS$CHANGE_ACL EXTERNAL SYS$CHANGE_ACL ! $CHANGE_CLASS objtyp, [objnam], itmlst ! [acmode], [orbadr] ! ! Modify an objects access class ! ! objtyp = address of an object type code ! ! objnam = address of an object name descriptor ! ! itmlst = address of a list of item descriptors ! ! acmode = address of a byte containing the access mode in ! which the arguments will be validated ! ! orbadr = address of routine to be executed in kernel mode ! ! INTEGER*4 SYS$CHANGE_CLASS EXTERNAL SYS$CHANGE_CLASS ! $CHECK_ACCESS ! ! $CHECK_ACCESS [objtyp], [objnam], [usrnam], itmlst, [contxt], ! [clsnam], [objpro], [usrpro] ! ! Check User Access to an Object ! ! objtyp = address of an object type code ! ! objnam = address of an object name descriptor ! ! usrnam = address of a user name descriptor ! ! itmlst = address of a list of item descriptors ! ! contxt = address of longword for UAI context ! ! clsnam = address of object class name descriptor ! ! objpro = address of object profile descriptor(ORB TLV or channel) ! ! usrpro = address of user profile descriptor (ARB TLV) ! INTEGER*4 SYS$CHECK_ACCESS EXTERNAL SYS$CHECK_ACCESS ! $CHECK_FEN ! ! Check if floating point enabled for current image ! INTEGER*4 SYS$CHECK_FEN EXTERNAL SYS$CHECK_FEN ! $CHECK_PRIVILEGE[W] ! ! Check for process privilege and perform security audit. ! ! $CHECK_PRIVILEGE[W] [efn] ,prvadr ,[altprv] ,[flags] ,[itmlst] ,[audsts] ,[astadr] ,[astprm] ! ! efn = event flag to set on asynchronous service completion ! prvadr = address of quadword privilege mask or longword identifier ! altprv = address of quadword privilege mask to check against ! flags = control flags ! itmlst = address of a list of item descriptors ! audsts = longword to receive final completion status ! astadr = address of AST routine to call on service completion ! astprm = longword to pass to AST routine ! INTEGER*4 SYS$CHECK_PRIVILEGE EXTERNAL SYS$CHECK_PRIVILEGE INTEGER*4 SYS$CHECK_PRIVILEGEW EXTERNAL SYS$CHECK_PRIVILEGEW ! ! $CHKPRO ! ! Check Access Protection ! ! $CHKPRO itmlst, [objpro], [usrpro] ! ! itmlst = address of a list of item descriptors ! objpro = address of object handle descriptor (ORB TLV) ! usrpro = address of user handle descriptor (ARB TLV) ! INTEGER*4 SYS$CHKPRO EXTERNAL SYS$CHKPRO ! $CLEAR_SYSTEM_EVENT ! ! Clear System Event Notification ! ! $CLEAR_SYSTEM_EVENT [handle], [acmode], [event] ! ! handle = address of handle ! ! acmode = access mode of AST ! ! event = code indicating type of event ! INTEGER*4 SYS$CLEAR_SYSTEM_EVENT EXTERNAL SYS$CLEAR_SYSTEM_EVENT ! $CLEAR_UNWIND_TABLE ! ! Clears unwind table (UT) information. ! ! $CLEAR_UNWIND_TABLE code_base_va ! ! code_base_va = process virtual address of the start of a registered code region ! INTEGER*4 SYS$CLEAR_UNWIND_TABLE EXTERNAL SYS$CLEAR_UNWIND_TABLE ! $CLRCLUEVT ! ! Clear Cluster Event Notification ! ! $CLRCLUEVT [handle], [acmode], [event] ! ! handle = address of handle ! ! acmode = access mode of AST ! ! event = code indicating type of event ! INTEGER*4 SYS$CLRCLUEVT EXTERNAL SYS$CLRCLUEVT ! ! $CLREF ! ! Clear Event Flag ! ! $CLREF efn ! ! efn = number of event flag to be cleared ! INTEGER*4 SYS$CLREF EXTERNAL SYS$CLREF ! ! $CLOSE ! ! Close File ! ! $CLOSE fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$CLOSE EXTERNAL SYS$CLOSE ! ! $CMEXEC ! ! Change to Executive Mode ! ! $CMEXEC routin ,[arglst] ! ! routin = address of the routine to be executed in executive ! mode ! arglst = address of argument list to be supplied to the ! routine ! INTEGER*4 SYS$CMEXEC EXTERNAL SYS$CMEXEC ! ! $CMEXEC_64 ! ! Change to Executive Mode with Quadword Argument List ! ! $CMEXEC_64 routin_64 ,[arglst_64] ! ! routin_64 = address of the routine to be executed in executive ! mode ! arglst_64 = address of quadword argument list to be supplied to the ! routine ! INTEGER*4 SYS$CMEXEC_64 EXTERNAL SYS$CMEXEC_64 ! $CMKRNL ! ! Change to Kernel Mode ! ! $CMKRNL routin ,[arglst] ! ! routin = address of routine to be executed in kernel mode ! ! arglst = address of argument list to be supplied to routine ! INTEGER*4 SYS$CMKRNL EXTERNAL SYS$CMKRNL ! $CMKRNL_64 ! ! Change to Kernel Mode with Quadword Argument List ! ! $CMKRNL_64 routin_64 ,[arglst_64] ! ! routin_64 = address of routine to be executed in kernel mode ! ! arglst_64 = address of quadword argument list to be supplied to routine ! INTEGER*4 SYS$CMKRNL_64 EXTERNAL SYS$CMKRNL_64 ! ! $CONNECT ! ! Connect File ! ! $CONNECT rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$CONNECT EXTERNAL SYS$CONNECT ! $CNTREG ! ! Contract Program/Control Region ! ! $CNTREG pagcnt ,[retadr] ,[acmode] ,[region] ! ! pagcnt = number of pages to be deleted from end of region ! ! retadr = address of 2-longword array to receive virtual ! addresses of starting and ending page of deleted area ! ! acmode = access mode for which service is performed ! ! region = region indicator ! 0 -> program (P0) region 1 -> control (P1) region ! INTEGER*4 SYS$CNTREG EXTERNAL SYS$CNTREG ! ! $CPU_CAPABILITIES ! ! Modify CPU user capabilities ! ! $CPU_CAPABILITIES cpu_id,[select_mask],[modify_mask],[prev_mask],[flags] ! ! cpu_id = CPUID number of processor to be affected by changes ! select_mask = address of bitmask indicating which capabilities ! are to be involved in the specified operation ! modify_mask = address of bitmask indicating final state ! of those capabilities specified in select_mask ! prev_mask = address of user quadword that will hold the ! previous states of the individual capabilities ! flags = address of behavioral flags for this operation ! INTEGER*4 SYS$CPU_CAPABILITIES EXTERNAL SYS$CPU_CAPABILITIES ! ! $CPU_TRANSITION ! $CPU_TRANSITIONW ! ! CPU State Transitions ! ! $CPU_TRANSITION tran_code,cpu_id,[node_id],flags,efn,iosb,astadr,astprm ! $CPU_TRANSITIONW tran_code,cpu_id,[node_id],flags,efn,iosb,astadr,astprm ! Inputs: tran_code - Transition code of operation to be initiated ! cpu_id - CPU ID of processor to affected ! nodename - ASCII descriptor name equivalent to node ID ! node_id - Galactic node ID ! flags - Quadword pointer to longword behavioral flags ! efn - Event flag number for completion notification ! iosb - IOSB block address for completion notification ! astadr - Address of AST routine name on completion ! astprm - AST parameter to be passed back on completion ! timout - Timeout count in seconds ! INTEGER*4 SYS$CPU_TRANSITION EXTERNAL SYS$CPU_TRANSITION INTEGER*4 SYS$CPU_TRANSITIONW EXTERNAL SYS$CPU_TRANSITIONW ! ! $CREATE ! ! Create File ! ! $CREATE fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$CREATE EXTERNAL SYS$CREATE ! ! $CREATE_MAPPING ! ! Create Mapping record database ! ! $CREATE_MAPPING ! INTEGER*4 SYS$CREATE_MAPPING EXTERNAL SYS$CREATE_MAPPING ! ! $CREATE_PROXY ! ! Create proxy database ! ! $CREATE_PROXY ! ! INTEGER*4 SYS$CREATE_PROXY EXTERNAL SYS$CREATE_PROXY ! ! $CREATE_UID ! ! Create a Universal Identifier ! ! $CREATE_UID UID ! ! UID = address of the 16 byte buffer to receive the UID. ! INTEGER*4 SYS$CREATE_UID EXTERNAL SYS$CREATE_UID ! $CREATE_BUFOBJ ! ! Create I/O Buffer Object ! ! $CREATE_BUFOBJ inadr ,[retadr] ,[acmode] ,[flags] ,buffer_handle ! ! inadr = address of 2-longword array containing starting and ending ! virtual addresses of existing VA to include in buffer object ! ! retadr = address of 2-longword array to receive addresses ! actually included in the buffer object ! ! acmode = access mode of owner of buffer object ! ! flags = request option flags ! ! Bit Meaning (if set) ! ! 0 Return system virtual address of buffer object in RETADR ! (Caller must be in kernel mode) ! ! buffer_handle = address of a quadword to receive the buffer handle ! that identifies the created buffer object ! INTEGER*4 SYS$CREATE_BUFOBJ EXTERNAL SYS$CREATE_BUFOBJ ! $CREATE_BUFOBJ_64 ! ! Create I/O Buffer Object ! ! $CREATE_BUFOBJ_64 start_va_64, length_64, acmode, flags, return_va_64, return_length_64, ! buffer_handle_64 ! ! start_va_64 = Starting address of existing address to include in buffer object ! ! length_64 = Byte length of addresses to include in buffer object ! ! acmode = access mode of owner of buffer object ! ! flags = request option flags ! ! Flag Meaning (if specified) ! ! CBO_M_RETSVA Return system virtual address of buffer object in return_va_64 ! (Caller must be in kernel mode) ! CBO_M_SVA_32 Create buffer object window in 32-bit (S0/S1) system space ! ! return_va_64 = Address of buffer object created ! ! return_length_64 = Length of buffer object created ! ! buffer_handle_64 = address of a quadword to receive the buffer handle ! that identifies the created buffer object ! INTEGER*4 SYS$CREATE_BUFOBJ_64 EXTERNAL SYS$CREATE_BUFOBJ_64 ! $CREATE_GFILE ! ! Create Permanent Global Disk File Section ! ! $CREATE_GFILE gsdnam_64, ident_64, file_offset_64, length_64, chan, acmode, flags, ! return_length_64[, fault_cluster] ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! file_offset_64 = Byte offset into file to start section ! ! length_64 = Byte length of section to create ! ! chan = Number of channel on which file is accessed ! ! acmode = Access mode for section ! ! flags = Section characteristics ! ! Flag Meaning ! ! SEC$M_CRF Copy-on-reference section ! SEC$M_SYSGBL System global section ! SEC$M_WRT Read/write section ! ! return_length_64 = Length of section created ! ! fault_cluster = Page fault cluster size in bytes ! INTEGER*4 SYS$CREATE_GFILE EXTERNAL SYS$CREATE_GFILE ! $CREATE_GDZRO ! ! Create Permanent Global Demand Zero Section ! ! $CREATE_GDZRO gsdnam_64, ident_64, prot, length_64, acmode, flags[[, reserved_length], rad_m ! $CREATE_GDZRO gsdnam_64, ident_64, prot, length_64, acm ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! prot = Protection mask ! ! length_64 = Byte length of section to create ! ! acmode = Access mode for section ! ! flags = Section characteristics ! ! Flag Meaning ! ! SEC$M_SYSGBL System global section ! ! SEC$M_RAD_HINT Use rad_mask argument as a hint of which RADs to allocate memory from ! ! reserved_length_64 = Length of memory reserved for this global section ! ! rad_mask = If SEC$M_RAD_HINT is set, bitmask of RADs from which to allocate memory INTEGER*4 SYS$CREATE_GDZRO EXTERNAL SYS$CREATE_GDZRO ! $CREATE_GPFILE ! ! Create Permanent Global Page File Section ! ! $CREATE_GPFILE gsdnam_64, ident_64, prot, length_64, acmode, flags ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! prot = Protection mask ! ! length_64 = Byte length of section to create ! ! acmode = Access mode for section ! ! flags = Section characteristics ! ! Flag Meaning ! ! SEC$M_SYSGBL System global section ! INTEGER*4 SYS$CREATE_GPFILE EXTERNAL SYS$CREATE_GPFILE ! $CREATE_GPFN ! ! Create Permanent Global Page Frame Section ! ! $CREATE_GPFN gsdnam_64, ident_64, prot, start_pfn, page_count, acmode, flags ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! prot = Protection mask ! ! start_pfn = Page frame number of first page in section ! ! page_count = Number of page frames in section ! ! acmode = Access mode for section ! ! flags = Section characteristics ! ! Flag Meaning ! ! SEC$M_ARGS64 All arguments are passed as 64-bits ! SEC$M_SYSGBL System global section ! INTEGER*4 SYS$CREATE_GPFN EXTERNAL SYS$CREATE_GPFN ! ! $CREATE_RDB ! ! Create The Rights Database ! ! $CREATE_RDB [sysid] ! ! sysid = address of the quadword system identifier ! to store in the maintenance record ! INTEGER*4 SYS$CREATE_RDB EXTERNAL SYS$CREATE_RDB ! $CREATE_REGION_64 ! ! Create Virtual Address Region ! ! $CREATE_REGION_64 length_64, region_prot, flags, return_region_id_64, return_va_64, ! return_length_64[, start_va_64] ! ! length_64 = Byte length of region to create ! ! region_prot = Protection on region ! ! flags = Region characteristics ! ! return_region_id_64 = Region id associated with newly created region ! ! return_va_64 = Starting address of region created ! ! return_length_64 = Length of region created ! ! start_va_64 = Starting address to create region INTEGER*4 SYS$CREATE_REGION_64 EXTERNAL SYS$CREATE_REGION_64 ! ! $CREATE_USER_PROFILE ! ! Create a user security profile. ! ! $CREATE_USER_PROFILE [usrnam], [itmlst], [flags], usrpro, usrprolen, [context] ! ! usrnam = address of username descriptor (optional with CHP$M_NOACCESS) ! itmlst = address of item list ! flags = flags longword ! usrpro = address of buffer to receive user profile (opaque byte string) ! usrprolen = address of longword to receive user profile length ! contxt = address of longword to receive UAI context ! INTEGER*4 SYS$CREATE_USER_PROFILE EXTERNAL SYS$CREATE_USER_PROFILE ! $CRELNM ! ! Create Logical Name ! ! $CRELNM [attr], tabnam, lognam, [acmode], [itemlist] ! ! attr = address of logical name attributes ! ! Attribute Meaning ! LNM$M_CONFINE Logical name not to be copied into sub-process ! LNM$M_NO_ALIAS Logical name can not be aliased ! LNM$M_CRELOG Logical name created using $CRELOG ! ! tabnam = address of logical name table string descriptor ! ! lognam = address of logical name string descriptor ! ! acmode = address of access mode for logical name ! ! itmlst = address of a list of item descriptors ! INTEGER*4 SYS$CRELNM EXTERNAL SYS$CRELNM ! $CRELNT ! ! Create Logical Name Table ! ! $CRELNT [attr], [resnam], [reslen], [quota], ! [promsk], [tabnam], [acmode], [partab], [uic] ! ! attr = address of logical name table attributes ! ! resnam = address of descriptor of a buffer to receive the ! created table's name ! ! reslen = address of word to recieve length of created table's ! name ! ! quota = address of quota associated with logical name table ! ! promsk = address of protection mask ! ! tabnam = address of descriptor of logical name table name to be created ! ! partab = address of name of table parent string descriptor ! ! acmode = address of access mode for logical name ! ! uic = owner of table created in response to remote request ! INTEGER*4 SYS$CRELNT EXTERNAL SYS$CRELNT ! $CRELOG ! ! Create Logical Name ! ! $CRELOG [tblflg] ,lognam ,eqlnam ,[acmode] ! ! tblflg = logical name table number ! 0 -> system (default) 1 -> group 2 -> process ! ! lognam = address of logical name string descriptor ! ! eqlnam = address of equivalence name string descriptor ! ! acmode = access mode for logical name (process table only) ! INTEGER*4 SYS$CRELOG EXTERNAL SYS$CRELOG ! $CREMBX ! ! Create Mailbox and Assign Channel ! ! $CREMBX [prmflg] ,chan ,[maxmsg] ,[bufquo] ,[promsk] ,[acmode] ,[lognam], [flags] ! ! prmflg = permanent flag ! 0 -> temporary (default) 1 -> permanent ! ! chan = address of word to receive channel ! ! maxmsg = maximum message size that may be received ! ! bufquo = number of bytes that can be used to buffer messages ! ! promsk = protection mask ! ! acmode = access mode of created mailbox ! ! lognam = address of logical name string descriptor for mailbox ! ! flags = optional flags for mailbox creation and channel assignment ! INTEGER*4 SYS$CREMBX EXTERNAL SYS$CREMBX ! $CREPRC ! ! Create Process ! ! $CREPRC [pidadr] ,[image] ,[input] ,[output] ,[error] ,[prvadr] ! ,[quota] ,[prcnam] ,[baspri] ,[uic] ,[mbxunt] ,[stsflg] ,[itmlst] ! ,[node], [home_rad] ! ! pidadr = address of longword to return id of created process ! ! image = address of string descriptor for image name ! ! input = address of string descriptor for SYS$INPUT ! ! output = address of string descriptor for SYS$OUTPUT ! ! error = address of string descriptor for SYS$ERROR ! ! prvadr = address of quadword privilege list ! ! quota = address of quota list ! ! prcnam = address of string descriptor for process name ! ! baspri = base priority (0-31) ! ! uic = user identification code. If 0, create a subprocess ! ! mbxunt = mailbox unit for termination message ! ! stsflg = status and mode flag bits ! ! Bit Meaning ! ! 0 disable resource wait mode ! 1 enable system service failure exception mode ! 2 inhibit process swapping ! 3 disable accounting messages ! 4 batch process ! 5 cause created process to hibernate ! 6 allow login without authorization file check ! 7 process is a network connect object ! 22 start process on specified home rad ! ! itmlst = address of a list of item descriptors ! ! node = address of string descriptor for SCS node name ! ! home_rad = RAD to start process on, if bit 22 in stsflg is set INTEGER*4 SYS$CREPRC EXTERNAL SYS$CREPRC ! $CRETVA ! ! Create Virtual Address Space ! ! $CRETVA inadr ,[retadr] ,[acmode] ! ! inadr = address of 2-longword array containing starting and ! ending virtual address of pages to be created ! ! retadr = address of a 2-longword array to receive starting and ! ending virtual address of pages actually created ! ! acmode = access mode for the new pages (protection is ! read/write for acmode and more privileged modes) ! INTEGER*4 SYS$CRETVA EXTERNAL SYS$CRETVA ! $CRETVA_64 ! ! Create Virtual Address Space ! ! $CRETVA_64 region_id_64, start_va_64, length_64, acmode, flags, return_va_64, return_length ! $CRETVA_64 region_id_64, start_va_64, length_64, acmod ! [, page_prot] ! ! region_id_64 = Address of quadword region id ! ! start_va_64 = Starting address of address space to create ! ! length_64 = Byte length of addresses to create ! ! acmode = access mode for the new pages (protection is ! read/write for acmode and more privileged modes) ! ! flags = Address space creation flags ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! page_prot = desired page protection (optional) ! INTEGER*4 SYS$CRETVA_64 EXTERNAL SYS$CRETVA_64 ! $CRMPSC ! ! Create and Map Section ! ! $CRMPSC [inadr] ,[retadr] ,[acmode] ,[flags] ,[gsdnam] ,[ident] ! ,[relpag] ,[chan] ,[pagcnt] ,[vbn] ,[prot] ,[pfc] ! ! inadr = address of 2-longword array containing starting and ! ending virtual addresses of space to map section ! ! retadr = address of 2-longword array to receive addresses ! actually mapped ! ! acmode = access mode of owner of pages ! ! flags = section characteristics ! ! Flag Meaning ! ! SEC$M_GBL Global section ! SEC$M_CRF Copy-on-reference section ! SEC$M_DZRO Demand zero pages ! SEC$M_EXPREG Find first available space ! SEC$M_PERM Permanent section ! SEC$M_PFNMAP Physical page frame section ! SEC$M_SYSGBL System global section ! SEC$M_WRT Read/write section ! ! gsdnam = address of global section name string descriptor ! ! ident = address of quadword containing version id and match control ! ! relpag = relative page number within section ! ! chan = number of channel on which file is accessed ! ! pagcnt = number of pages in section ! ! vbn = virtual block number of beginning of section or ! physical page frame number of beginning of section ! ! prot = protection mask ! ! pfc = page fault cluster size ! INTEGER*4 SYS$CRMPSC EXTERNAL SYS$CRMPSC ! $CRMPSC_FILE_64 ! ! Create and Map Private Disk File Section ! ! $CRMPSC_FILE_64 region_id_64, file_offset_64, length_64, chan, acmode, flags, ! return_va_64, return_length_64 ! [, fault_cluster[, start_va_64[, page_prot]]] ! ! region_id_64 = Address of quadword region id ! ! file_offset_64 = Byte offset into file to start section ! ! length_64 = Byte length of addresses to create ! ! chan = number of channel on which file is accessed ! ! acmode = access mode for the new pages ! ! flags = section characteristics ! ! Flag Meaning ! ! SEC$M_CRF Copy-on-reference section ! SEC$M_DZRO Demand zero pages ! SEC$M_EXPREG Find first available space ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_WRT Read/write section ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! fault_cluster = Page fault cluster size in bytes ! ! start_va_64 = Starting address of address space to create ! ! page_prot = Desired page protection (optional) ! INTEGER*4 SYS$CRMPSC_FILE_64 EXTERNAL SYS$CRMPSC_FILE_64 ! $CRMPSC_GFILE_64 ! ! Create and Map Global Disk File Section ! ! $CRMPSC_GFILE_64 gsdnam_64, ident_64, file_offset_64, length_64, chan, region_id_64, ! section_offset_64, acmode, flags, return_va_64, return_length_64 ! [, fault_cluster[, start_va_64[, map_length_64[, page_prot]]]] ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! file_offset_64 = Byte offset into file to start section ! ! length_64 = Byte length of section to create ! ! chan = number of channel on which file is accessed ! ! region_id_64 = Address of quadword region id ! ! section_offset_64 = Relative byte within global section to start mapping ! ! acmode = access mode for the new pages ! ! flags = section characteristics ! ! Flag Meaning ! ! SEC$M_CRF Copy-on-reference section ! SEC$M_EXPREG Find first available space ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_PERM Permanent section ! SEC$M_SYSGBL System global section ! SEC$M_WRT Read/write section ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! fault_cluster = Page fault cluster size in bytes ! ! start_va_64 = Starting address of address space to create ! ! map_length_64 = Byte length of address space to map ! INTEGER*4 SYS$CRMPSC_GFILE_64 EXTERNAL SYS$CRMPSC_GFILE_64 ! $CRMPSC_GDZRO_64 ! ! Create and Map Global Demand Zero Section ! ! $CRMPSC_GDZRO_64 gsdnam_64, ident_64, prot, length_64, region_id_64, section_offset_64, ! acmode, flags, return_va_64, return_length_64 ! [, start_va_64[, map_length_64[, reserved_length_64[, rad_mask[, page_prot]]]]] ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! prot = Protection mask ! ! length_64 = Byte length of section to create ! ! region_id_64 = Address of quadword region id ! ! section_offset_64 = Relative byte within global section to start mapping ! ! acmode = access mode for the new pages ! ! flags = section characteristics ! ! Flag Meaning ! ! SEC$M_EXPREG Find first available space ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_PERM Permanent section ! SEC$M_SYSGBL System global section ! SEC$M_RAD_HINT Use rad_mask argument as a hint of which RADs to allocate memory from ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! start_va_64 = Starting address of address space to create ! ! map_length_64 = Byte length of address space to map ! ! reserved_length_64 = Length of memory reserved for this global section ! ! rad_mask = If SEC$M_RAD_HINT is set, bitmask of RADs from which to allocate memory ! INTEGER*4 SYS$CRMPSC_GDZRO_64 EXTERNAL SYS$CRMPSC_GDZRO_64 ! $CRMPSC_GPFILE_64 ! ! Create and Map Global Page File Section ! ! $CRMPSC_GPFILE_64 gsdnam_64, ident_64, prot, length_64, region_id_64, section_offset_64, ! acmode, flags, return_va_64, return_length_64 ! [, start_va_64[, map_length_64[, page_prot]]] ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! prot = Protection mask ! ! length_64 = Byte length of section to create ! ! region_id_64 = Address of quadword region id ! ! section_offset_64 = Relative byte within global section to start mapping ! ! acmode = access mode for the new pages ! ! flags = section characteristics ! ! Flag Meaning ! ! SEC$M_EXPREG Find first available space ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_PERM Permanent section ! SEC$M_SYSGBL System global section ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! start_va_64 = Starting address of address space to create ! ! map_length_64 = Byte length of address space to map ! INTEGER*4 SYS$CRMPSC_GPFILE_64 EXTERNAL SYS$CRMPSC_GPFILE_64 ! $CRMPSC_GPFN_64 ! ! Create and Map Global Page Frame Section ! ! $CRMPSC_GPFN_64 gsdnam_64, ident_64, prot, start_pfn, page_count, region_id_64, relative_pa ! $CRMPSC_GPFN_64 gsdnam_64, ident_64, prot, start_pfn, ! acmode, flags, return_va_64, return_length_64 ! [, start_va_64[, map_page_count[, page_prot]]] ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! prot = Protection mask ! ! start_pfn = Page frame number of first page in section ! ! page_count = Number of page frames in section ! ! region_id_64 = Address of quadword region id ! ! relative_page = Relative page within global section to start mapping ! ! acmode = Access mode of owner of mapped pages ! ! flags = Flags overriding default section characteristics ! ! Flag Meaning ! ! SEC$M_ARGS64 All arguments are passed as 64-bits ! SEC$M_EXPREG Find first available space ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_SYSGBL System global section ! SEC$M_WRT Read/write mapping of section ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! start_va_64 = Starting address of address space to create ! ! map_page_count = Number of page frames to map ! ! page_prot = Desired page protection (optional) ! INTEGER*4 SYS$CRMPSC_GPFN_64 EXTERNAL SYS$CRMPSC_GPFN_64 ! $CRMPSC_PFN_64 ! ! Create and Map Private Page Frame Section ! ! $CRMPSC_PFN_64 region_id_64, start_pfn, page_count, acmode, flags, ! return_va_64, return_length_64 ! [, start_va_64[, page_prot]] ! ! region_id_64 = Address of quadword region id ! ! start_pfn = Page frame number of first page in section ! ! page_count = Number of page frames in section ! ! acmode = access mode for the new pages ! ! flags = section characteristics ! ! Flag Meaning ! ! SEC$M_ARGS64 All arguments are passed as 64-bits ! SEC$M_EXPREG Find first available space ! SEC$M_GRANHINT Set granularity hints on pages ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_WRT Read/write section ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! start_va_64 = Starting address of address space to create ! ! page_prot = Desired page protection (optional) ! INTEGER*4 SYS$CRMPSC_PFN_64 EXTERNAL SYS$CRMPSC_PFN_64 ! $DACEFC ! ! Disassociate Common Event Flag Cluster ! ! $DACEFC efn ! ! efn = number of any event flag in the cluster ! INTEGER*4 SYS$DACEFC EXTERNAL SYS$DACEFC ! $DALLOC ! ! Deallocate Device ! ! $DALLOC [devnam] ,[acmode] ! ! devnam = address of device name descriptor. If 0, deallocate all ! ! acmode = access mode associated with device ! INTEGER*4 SYS$DALLOC EXTERNAL SYS$DALLOC ! $DASSGN ! ! Deassign I/O Channel ! ! $DASSGN chan ! ! chan = number of channel to be deassigned ! INTEGER*4 SYS$DASSGN EXTERNAL SYS$DASSGN ! $DCLAST ! ! Declare AST ! ! $DCLAST astadr ,[astprm] ,[acmode] ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! acmode = access mode for which the AST is to be declared ! INTEGER*4 SYS$DCLAST EXTERNAL SYS$DCLAST ! $DCLCMH ! ! Declare Change Mode or Compatibility Mode Handler ! ! $DCLCMH addres ,[prvhnd] ,[type] ! ! addres = address of handler ! ! prvhnd = address of longword to receive previous handler address ! ! type = handler type indicator ! 0 -> change mode (current mode) 1 -> compatibility mode ! INTEGER*4 SYS$DCLCMH EXTERNAL SYS$DCLCMH ! $DCLEVT ! ! Declare an Event ! ! $DCLEVT evtnam, [rcvacl], [evtfac], [acmode], [flags] ! ,[evtdata], [nullarg], [nullarg], [nullarg], [nullarg] ! ! evtnam = address of descriptor of event name ! ! rcvacl = address of descriptor of ACL ! ! evtfac = address of event facility code ! ! acmode = access mode of event declaration ! ! flags = optional flags ! ! evtdata = address of descriptor of optional event data ! INTEGER*4 SYS$DCLEVT EXTERNAL SYS$DCLEVT ! $DCLEXH ! ! Declare Exit Handler ! ! $DCLEXH desblk ! ! desblk = address of exit control block containing: ! ! +-------------------------------+ ! | forward link | ! +-------------------------------+ ! | exit handler address | ! +-------------------------------+ ! | argument count | ! +-------------------------------+ ! | address to store reason | ! +-------------------------------+ ! | additional arguments | ! +-- for exit handler, --+ ! | if any | ! +-------------------------------+ ! INTEGER*4 SYS$DCLEXH EXTERNAL SYS$DCLEXH ! ! $DEFINE_MAPPING ! ! Define Mapping record types in the Mapping database ! ! $DEFINE_MAPPING initmlst [,outitmlst] ! ! initmlst = address of a list of item descriptors for the operation ! outitmlst = address of a list of item descriptors for information ! from the operation ! INTEGER*4 SYS$DEFINE_MAPPING EXTERNAL SYS$DEFINE_MAPPING ! ! $DELETE ! ! Delete Record ! ! $DELETE rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$DELETE EXTERNAL SYS$DELETE ! ! $DELETE_BITMAP ! ! Delete a Write Bitmap ! ! $DELETE_BITMAP handle ! INTEGER*4 SYS$DELETE_BITMAP EXTERNAL SYS$DELETE_BITMAP ! ! $DELETE_INTRUSION ! ! Delete intrusion record ! ! $DELETE_INTRUSION user_criteria, [flags] ! ! user_criteria in address of user criteria descriptor ! flags in intrusion service flags ! INTEGER*4 SYS$DELETE_INTRUSION EXTERNAL SYS$DELETE_INTRUSION ! ! $DELETE_MAPPING ! ! Delete Mapping record from Mapping database ! ! $DELETE_MAPPING initmlst ! ! initmlst = address of a list of item descriptors for the operation ! INTEGER*4 SYS$DELETE_MAPPING EXTERNAL SYS$DELETE_MAPPING ! ! $DELETE_PROXY ! ! Delete proxy record ! ! $DELETE_PROXY rem_node, rem_user, local_user, [flags] ! ! rem_node in address of remote node descriptor ! rem_user in address of remote user descriptor ! local_user in address of local user descriptor ! flags in proxy service flags ! INTEGER*4 SYS$DELETE_PROXY EXTERNAL SYS$DELETE_PROXY ! $DELLNM ! ! Delete Logical Name and/or Table ! ! $DELLNM [tabnam], [lognam], [acmode] ! ! tabnam = address of descriptor of logical name table name string ! ! lognam = address of descriptor of logical name string ! ! acmode = address of access mode for logical name ! INTEGER*4 SYS$DELLNM EXTERNAL SYS$DELLNM ! $DELLOG ! ! Delete Logical Name ! ! $DELLOG [tblflg] ,[lognam] ,[acmode] ! ! tblflg = logical name table number ! 0 -> system 1 -> group 2 -> process ! ! lognam = address of logical name string descriptor. If 0, ! delete all names ! ! acmode = access mode of logical name (process table only) ! INTEGER*4 SYS$DELLOG EXTERNAL SYS$DELLOG ! $DELMBX ! ! Delete Mailbox ! ! $DELMBX chan ! ! chan = channel number assigned to the mailbox ! INTEGER*4 SYS$DELMBX EXTERNAL SYS$DELMBX ! $DELPRC ! ! Delete Process ! ! $DELPRC [pidadr] ,[prcnam] ,[flags] ! ! pidadr = address of longword containing id of process to be deleted ! ! prcnam = address of string descriptor for process name to be deleted ! ! flags = optional flags longword for specifying options ! INTEGER*4 SYS$DELPRC EXTERNAL SYS$DELPRC ! $DELTVA ! ! Delete Virtual Address Space ! ! $DELTVA inadr ,[retadr] ,[acmode] ! ! inadr = address of 2-longword array containing starting and ! ending virtual addresses of pages to delete ! ! retadr = address of 2-longword array to receive starting and ! ending addresses of pages actually deleted ! ! acmode = access mode for which service is performed ! INTEGER*4 SYS$DELTVA EXTERNAL SYS$DELTVA ! $DELTVA_64 ! ! Delete Virtual Address Space ! ! $DELTVA_64 region_id_64, start_va_64, length_64, acmode, return_va_64, return_length_64 ! ! region_id_64 = Address of quadword region id ! ! start_va_64 = Starting address of address space to delete ! ! length_64 = Byte length of addresses to delete ! ! acmode = access mode for which service is performed ! ! return_va_64 = Address of address space deleted ! ! return_length_64 = Length of address space deleted ! INTEGER*4 SYS$DELTVA_64 EXTERNAL SYS$DELTVA_64 ! $DELETE_BUFOBJ ! ! Delete I/O Buffer Object ! ! $DELETE_BUFOBJ buffer_handle ! ! buffer_handle = address of a quadword that contains the buffer handle ! identifying the buffer object to be deleted ! INTEGER*4 SYS$DELETE_BUFOBJ EXTERNAL SYS$DELETE_BUFOBJ ! $DELETE_REGION_64 ! ! Delete Virtual Address Region ! ! $DELETE_REGION_64 region_id_64, acmode, return_va_64, return_length_64 ! ! region_id_64 = Address of quadword region id ! ! acmode = Access mode for which service is performed ! ! return_va_64 = Address of address space deleted ! ! return_length_64 = Length of address space deleted ! INTEGER*4 SYS$DELETE_REGION_64 EXTERNAL SYS$DELETE_REGION_64 ! $DEQ ! ! Dequeue Lock ! ! $DEQ [lkid] ,[valblk] ,[acmode] ,[flags] ! ! lkid = lock ID of the lock to be dequeued ! ! valblk = address of the lock value block ! ! acmode = access mode of the locks to be dequeued ! ! flags = optional flags. ! ! LCK$M_DEQALL ! INTEGER*4 SYS$DEQ EXTERNAL SYS$DEQ ! $DEVICE_SCAN ! ! Wildcard device scan ! ! $DEVICE_SCAN return_devnam, retlen, [search_devnam], [itmlst], [contxt] ! ! return_devnam = address of descriptor of returned device name buffer ! ! retlen = address to store length of device name returned ! ! search_devnam = address of descriptor of search device name ! ! itmlst = address of a list of item descriptors ! ! contxt = address of quadword context structures ! ! INTEGER*4 SYS$DEVICE_SCAN EXTERNAL SYS$DEVICE_SCAN ! $DGBLSC ! ! Delete Global Section ! ! $DGBLSC [flags] ,gsdnam ,[ident] ! ! flags = type of section ! 0 -> group section SEC$M_SYSGBL -> system section ! ! gsdnam = address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident = address of quadword containing version id and match control ! INTEGER*4 SYS$DGBLSC EXTERNAL SYS$DGBLSC ! $DIAGNOSE ! System Service for Diagnostics Programmers ! ! $DIAGNOSE function, P2, [cpu_id, [flags]] ! ! function = DIAG$SETAFF or DIAG$_ACTVCPUS ! ! P2 = enable flag if function is DIAG$SETAFF, or ! address to return actvcpus in if function ! is DIAG$_ACTVCPUS ! ! cpu_id = CPU number to set affinity to ! ! flags = masks governing the checking to do, whether ! affinity is set for image or process duration, ! whether to set affinity to primary cpu. ! INTEGER*4 SYS$DIAGNOSE EXTERNAL SYS$DIAGNOSE ! ! $DISABLE_VP_USE ! ! Disable Use of the Vector Processor ! ! $DISABLE_VP_USE flags ,[curflg] ,[prvflg] ! ! flags = mask of facility(ies) that disabled vector use ! ! curflg = address of longword to receive current flags ! ! prvflg = address of longword to receive previous flags ! INTEGER*4 SYS$DISABLE_VP_USE EXTERNAL SYS$DISABLE_VP_USE ! ! $DISABLE_VP_USE_INT ! ! Disable Use of the Vector Processor, internal form ! ! $DISABLE_VP_USE_INT flags ,[curflg] ,[prvflg] ! ! flags = mask of facility(ies) that disabled vector use ! ! curflg = address of longword to receive current flags ! ! prvflg = address of longword to receive previous flags ! INTEGER*4 SYS$DISABLE_VP_USE_INT EXTERNAL SYS$DISABLE_VP_USE_INT ! ! $DISCONNECT ! ! Disconnect Record Stream ! ! $DISCONNECT rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$DISCONNECT EXTERNAL SYS$DISCONNECT ! $DISMOU ! ! Dismount Volume ! ! $DISMOU [devnam], [flags], [itmlst] ! ! devnam = optional address of device name string descriptor ! ! flags = 32-bit status mask selecting options for the dismount ! The symbols for the flags are defined by the $DMTDEF ! macro. ! ! Flag Meaning ! ! DMT$M_NOUNLOAD Do not unload the volume. ! ! DMT$M_UNIT Dismount the specified device, rather ! than the entire volume set. ! ! itmlst = optional address of a list of item identifiers ! INTEGER*4 SYS$DISMOU EXTERNAL SYS$DISMOU ! ! $DISPLAY ! ! Display File ! ! $DISPLAY fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$DISPLAY EXTERNAL SYS$DISPLAY ! ! $DISPLAY_PROXY ! ! Display proxy record ! ! $DISPLAY_PROXY rem_node, rem_user, buffer_sizes, proxy_node, proxy_user, ! default_user, local_users, [flags], [context] ! ! rem_node in address of remote node descriptor ! rem_user in address of remote user descriptor ! buffer_sizes out address of array of words to receive output string lengths ! proxy_node out address of descriptor to receive matching proxy node ! proxy_user out address of descriptor to receive matching proxy user ! default_user out address of descriptor to receive default user ! local_users out address of array of blocks to receive local users ! flags in proxy service flags ! context in out address of optional longword context ! INTEGER*4 SYS$DISPLAY_PROXY EXTERNAL SYS$DISPLAY_PROXY ! $DLCEFC ! ! Delete Common Event Flag Cluster ! ! $DLCEFC name ! ! name = address of cluster name string descriptor ! INTEGER*4 SYS$DLCEFC EXTERNAL SYS$DLCEFC ! $DNS ! ! DNS Clerk system service ! ! $DNS [efn], func , itmlst, [dnsb] ,[astadr] ,[astprm] ! ($DNSW) ! ! efn = number of event flag to set on completion ! ! func = function code specifying action to be performed ! ! itmlst = address of a list of item descriptors ! ! dnsb = address of quadword I/O status block to receive final ! completion status ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as argument ! INTEGER*4 SYS$DNS EXTERNAL SYS$DNS INTEGER*4 SYS$DNSW EXTERNAL SYS$DNSW ! ! $EMAA ! ! Call Entity Management Assist Agent ! ! $EMAA ! INTEGER*4 SYS$EMAA EXTERNAL SYS$EMAA ! ! $ENABLE_VP_USE ! ! Enable Use of the Vector Processor ! ! $ENABLE_VP_USE flags ,[curflg] ,[prvflg] ! ! flags = mask of facility(ies) that disabled vector use ! ! curflg = address of longword to receive current flags ! ! prvflg = address of longword to receive previous flags ! INTEGER*4 SYS$ENABLE_VP_USE EXTERNAL SYS$ENABLE_VP_USE ! ! $ENABLE_VP_USE_INT ! ! Enable Use of the Vector Processor, internal form ! ! $ENABLE_VP_USE_INT flags ,[curflg] ,[prvflg] ! ! flags = mask of facility(ies) that disabled vector use ! ! curflg = address of longword to receive current flags ! ! prvflg = address of longword to receive previous flags ! INTEGER*4 SYS$ENABLE_VP_USE_INT EXTERNAL SYS$ENABLE_VP_USE_INT ! $ENQ ! ! Enqueue Lock Request ! ! $ENQ [efn] ,lkmode ,lksb ,[flags] ,[resnam] ,[parid] ! ($ENQW) ,[astadr] ,[astprm] ,[blkast] ,[acmode], [rsdm_id] ! ,[range] ,[priority] ! ! efn = event flag to be set at completion ! ! lkmode = type of lock mode requested. Modes are: ! ! LCK$K_NLMODE null lock ! LCK$K_CRMODE concurrent read ! LCK$K_CWMODE concurrent write ! LCK$K_PRMODE protected read ! LCK$K_PWMODE protected write ! LCK$K_EXMODE exclusive lock ! ! lksb = address of the lock status block or extended lock status block ! ! flags = flags defining the characteristics of the lock. These are: ! ! LCK$M_NOQUEUE ! LCK$M_SYNCSTS ! LCK$M_SYSTEM ! LCK$M_VALBLK ! LCK$M_CONVERT ! ! resnam = address of string descriptor of the resource name ! (32-bit or 64-bit descriptor) ! ! parid = lock ID of the parent lock ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! blkast = address of entry mask of blocking AST routine ! ! acmode = Access mode to be associated with the lock ! ! rsdm_id = address of resource domain id ! ! range = optional range to be locked within resource ! ! priority = optional priority of request ! INTEGER*4 SYS$ENQ EXTERNAL SYS$ENQ INTEGER*4 SYS$ENQW EXTERNAL SYS$ENQW ! ! $ENTER ! ! Enter File ! ! $ENTER fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$ENTER EXTERNAL SYS$ENTER ! $ERAPAT ! ! Generate a security erase pattern. ! ! $ERAPAT type, [count], patadr ! ! type = type of security erase ! ! count = iteration count (seed for erase pattern) ! ! patadr = address of longword to receive erase pattern ! INTEGER*4 SYS$ERAPAT EXTERNAL SYS$ERAPAT ! $ERASE ! ! Erase File ! ! $ERASE fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$ERASE EXTERNAL SYS$ERASE ! ! $EVDPOSTEVENT ! ! Post Event to EVD ! ! $EVDPOSTEVENT EVENT ! INTEGER*4 SYS$EVDPOSTEVENT EXTERNAL SYS$EVDPOSTEVENT ! $EXIT ! ! Exit image ! ! $EXIT [code] ! ! code = longword completion status ! INTEGER*4 SYS$EXIT EXTERNAL SYS$EXIT ! $EXPREG ! ! Expand Program/Control Region ! ! $EXPREG pagcnt ,[retadr] ,[acmode] ,[region] ! ! pagcnt = number of pages to add to end of specified region ! ! retadr = address of 2-longword array to receive virtual ! addresses of starting and ending pages ! ! acmode = access mode of the new pages ! ! region = region indicator ! 0 -> program (P0) region 1 -> control (P1) region ! INTEGER*4 SYS$EXPREG EXTERNAL SYS$EXPREG ! $EXPREG_64 ! ! Expand Addresses Within a Region ! ! EXPREG_64 region_id_64, length_64, acmode, flags, return_va_64, return_length_64 ! [, page_prot] ! ! region_id_64 = Address of quadword region id ! ! length_64 = Byte length of addresses ! ! acmode = access mode for the new pages (protection is ! read/write for acmode and more privileged modes) ! ! flags = Address space creation flags ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! page_prot = Desired page protection (optional) ! INTEGER*4 SYS$EXPREG_64 EXTERNAL SYS$EXPREG_64 ! ! $EXTEND ! ! Extend File ! ! $EXTEND fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$EXTEND EXTERNAL SYS$EXTEND ! $FAO ! ! Formatted ASCII Output ! ! $FAO ctrstr ,[outlen] ,outbuf ,[p1] ,[p2]...[pn] ! ! ctrstr = address of string descriptor for control string ! (32-bit or 64-bit descriptor) ! ! outlen = address of word in which to store output length ! ! outbuf = address of output buffer string descriptor ! (32-bit or 64-bit descriptor) ! ! p1... = variable number of arguments to FAO ! INTEGER*4 SYS$FAO EXTERNAL SYS$FAO ! $FAOL ! ! Formatted ASCII Output With List Parameter ! ! $FAOL ctrstr ,[outlen] ,outbuf ,prmlst ! ! ctrstr = address of string descriptor for control string ! (32-bit or 64-bit descriptor) ! ! outlen = address of word to receive output string length ! ! outbuf = address of output buffer string descriptor ! (32-bit or 64-bit descriptor) ! ! prmlst = address of a list of longword parameters ! INTEGER*4 SYS$FAOL EXTERNAL SYS$FAOL ! $FAOL_64 ! ! Formatted ASCII Output With Quadword List Parameter ! ! $FAOL_64 ctrstr_64 ,[outlen_64] ,outbuf_64 ,prmlst_64 ! ! ctrstr_64 = address of string descriptor for control string ! (32-bit or 64-bit descriptor) ! ! outlen_64 = address of word to receive output string length ! ! outbuf_64 = address of output buffer string descriptor ! (32-bit or 64-bit descriptor) ! ! prmlst_64 = address of a list of quadword parameters ! INTEGER*4 SYS$FAOL_64 EXTERNAL SYS$FAOL_64 ! $FILES_64 ! ! Call the Files-64 file system ! ! $FILES_64 [efn] ,func ,fsb ,[astadr] ,[astprm] ! ! efn = number of event flag to set on completion ! ! func = function code specifying action to be performed ! ! fsb = address of File System Block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as argument ! INTEGER*4 SYS$FILES_64 EXTERNAL SYS$FILES_64 ! $FILESCAN ! ! Scan a string and identify a file specification ! ! $FILESCAN srcstr, [valuelst], [fldflags] [,auxout] [,retlen] ! ! srcstr = address of string descriptor for source string ! valuelst = address of a list of item descriptors ! fldflags = address of a longword to receive flags ! auxout = address of string descriptor for output string ! retlen = address to store length of returned output string ! INTEGER*4 SYS$FILESCAN EXTERNAL SYS$FILESCAN ! ! $FIND ! ! Find Record in File ! ! $FIND rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$FIND EXTERNAL SYS$FIND ! ! $FIND_HELD ! ! Find Identifiers Held By Holder ! ! $FIND_HELD holder, [id], [attrib], [contxt] ! ! holder = address of a quadword which specifies the holder ! id of the records to find ! id = address to return the identifier longword ! attrib = address to return the holder attributes longword ! contxt = address of a longword containing the record stream ! context. initially should be zero, value output ! on first call, value input on subsequent calls. ! INTEGER*4 SYS$FIND_HELD EXTERNAL SYS$FIND_HELD ! ! $FIND_HOLDER ! ! Find Holder Of Identifier ! ! $FIND_HOLDER id, [holder], [attrib], [contxt] ! ! id = identifier longword whose holder records ! are to be found ! holder = address to return the holder id quadword ! attrib = address to return the attributes longword ! contxt = address of a longword containing the record stream ! context. initially should be zero, value output ! on first call, value input on subsequent calls. ! INTEGER*4 SYS$FIND_HOLDER EXTERNAL SYS$FIND_HOLDER ! ! $FINISH_RDB ! ! Clean up RMS Stream ! ! $FINISH_RDB contxt ! ! contxt = address of a longword containing the record stream ! context. ! INTEGER*4 SYS$FINISH_RDB EXTERNAL SYS$FINISH_RDB ! $FORCEX ! ! Force Exit ! ! $FORCEX [pidadr] ,[prcnam] ,[code] ! ! pidadr = address of process id of process to be forced to exit ! ! prcnam = address of process name descriptor for forced process ! ! code = longword completion status for exit service ! INTEGER*4 SYS$FORCEX EXTERNAL SYS$FORCEX ! ! $FORGE_WORD ! ! Forge random word. ! ! $FORGE_WORD [minlen], [maxlen], [mindata], [flags], [retdata], outlen, outstr ! ! minlen minimum word length to return ! maxlen maximum word length to return ! mindata minimum amount of data to return (in decibits) ! flags miscellaneous flags ! retdata longword to receive actual amount of information in word ! outlen word to receive length of returned word ! outstr address of buffer to receive word ! INTEGER*4 SYS$FORGE_WORD EXTERNAL SYS$FORGE_WORD ! ! $FORMAT_ACL ! ! Format an Access Control list Entry ! ! $FORMAT_ACL acl-entry, [acl-length], acl-string, ! [line-width], [term-desc], [line-indent], ! [bit-names], [routin] ! ! acl-entry = address of a descriptor of a buffer which ! contains the ACE ! ! acl-length = address of a word to receive the length of ! the output string ! ! acl-string = address of a descriptor of a buffer into ! which the output string is to be stored ! ! line-width = address of the maximum line width ! (0 = infinite) ! ! term_desc = address of a character descriptor containing ! a character string to be inserted whenever ! the line segment length exceeds the line-width ! ! line-indent = address of the number of columns to indent ! the output line segment ! ! bit-names = address of a access bit name table (32 entries) ! ! routin = address of routine to be executed in kernel mode ! INTEGER*4 SYS$FORMAT_ACL EXTERNAL SYS$FORMAT_ACL ! ! $FORMAT_AUDIT fmttyp, audmsg, [outlen], outbuf, ! [width], [trmdsc], [routin], [fmtflg] ! ! Format security auditing event message ! ! fmttyp = format type ! ! audmsg = address of the message to format ! ! outlen = address of a word to receive length of output string ! ! outbuf = Address of a descriptor of a buffer to receive ! the formatted event message ! ! width = address of a word containing the display width ! ! trmdsc = address of a descriptor containing the line ! terminator character(s) ! ! routin = address of an output routine ! ! fmtflg = format control flags INTEGER*4 SYS$FORMAT_AUDIT EXTERNAL SYS$FORMAT_AUDIT ! $FORMAT_CLASS itmlst, [routin] ! ! Format access class strings ! ! itmlst = address of a list of item descriptors ! ! routin = address of routine to be executed in kernel mode ! ! INTEGER*4 SYS$FORMAT_CLASS EXTERNAL SYS$FORMAT_CLASS ! ! $FREE ! ! Free Record ! ! $FREE rab, [err], [suc] ! ! rab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$FREE EXTERNAL SYS$FREE ! ! $FREE_USER_CAPABILITY ! ! Release a global user capability bit ! ! $FREE_USER_CAPABILITY [cap_num],[prev_mask],[flags] ! ! cap_num = address of cell with requested cap number to release ! prev_mask = address of user quadword that will hold the ! previous state of the reserved capabilities cell ! flags = address of behavioral flags for this operation ! INTEGER*4 SYS$FREE_USER_CAPABILITY EXTERNAL SYS$FREE_USER_CAPABILITY ! ! $FLUSH ! ! Flush Record ! ! $FLUSH rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$FLUSH EXTERNAL SYS$FLUSH ! ! $GET_BITMAP_INFO ! ! GET Information about a Write Bitmap ! ! $GET_BITMAP_INFO handle, chan, devnam, name, index, itmlst ! INTEGER*4 SYS$GET_BITMAP_INFO EXTERNAL SYS$GET_BITMAP_INFO ! ! $GET_BITMAP_INFOW ! ! GET Information about a Write Bitmap and Wait ! ! $GET_BITMAP_INFOW devnam, name, index, handle, itmlst, status ! INTEGER*4 SYS$GET_BITMAP_INFOW EXTERNAL SYS$GET_BITMAP_INFOW ! ! $GET_CPU_INFO ! ! GET Information about a CPU ! ! $GET_CPU_INFO func, flags, cpu_id, buffer, length, ret_length ! INTEGER*4 SYS$GET_CPU_INFO EXTERNAL SYS$GET_CPU_INFO ! $GET_REGION_INFO ! ! Get Information About Virtual Address Region ! ! $GET_REGION_INFO function, region_id_64, start_va_64, ,buffer_length, ! buffer_address_64, return_length_64 ! ! function = Function code ! ! Code Meaning ! VA$_REGSUM_BY_ID Region summary, by ID ! VA$_REGSUM_BY_VA Region summary, by VA ! VA$_NEXT_REGSUM_BY_VA Next region summary, by VA ! ! region_id_64 = Address of quadword region id to use with ! VA$_REGSUM_BY_ID ! ! start_va_64 = Virtual address to use with VA$_REGSUM_BY_VA ! ! buffer_length = Length of user buffer ! ! buffer_address_64 = Address of user REGSUM buffer ! ! return_length_64 = Length of data written to user buffer ! INTEGER*4 SYS$GET_REGION_INFO EXTERNAL SYS$GET_REGION_INFO ! $GET_SECURITY ! ! Get Object Securty Profile ! ! $GET_SECURITY [clsnam], [objnam], [objhan], [flags], [itmlst], [context], [acmode] ! INTEGER*4 SYS$GET_SECURITY EXTERNAL SYS$GET_SECURITY ! ! $GET ! ! Get Record from File ! ! $GET rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$GET EXTERNAL SYS$GET ! ! $GET_ARITH_EXCEPTION ! ! Get AXP arithmetic exception context information ! ! $GET_ARITH_EXCEPTION sigarg, mcharg, buffer ! ! sigarg = address of signal array of the exception ! ! mcharg = address of mechanism array of the exception ! ! buffer = address of buffer to return information ! INTEGER*4 SYS$GET_ARITH_EXCEPTION EXTERNAL SYS$GET_ARITH_EXCEPTION ! $GETCHN ! ! Get I/O Channel Information ! ! $GETCHN chan ,[prilen] ,[pribuf] ,[scdlen] ,[scdbuf] ! ! chan = number of a channel assigned to the device ! ! prilen = address of word to receive length of primary buffer ! ! pribuf = address of primary buffer descriptor ! ! scdlen = address of word to receive length of secondary buffer ! ! scdbuf = address of secondary buffer descriptor ! INTEGER*4 SYS$GETCHN EXTERNAL SYS$GETCHN ! $GETDEV ! ! Get I/O Device Information ! ! $GETDEV devnam ,[prilen] ,[pribuf] ,[scdlen] ,[scdbuf] ! ! devnam = address of device name or logical name descriptor ! ! prilen = address of word to receive length of primary buffer ! ! pribuf = address of primary buffer descriptor ! ! scdlen = address of word to receive length of secondary buffer ! ! scdbuf = address of secondary buffer descriptor ! INTEGER*4 SYS$GETDEV EXTERNAL SYS$GETDEV ! ! $GETDTI ! ! Get Distributed Transaction Information ! ! $GETDTI [efn], [flags], iosb, [astadr], [astprm], [log_id], context, ! ($GETDTIW) search, itmlst ! ! efn = event flag to set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of the entry mask of an AST routine ! astprm = value to be passed to AST routine ! log_id = address of log id for TM log ! context = address of longword search context ! search = address of a list of search criteria items ! itmlst = address of a list of item descriptors ! INTEGER*4 SYS$GETDTI EXTERNAL SYS$GETDTI INTEGER*4 SYS$GETDTIW EXTERNAL SYS$GETDTIW ! $GETDVI ! ! Get Device/Volume Information ! ! $GETDVI [efn] ,[chan] ,[devnam] ,itmlst ,[iosb] ,[astadr] ! ($GETDVIW) ,[astprm] ,[nullarg], [pathname] ! ! efn = event flag to be set at completion ! ! chan = number of a channel assigned to the device or ! 0 if device is specified by the devnam parameter ! ! devnam = address of device name or logical name descriptor ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! nullarg = zilch ! ! pathname = optional address of a path name descriptor ! ! INTEGER*4 SYS$GETDVI EXTERNAL SYS$GETDVI INTEGER*4 SYS$GETDVIW EXTERNAL SYS$GETDVIW ! $GETEVI ! ! Get Event Information ! ! $GETEVI itmlst ,[nullarg] ! ! itmlst = address of a list of item descriptors ! INTEGER*4 SYS$GETEVI EXTERNAL SYS$GETEVI ! $GETJPI ! ! Get Job/Process Information ! ! $GETJPI [efn] ,[pidadr] ,[prcnam] ,itmlst ,[iosb], [astadr], ! ($GETJPIW) [astprm] ! ! efn = event flag to be set at completion ! ! pidadr = address of process identification ! ! prcnam = address of process name string descriptor ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as an argument ! ! INTEGER*4 SYS$GETJPI EXTERNAL SYS$GETJPI INTEGER*4 SYS$GETJPIW EXTERNAL SYS$GETJPIW ! $GETJPI_FAST ! ! Get Job/Process Information For The Current Process ! ! $GETJPI_FAST ! ! item_mask = Mask of current process info requested ! ! flags = MBZ for now ! ! return_buffer ! = Address of buffer to return array of longword info ! ! return_buffer_length ! = Length of return buffer array in bytes ! ! INTEGER*4 SYS$GETJPI_FAST EXTERNAL SYS$GETJPI_FAST ! $GETLKI ! ! Get Lock Information ! ! $GETLKI [efn] ,lkidadr ,itmlst ,[iosb], [astadr], [astprm], ! ($GETLKIW) [reserved] ! ! efn = event flag to be set at completion ! ! lkidadr = address of lock identification ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as an argument ! ! reserved = reserved parameter ! ! INTEGER*4 SYS$GETLKI EXTERNAL SYS$GETLKI INTEGER*4 SYS$GETLKIW EXTERNAL SYS$GETLKIW ! $GETMSG ! ! Get Message ! ! $GETMSG msgid ,msglen ,bufadr ,[flags] ,[outadr] ! ! msgid = identification of message to be retrieved ! ! msglen = address of a word to receive length of string ! returned ! ! bufadr = address of buffer descriptor of buffer to receive ! string ! ! flags = flag bits for message content (macro default = 15) ! ! Bit Value/Meaning ! ! 0 1 Include text ! 0 Do not include text ! 1 1 Include identifier ! 0 Do not include identifier ! 2 1 Include severity ! 0 Do not include severity ! 3 1 Include component ! 0 Do not include component ! ! outadr = address of 4-byte array to receive the following values: ! ! Byte Contents ! ! 0 Reserved ! 1 Count of FAO arguments ! 2 User value ! 3 Reserved ! INTEGER*4 SYS$GETMSG EXTERNAL SYS$GETMSG ! $GETPTI ! ! Get Page Table Information ! ! $GETPTI [inadr],[retadr],[acmode],[mask],[pagcnt] ! ! inadr = address of two longwords containing starting ! and ending virtual address to operate on ! ! retadr = address of two longwords into which starting ! and ending address of pages operated on is returned ! ! acmode = access mode against which ownership is checked ! ! mask = mask of page table information control bits ! ! pagcnt = minimum page count ! ! INTEGER*4 SYS$GETPTI EXTERNAL SYS$GETPTI ! $GETQUI ! ! Get Queue Information ! ! $GETQUI [efn], func, [context], [itmlst], ! ($GETQUIW) [iosb], [astadr], [astprm] ! ! efn = event flag to be set when request completes ! func = code specifying function to be performed ! context = address of a longword containing a context number ! itmlst = address of a list of item descriptors for the operation ! iosb = address of a quadword status block to receive the final status ! astadr = address of an ast routine to be called when request completes ! astprm = 32-bit ast parameter ! INTEGER*4 SYS$GETQUI EXTERNAL SYS$GETQUI INTEGER*4 SYS$GETQUIW EXTERNAL SYS$GETQUIW ! $GETRMI ! ! Get Resource Monitor Information ! ! $GETRMI [efn] ,[nullarg] ,[nullarg] ,itmlst ,[iosb] ,[astadr] ,[astprm] ! ! efn = event flag to be set at completion ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! nullarg = reserved argument ! ! INTEGER*4 SYS$GETRMI EXTERNAL SYS$GETRMI ! $GETSYI ! ! Get System-Wide Information ! ! $GETSYI [efn] ,[csidadr],[nodename],itmlst ,[iosb] ,[astadr], ! ($GETSYIW) [astprm] ! ! efn = event flag to be set at completion ! ! csidadr = address of cluster system identification ! ! nodename = address of node name string descriptor ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! ! The second and third arguments in the $GETSYI argument list are ! not used; they are reserved for future use. ! INTEGER*4 SYS$GETSYI EXTERNAL SYS$GETSYI INTEGER*4 SYS$GETSYIW EXTERNAL SYS$GETSYIW ! $GETTIM ! ! Get Time ! ! $GETTIM timadr ! ! timadr = address of a quadword to receive 64-bit current time value ! INTEGER*4 SYS$GETTIM EXTERNAL SYS$GETTIM ! ! $GET_USER_CAPABILITY ! ! Reserve a global user capability bit ! ! $GET_USER_CAPABILITY [cap_num],[select_num],[select_mask],[prev_mask],[flags] ! ! cap_num = address of cell with requested cap number ! select_num = address of cell with selected cap number ! select_mask = address of bitmask indicating which capability ! bit selected by operation ! prev_mask = address of user quadword that will hold the ! previous state of the reserved capabilities cell ! flags = address of behavioral flags for this operation ! INTEGER*4 SYS$GET_USER_CAPABILITY EXTERNAL SYS$GET_USER_CAPABILITY ! $GETUTC ! ! Get UTC Time ! ! $GETUTC utcadr ! ! utcadr = address of a utc_date_time to receive 128-bit current UTC time ! value ! INTEGER*4 SYS$GETUTC EXTERNAL SYS$GETUTC ! $GETUAI ! ! Get User Authorization Information ! ! $GETUAI [efn] ,[contxt] ,usrnam ,itmlst ,[iosb] ,[astadr] ! ,[astprm] ! ! efn = event flag to be set at completion ! ! contxt = address of a context longword (UAF IFI & ISI) ! ! usrnam = address of user name descriptor ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! INTEGER*4 SYS$GETUAI EXTERNAL SYS$GETUAI ! Alpha ! $GOTO_UNWIND_64 ! ! General Unwind Call Stack ! ! $GOTO_UNWIND_64 [target_invo_64], [target_pc_64], ! [newretval], [newretval2] ! ! target_invo_64 = address of longword (Alpha) or quadword (IPF) ! containing the invocation handle (frame pointer on ! Alpha) to unwind call stack ! ! target_pc_64 = address of quadword that contains the PC to be ! given control when the unwind is complete ! ! newretval = address of a location that contains the value to be ! placed in the saved R0 field of the mechanism array ! ! newretval2 = address of a location that contains the value to be ! placed in the saved R1 field of the mechanism array ! ! INTEGER*4 SYS$GOTO_UNWIND_64 EXTERNAL SYS$GOTO_UNWIND_64 ! ! $GRANTID ! ! Grant Identifier to Process ! ! $GRANTID [pidadr], [prcnam], [id], [name], [prvatr] [,segment] ! ! pidadr = address of PID of affected process ! prcnam = address of string descriptor of process name ! id = address of quadword identifier and attributes ! name = address of string descriptor of identifier name ! prvatr = address to store attributes of superseded id ! segment = optional segment index, by value ! INTEGER*4 SYS$GRANTID EXTERNAL SYS$GRANTID ! ! $GRANT_LICENSE ! ! Grant authorization to execute licensed software product. ! ! $GRANT_LICENSE prdnam ,prducer [,contxt] [,itmlst] ! ! prdnam = address of descriptor for software product name ! prducer = address of descriptor for software producer name ! contxt = address of context buffer (4 longwords) ! itmlst = address of a list of item descriptors ! INTEGER*4 SYS$GRANT_LICENSE EXTERNAL SYS$GRANT_LICENSE ! $HASH_PASSWORD ! ! Encrypt a user password to produce a quadword hash value. ! ! $HASH_PASSWORD pwd, alg, [salt], usrnam, hash ! ! pwd = address of descriptor for plaintext password ! alg = algorithm to use for hash ! salt = salt value for use by hash algorithm ! usrnam = address of descriptor of username ! hash = address of output quadword hash buffer ! INTEGER*4 SYS$HASH_PASSWORD EXTERNAL SYS$HASH_PASSWORD ! $HIBER ! ! Hibernate ! ! $HIBER_S ! INTEGER*4 SYS$HIBER EXTERNAL SYS$HIBER ! ! $IDTOASC ! ! Identifier To Ascii Conversion ! ! $IDTOASC id, [namlen], [nambuf], [resid], [attrib], [contxt] ! ! id = identifier longword to convert, or zero to ! find all identifiers (wildcarding) ! namlen = address of a word to store the length of the ! identifier name ! nambuf = address of a character string descriptor that ! describes the buffer to return the identifier name ! resid = address of a longword to return the id found ! while wildcarding ! attrib = address to return the attributes longword ! contxt = address of a longword containing the record stream ! context. initially should be zero, value output ! on first call, value input on subsequent calls. ! INTEGER*4 SYS$IDTOASC EXTERNAL SYS$IDTOASC ! ! $IEEE_SET_FP_CONTROL ! ! Set IEEE floating point control register ! ! $IEEE_SET_FP_CONTROL [clrmsk], [setmsk], [prvmsk] ! ! clrmsk = address of a quadword mask to clear ! setmsk = address of a quadword mask to set ! prvmsk = address of a quadword to return previous value ! INTEGER*4 SYS$IEEE_SET_FP_CONTROL EXTERNAL SYS$IEEE_SET_FP_CONTROL ! $IMGACT ! ! Image Activation ! ! $IMGACT name,[dflnam],hdrbuf,[imgctl],[inadr], ! [retadr], [ident], [acmode] ! ! ! name = address of descriptor for file name string ! ! dflnam = descriptor for file name string ! ! hdrbuf = address of 512 byte buffer to write in ! ! imgctl = image activation control flags ! ! inadr = address of quadword specifying virtual address ! range to be mapped ! ! retadr = address of quadword specifying virtual address ! range actually mapped ! ! ident = address of quadword holding image section match ! control and identifier ! ! acmode = access mode to be the owner of the created pages ! INTEGER*4 SYS$IMGACT EXTERNAL SYS$IMGACT ! $IMGFIX ! ! Image Address Fixup Service ! ! $IMGFIX ! INTEGER*4 SYS$IMGFIX EXTERNAL SYS$IMGFIX ! $INIT_VOL ! ! Initialize Volume ! ! $INIT_VOL devnam, volnam, [itmlst] ! ! devnam = device name containing volume to initialize ! ! volnam = name to initialize the volume with ! ! itmlst = address of item code list for initialization options ! INTEGER*4 SYS$INIT_VOL EXTERNAL SYS$INIT_VOL ! $IO_CLEANUP ! ! Cleanup a previously set-up I/O ! ! $IO_CLEANUP fandle ! ! fandle = fandle to clean up ! INTEGER*4 SYS$IO_CLEANUP EXTERNAL SYS$IO_CLEANUP ! $IO_FASTPATH ! ! I/O Fastpath system service ! ! $IO_FASTPATH efn, cpu_mask, func, iosb, astadr, astprm ! ! efn = event flag number ! ! cpu_mask = either -1 wildcard or pointer to longword ! containing CPU mask ! FP$K_BALANCE_PORTS = balance fastpath ports ! ! func = fastpath function code ! ! iosb = address of I/O status block ! ! astadr = address of AST completion routine ! ! astprm = AST routine parameter ! INTEGER*4 SYS$IO_FASTPATH EXTERNAL SYS$IO_FASTPATH INTEGER*4 SYS$IO_FASTPATHW EXTERNAL SYS$IO_FASTPATHW ! $IO_PERFORM ! ! Transfer data between device and buffer ! ! $IO_PERFORM fandle, chan, iosadr, bufadr, buflen, devdata ! ($IO_PERFORMW) ! ! fandle = fandle from previous $IO_SETUP ! ! chan = standard I/O channel ! ! iosadr = IOSA address ! ! bufadr = address of data buffer (64 bits) ! ! buflen = length of data buffer (64 bits) ! ! devdata= data passed to driver, e.g., media address ! ! INTEGER*4 SYS$IO_PERFORM EXTERNAL SYS$IO_PERFORM INTEGER*4 SYS$IO_PERFORMW EXTERNAL SYS$IO_PERFORMW ! $IO_SETUP ! ! Set up a fast I/O ! ! $IO_SETUP func, bufobj, iosobj, astadr, flags, return_fandle ! ! func = function code ! ! bufobj = data buffer object (address of (vector of 2 ints)) ! ! iosobj = IOSA buffer object (address of (vector of 2 ints)) ! ! astadr = completion AST address (address of entry) ! ! flags = flags ! ! return_fandle = address of returned fandle ! INTEGER*4 SYS$IO_SETUP EXTERNAL SYS$IO_SETUP ! $IPC ! ! Interprocess Communication Request ! ! $IPC [efn] ,func ,ipcb ,[astadr] ,[astprm] ! ($IPCW) ! ! efn = number of event flag to set on completion ! ! func = function code specifying action to be performed ! ! ipcb = address of Interprocess Communication Block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as argument ! ! INTEGER*4 SYS$IPC EXTERNAL SYS$IPC INTEGER*4 SYS$IPCW EXTERNAL SYS$IPCW ! $LCKPAG ! ! Lock Pages in Memory ! ! $LCKPAG inadr ,[retadr] ,[acmode] ! ! inadr = address of 2-longword array containing starting and ! ending addresses of pages to be locked ! ! retadr = address of 2-longword array to receive addresses of ! pages actually locked ! ! acmode = access mode to check against the owner of the pages ! INTEGER*4 SYS$LCKPAG EXTERNAL SYS$LCKPAG ! $LCKPAG_64 ! ! Lock Pages in Memory ! ! $LCKPAG_64 start_va_64, length_64, acmode, return_va_64, return_length_64 ! ! start_va_64 = Starting address of address space to lock ! ! length_64 = Byte length of addresses to lock ! ! acmode = Access mode to be checked against the page owner ! ! return_va_64 = Address of address space locked ! ! return_length_64 = Length of address space locked ! INTEGER*4 SYS$LCKPAG_64 EXTERNAL SYS$LCKPAG_64 ! $LFS ! ! Call the LFS file system ! ! $LFS [efn] ,func ,fsb ,[astadr] ,[astprm] ! ! efn = number of event flag to set on completion ! ! func = function code specifying action to be performed ! ! fsb = address of File System Block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as argument ! INTEGER*4 SYS$LFS EXTERNAL SYS$LFS ! $LKWSET ! ! Lock Pages in Working Set ! ! $LKWSET inadr ,[retadr] ,[acmode] ! ! inadr = address of 2-longword array containing starting and ! ending virtual addresses of pages to be locked ! ! retadr = address of a 2-longword array to receive starting and ! ending virtual addresses of pages actually locked ! ! acmode = access mode to be checked against the page owner ! INTEGER*4 SYS$LKWSET EXTERNAL SYS$LKWSET ! $LKWSET_64 ! ! Lock Pages in Working Set ! ! $LKWSET_64 start_va_64, length_64, acmode, return_va_64, return_length_64 ! ! start_va_64 = Starting address of address space to lock ! ! length_64 = Byte length of addresses to lock ! ! acmode = Access mode to be checked against the page owner ! ! return_va_64 = Address of address space locked ! ! return_length_64 = Length of address space locked ! INTEGER*4 SYS$LKWSET_64 EXTERNAL SYS$LKWSET_64 ! ! $LOOKUP_MAPPING ! ! Find single Mapping record in Mapping database ! ! $LOOKUP_MAPPING initmlst ,[outitmlst] ! ! initmlst = address of a list of item descriptors for the operation ! outitmlst = address of a list of item descriptors for the operation ! INTEGER*4 SYS$LOOKUP_MAPPING EXTERNAL SYS$LOOKUP_MAPPING ! $MGBLSC ! ! Map Global Section ! ! $MGBLSC inadr ,[retadr] ,[acmode] ,[flags] ,gsdnam ,[ident] ,[relpag] ! ! inadr = address of 2-longword array containing starting and ! ending addresses of pages to be mapped ! ! retadr = address of 2-longword array to receive virtual ! addresses of pages mapped ! ! acmode = access mode of owner of mapped pages ! ! flags = flags overriding default section characteristics ! ! Flag Meaning ! ! SEC$M_WRT Read/write section ! SEC$M_SYSGBL System global section ! SEC$M_EXPREG Find first available space ! ! gsdnam = address of global section name descriptor ! ! ident = address of quadword containing version id and match control ! ! relpag = relative page number within global section ! INTEGER*4 SYS$MGBLSC EXTERNAL SYS$MGBLSC ! $MGBLSC_64 ! ! Map Global Page or Disk File Section ! ! $MGBLSC_64 gsdnam_64, ident_64, region_id_64, section_offset_64, ! length_64, acmode, flags, return_va_64, return_length_64 ! [, start_va_64[, page_prot]] ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! region_id_64 = Address of quadword region id ! ! section_offset_64 = Relative byte within global section to start mapping ! ! length_64 = Byte length of section to map ! ! acmode = Access mode of owner of mapped pages ! ! flags = Flags overriding default section characteristics ! ! Flag Meaning ! ! SEC$M_EXPREG Find first available space ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_SYSGBL System global section ! SEC$M_WRT Read/write mapping of section ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! start_va_64 = Starting address of address space to create ! ! page_prot = Desired page protection (optional) ! INTEGER*4 SYS$MGBLSC_64 EXTERNAL SYS$MGBLSC_64 ! $MGBLSC_GPFN_64 ! ! Map Global Page Frame Section ! ! $MGBLSC_GPFN_64 gsdnam_64, ident_64, region_id_64, relative_page, page_count, ! acmode, flags, return_va_64, return_length_64 ! [, start_va_64[, page_prot]] ! ! gsdnam_64 = Address of global section name string descriptor ! (32-bit or 64-bit descriptor) ! ! ident_64 = Address of quadword containing version id and match control ! ! region_id_64 = Address of quadword region id ! ! relative_page = Relative page within global section to start mapping ! ! page_count = Number of page frames to map ! ! acmode = Access mode of owner of mapped pages ! ! flags = Flags overriding default section characteristics ! ! Flag Meaning ! ! SEC$M_EXPREG Find first available space ! SEC$M_NO_OVERMAP Do not overmap existing address space ! SEC$M_SYSGBL System global section ! SEC$M_WRT Read/write mapping of section ! ! return_va_64 = Address of address space created ! ! return_length_64 = Length of address space created ! ! start_va_64 = Starting address of address space to create ! ! page_prot = Desired page protection (optional) ! INTEGER*4 SYS$MGBLSC_GPFN_64 EXTERNAL SYS$MGBLSC_GPFN_64 ! ! $MODIFY ! ! Modify File ! ! $MODIFY fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$MODIFY EXTERNAL SYS$MODIFY ! ! $MODIFY_MAPPING ! ! Modify Mapping record in Mapping database ! ! $MODIFY_MAPPING initmlst, moditmlst ! ! initmlst = address of a list of item descriptors for the operation ! moditmlst = address of a list of item descriptors for the operation ! INTEGER*4 SYS$MODIFY_MAPPING EXTERNAL SYS$MODIFY_MAPPING ! ! $MOD_HOLDER ! ! Modify Holder Record In Rights Database ! ! $MOD_HOLDER id, holder, [set_attrib], [clr_attrib] ! ! id = identifier longword ! holder = address of the holder identifier quadword ! set_attrib = longword containing the attributes to set ! into the holder record ! clr_attrib = longword containing the attributes to clear ! in the holder record ! INTEGER*4 SYS$MOD_HOLDER EXTERNAL SYS$MOD_HOLDER ! ! $MOD_IDENT ! ! Modify Identifier Record In Rights Database ! ! $MOD_IDENT id, [set_attrib], [clr_attrib], [new_name], [new_value] ! ! id = identifier longword ! set_attrib = longword containing the attributes ! to set into the identifier record ! clr_attrib = longword containing the attributes ! to clear in the identifier record ! new_name = address of the new identifier name character ! string descriptor ! new_value = new identifier value longword ! INTEGER*4 SYS$MOD_IDENT EXTERNAL SYS$MOD_IDENT ! $MOUNT ! ! Mount Volume ! ! $MOUNT itmlst ! ! itmlst = Address of a list of item identifiers ! INTEGER*4 SYS$MOUNT EXTERNAL SYS$MOUNT ! $MTACCESS ! ! Installation specific accessibility routine ! ! $MTACCESS lblnam, [uic], [std_version], [access_char], ! [access_spec],type ! ! lblnam = On input this field is the address of the ! VOL1 or HDR1 label read off the magnetic tape. On ! output of labels this field is zero. The type ! of label is determined by the TYPE field. ! uic = This field contains the longword volme UIC passed ! by value. ! std_version = This field contains a byte value of the ! decimal equivalent of the version number ! gotten from the VOL1 label, passed by value. ! access_char = This field contins the byte value of the ! accessibility character specified by the user, ! passed by value. For output of labels only. ! access_spec = This field determines if the character passed ! in ACCESS_CHAR was specified by user, passed ! by value. It must contain one of the following ! values: ! MTA$K_CHARVALID = YES ! MTA$K_NOCHAR = NO ! For output of labels only. ! type = This field contains the type of accessibility to process, ! passed by value. It must contain one of the following ! values: ! MTA$K_INVOL1 = Input a VOL1 label ! MTA$K_INHDR1 = Input a HDR1 label ! MTA$K_OUTVOL1 = Output a VOL1 label ! MTA$K_OUTHDR1 = Output a HDR1 label ! INTEGER*4 SYS$MTACCESS EXTERNAL SYS$MTACCESS ! $NUMTIM ! ! Convert Binary Time to Numeric Time ! ! $NUMTIM timbuf ,[timadr] ! ! timbuf = address of a 7-word buffer to receive numeric time ! information ! ! timadr = address of a quadword containing the 64-bit time. If ! 0, use current time ! INTEGER*4 SYS$NUMTIM EXTERNAL SYS$NUMTIM ! ! $NUMUTC ! ! Convert UTC Binary Time to Numeric Time ! ! $NUMUTC timbuf ,[utcadr] ! ! timbuf = address of a 11-word buffer to receive numeric time ! information ! ! 31 0 ! +---------------+---------------+ ! | month of year | year since 0 | 7 word Date (ala NUMTIM) ! +---------------+---------------+ ! | hour of day | day of month | ! +---------------+---------------+ ! | sec. of min. | min. of hour | ! +---------------+---------------+ ! | iDays | hund of Sec | ! +---------------+---------------+ ! | imins | ihours | 6 word Inaccuracy ! +---------------+---------------+ ! | ihund of sec | isecs | ! +---------------+---------------+ ! | TDF in Min | ! +---------------+ ! ! utcadr = address of a utc_date_time to convert. ! 0, use current time ! INTEGER*4 SYS$NUMUTC EXTERNAL SYS$NUMUTC ! ! $NXTVOL ! ! Go to Next Volume ! ! $NXTVOL rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$NXTVOL EXTERNAL SYS$NXTVOL ! ! $OPEN ! ! Open File ! ! $OPEN fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine INTEGER*4 SYS$OPEN EXTERNAL SYS$OPEN ! ! $PARSE ! ! Parse File Name ! ! $PARSE fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$PARSE EXTERNAL SYS$PARSE ! ! $PARSE_ACL ! ! Parse an Access Control list Entry ! ! $PARSE_ACL acl-string ,acl-entry ,[error-position], ! [bit-names], [routin] ! ! acl-string = address of a descriptor of a buffer which ! contains the text to be parsed ! ! acl-entry = address of a descriptor of a buffer into ! which the converted ACE is to be written ! ! error-position = address of a word to receive the number of ! characters actually processed by the service. ! If the service fails, this count points to ! the failing point in the input string. ! ! bit-names = address of a access bit name table (32 entries) ! ! routin = address of routine to be executed in kernel mode ! INTEGER*4 SYS$PARSE_ACL EXTERNAL SYS$PARSE_ACL ! $PARSE_CLASS itmlst, [routin] ! ! Parse access class strings ! ! itmlst = address of a list of item descriptors ! ! routin = address of routine to be executed in kernel mode ! ! INTEGER*4 SYS$PARSE_CLASS EXTERNAL SYS$PARSE_CLASS ! $PERSONA_CREATE ! ! Create Persona ! ! $PERSONA_CREATE persona, [usrnam], [flags], [usrpro], [itmlst] ! ! persona = address of longword holding persona identifier ! ! usrnam = address of user name descriptor ! ! flags = bitvector value ! ! usrpro = address of a descriptor pointing to a user profile block (TLV structure) ! ! itmlst = address of item list for modifications to persona ! INTEGER*4 SYS$PERSONA_CREATE EXTERNAL SYS$PERSONA_CREATE ! $PERSONA_CREATE_INT ! ! Create Persona Internal Service ! ! $PERSONA_CREATE_INT persona, itmlst ! ! persona = address of longword holding persona identifier ! ! itmlst = address of item list containing persona data ! INTEGER*4 SYS$PERSONA_CREATE_INT EXTERNAL SYS$PERSONA_CREATE_INT ! $PERSONA_ASSUME ! ! Assume Persona ! ! $PERSONA_ASSUME persona, [flags], [previous], [acmode] ! ! persona = address of longword holding persona identifier ! ! flags = longword value ! ! previous = address of longword to receive previous persona identifier ! ! acmode = access mode of code assuming persona ! ! INTEGER*4 SYS$PERSONA_ASSUME EXTERNAL SYS$PERSONA_ASSUME ! $PERSONA_DELETE ! ! Delete Persona ! ! $PERSONA_DELETE persona ! ! persona = address of longword holding persona identifier ! INTEGER*4 SYS$PERSONA_DELETE EXTERNAL SYS$PERSONA_DELETE ! $PERSONA_EXPORT_ARB ! ! Move Persona data to ARB structures ! ! $PERSONA_EXPORT_ARB [level] ! ! level = level of ARB_SUPPORT to be provided ! INTEGER*4 SYS$PERSONA_EXPORT_ARB EXTERNAL SYS$PERSONA_EXPORT_ARB ! $PERSONA_IMPORT_ARB ! ! Load Persona Block with ARB structures data ! ! $PERSONA_IMPORT_ARB [level] ! ! level = level of ARB_SUPPORT to be provided ! INTEGER*4 SYS$PERSONA_IMPORT_ARB EXTERNAL SYS$PERSONA_IMPORT_ARB ! $PERSONA_CLONE ! ! Create duplicate Persona block ! ! $PERSONA_CLONE persona ! ! persona = address of location in which to store the persona id ! of the clone. ! ! input_id = address of location containing the persona ID to clone ! OPTIONAL! ! INTEGER*4 SYS$PERSONA_CLONE EXTERNAL SYS$PERSONA_CLONE ! ! $PROCESS_AFFINITY ! ! Modify process affinity ! ! $PROCESS_AFFINITY [pidadr],[prcnam],[select_mask],[modify_mask],[prev_mask],[flags] ! ! pidadr = address of process identification of process for ! which affinity is to be changed ! prcnam = address of process name string descriptor ! select_mask = address of bitmask indicating which capabilities ! are to be involved in the specified operation ! modify_mask = address of bitmask indicating final state ! of those capabilities specified in select_mask ! prev_mask = address of user quadword that will hold the ! previous states of the individual capabilities ! flags = address of behavioral flags for this operation ! INTEGER*4 SYS$PROCESS_AFFINITY EXTERNAL SYS$PROCESS_AFFINITY ! ! $PROCESS_CAPABILITIES ! ! Modify process user capabilities ! ! $PROCESS_CAPABILITIES [pidadr],[prcnam],[select_mask],[modify_mask],[prev_mask],[flags] ! ! pidadr = address of process identification of process for ! which capabilities are to be modified ! prcnam = address of process name string descriptor ! select_mask = address of bitmask indicating which capabilities ! are to be involved in the specified operation ! modify_mask = address of bitmask indicating final state ! of those capabilities specified in select_mask ! prev_mask = address of user quadword that will hold the ! previous states of the individual capabilities ! flags = address of behavioral flags for this operation ! INTEGER*4 SYS$PROCESS_CAPABILITIES EXTERNAL SYS$PROCESS_CAPABILITIES ! $PROCESS_SCAN ! ! Initialize Process_scan context ! ! $Process_scan pidctx , [itmlst ] ! ! pidctx = address of process ctx id ! ! itmlst = address of a list of item descriptors ! ! INTEGER*4 SYS$PROCESS_SCAN EXTERNAL SYS$PROCESS_SCAN ! $PSHARED_REGISTER ! ! Register a process and global section ! ! $PSHARED_REGISTER addr ! ! addr = base address of the global section to be registered ! $PURGE_WS ! ! Purge Working Set ! ! $PURGE_WS start_va_64, length_64 ! ! start_va_64 = Starting address of address space to purge ! ! length_64 = Byte length of addresses to purge ! ! INTEGER*4 SYS$PURGE_WS EXTERNAL SYS$PURGE_WS ! $PURGWS ! ! Purge Working Set ! ! $PURGWS inadr ! ! inadr = address of 2-longword array containing starting and ! ending addresses of pages to be removed ! INTEGER*4 SYS$PURGWS EXTERNAL SYS$PURGWS ! ! $PUT ! ! Put Record to File ! ! $PUT rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$PUT EXTERNAL SYS$PUT ! $PUTMSG ! ! Put Message ! ! $PUTMSG msgvec ,[actrtn] ,[facnam], [actprm] ! ! msgvec = address of message argument vector ! ! actrtn = address of entry mask of action routine ! ! facnam = address of facility name string descriptor ! ! actprm = parameter to pass to action routine ! INTEGER*4 SYS$PUTMSG EXTERNAL SYS$PUTMSG ! $QIO ! ! Queue I/O Request ! ! $QIO [efn] ,chan ,func ,[iosb] ,[astadr] ,[astprm] ! ($QIOW) ,[p1] ,[p2] ,[p3] ,[p4] ,[p5] ,[p6] ! ! efn = number of event flag to set on completion ! ! chan = number of channel on which I/O is directed ! ! func = function code specifying action to be performed ! ! iosb = address of quadword I/O status block to receive final ! completion status ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as argument ! ! p1... = optional device- and function-specific parameters ! INTEGER*4 SYS$QIO EXTERNAL SYS$QIO INTEGER*4 SYS$QIOW EXTERNAL SYS$QIOW ! ! $READ ! ! Read Block from File ! ! $READ rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$READ EXTERNAL SYS$READ ! $READEF ! ! Read Event Flag ! ! $READEF efn ,state ! ! efn = event flag number of any flag in the cluster ! ! state = address of a longword to receive current state of all ! flags in the cluster ! INTEGER*4 SYS$READEF EXTERNAL SYS$READEF ! ! $READ_THREAD_UNQ ! ! Read thread unique value ! ! $READ_THREAD_UNQ contxt ! ! contxt = address of quadword in which to return the ! thread unique value ! INTEGER*4 SYS$READ_THREAD_UNQ EXTERNAL SYS$READ_THREAD_UNQ ! ! $REGISTRY ! ! Interface to the Registry Database ! ! $REGISTRY [efn], func, [ntcredentials], itmlst, [iosb] ! [,astadr] [,astprm] [,timeout] ! ($REGISTRYW) ! ! efn = event flag to be set at completion ! ! func = function code specifying action to be performed ! ! ntcredentials = address of an NT user credentials buffer ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! timeout = request timeout value ! INTEGER*4 SYS$REGISTRY EXTERNAL SYS$REGISTRY INTEGER*4 SYS$REGISTRYW EXTERNAL SYS$REGISTRYW ! ! $RELEASE ! ! Release Record ! ! $RELEASE rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$RELEASE EXTERNAL SYS$RELEASE ! ! $RELEASE_LICENSE ! ! Release authorization to execute licensed software product. ! ! $RELEASE_LICENSE context ! ! contxt = address of context buffer returned by ! $grant_license (4 longwords) ! INTEGER*4 SYS$RELEASE_LICENSE EXTERNAL SYS$RELEASE_LICENSE ! ! $RELEASE_VP ! ! Release the Vector Processor ! ! $RELEASE_VP ! INTEGER*4 SYS$RELEASE_VP EXTERNAL SYS$RELEASE_VP ! ! $RELEASE_VP_INT ! ! Release the Vector Processor, internal form ! ! $RELEASE_VP_INT ! INTEGER*4 SYS$RELEASE_VP_INT EXTERNAL SYS$RELEASE_VP_INT ! ! $REMOVE ! ! Remove File ! ! $REMOVE fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$REMOVE EXTERNAL SYS$REMOVE ! ! $REM_HOLDER ! ! Remove Holder Record From Rights Database ! ! $REM_HOLDER id, holder ! ! id = identifier longword ! holder = address of the holder identifier quadword ! INTEGER*4 SYS$REM_HOLDER EXTERNAL SYS$REM_HOLDER ! ! $REM_IDENT ! ! Remove Identifier From Rights Database ! ! $REM_IDENT id ! ! id = identifier longword ! INTEGER*4 SYS$REM_IDENT EXTERNAL SYS$REM_IDENT ! ! $RENAME ! ! Rename File ! ! $RENAME oldfab, [err], [suc], newfab ! ! oldfab = address of oldfab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! ! newfab = address of new fab INTEGER*4 SYS$RENAME EXTERNAL SYS$RENAME ! ! $RESTORE_VP_EXCEPTION ! ! Restore Vector Processor Exception State ! ! $RESTORE_VP_EXCEPTION excid ! ! excid = address of a context longword ! INTEGER*4 SYS$RESTORE_VP_EXCEPTION EXTERNAL SYS$RESTORE_VP_EXCEPTION ! ! $RESTORE_VP_EXC_INT ! ! Restore Vector Processor Exception State ! ! $RESTORE_VP_EXC_INT excid ! ! excid = address of a context longword ! INTEGER*4 SYS$RESTORE_VP_EXC_INT EXTERNAL SYS$RESTORE_VP_EXC_INT ! ! $RESTORE_VP_STATE ! ! Restore Mainline Vector State ! ! $RESTORE_VP_STATE ! INTEGER*4 SYS$RESTORE_VP_STATE EXTERNAL SYS$RESTORE_VP_STATE ! $RESUME ! ! Resume Suspended Process ! ! $RESUME [pidadr] ,[prcnam] ! ! pidadr = address of process id of process to be resumed ! ! prcnam = address of process name string descriptor ! INTEGER*4 SYS$RESUME EXTERNAL SYS$RESUME ! ! $REVOKID ! ! Revoke Identifier from Process ! ! $REVOKID [pidadr], [prcnam], [id], [name], [prvatr] [,segment] ! ! pidadr = address of PID of affected process ! prcnam = address of string descriptor of process name ! id = address of quadword identifier and attributes ! name = address of string descriptor of identifier name ! prvatr = address to store attributes of superseded id ! segment = optional segment index, by value ! INTEGER*4 SYS$REVOKID EXTERNAL SYS$REVOKID ! ! $REWIND ! ! Rewind File ! ! $REWIND rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$REWIND EXTERNAL SYS$REWIND ! $RMSRUNDWN ! ! RMS rundown (close all files opened by OpenVMS RMS for ! the image or process and halts I/O activity. ! ! $RMSRUNDWN buf-addr, type-value ! ! buf-addr = a descriptor pointing to a 22-byte buffer ! that is to receive the device identification ! (16 bytes) and the file identification (6 bytes) ! bytes) of an improperly closed output file. ! type-value = a single byte code that specifies the type of ! I/O rundown to be performed. INTEGER*4 SYS$RMSRUNDWN EXTERNAL SYS$RMSRUNDWN ! $RUNDWN ! ! Rundown Process ! ! $RUNDWN [acmode] ! ! acmode = access mode to rundown; this and all less ! privileged access modes are rundown ! INTEGER*4 SYS$RUNDWN EXTERNAL SYS$RUNDWN ! ! $SAVE_VP_EXCEPTION ! ! Save Vector Processor Exception State ! ! $SAVE_VP_EXCEPTION excid ,[flags] ! ! excid = address of a context longword ! ! flags = noallocation flag ! 0 -> allocate 1 -> don't allocate ! INTEGER*4 SYS$SAVE_VP_EXCEPTION EXTERNAL SYS$SAVE_VP_EXCEPTION ! ! $SAVE_VP_EXC_INT ! ! Save Vector Processor Exception State, internal form ! ! $SAVE_VP_EXC_INT excid ,[flags] ! ! excid = address of a context longword ! ! flags = noallocation flag ! 0 -> allocate 1 -> don't allocate ! INTEGER*4 SYS$SAVE_VP_EXC_INT EXTERNAL SYS$SAVE_VP_EXC_INT ! ! $SCAN_INTRUSION ! ! Scan intrusion database ! ! $SCAN_INTRUSION logfail_status, failed_user, job_type, ! [source_terminal], [source_node], [source_user], [source_addr], ! [failed_password], [parent_user], [parent_id], [flags] ! ! logfail_status in login failure status ! failed_user in address of failed username descriptor ! job_type in job type index ! source_terminal in address of source terminal descriptor ! source_node in address of source nodename descriptor ! source_user in address of source username descriptor ! source_address in address of source DECnet address ! failed_password in address of failed password (breakin attempts only) ! parent_user in address of parent username ! parent_id in parent PID ! flags in intrusion service flags ! INTEGER*4 SYS$SCAN_INTRUSION EXTERNAL SYS$SCAN_INTRUSION ! ! $SCAN_MAPPING ! ! Locate Mapping records in Mapping database ! ! $SCAN_MAPPING initmlst. outitmlst [,contxt] ! ! initmlst = address of a list of item descriptors for the operation ! outitmlst = address of a list of item descriptors for the operation ! contxt = address of a context long word ! INTEGER*4 SYS$SCAN_MAPPING EXTERNAL SYS$SCAN_MAPPING ! $SCHDWK ! ! Schedule Wakeup ! ! $SCHDWK [pidadr] ,[prcnam] ,daytim ,[reptim] ! ! pidadr = address of process id of process to be awakened ! ! prcnam = address of process name string descriptor ! ! daytim = address of quadword containing time to wake ! ! reptim = address of quadword containing repeat time interval ! INTEGER*4 SYS$SCHDWK EXTERNAL SYS$SCHDWK ! ! $SEARCH ! ! Search for File Name ! ! $SEARCH fab, [err], [suc] ! ! fab = address of fab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$SEARCH EXTERNAL SYS$SEARCH ! $SETCLUEVT ! ! Set Cluster Event Notification ! ! $SETCLUEVT event, astadr, [astprm], [acmode], [handle] ! ! event = code indicating type of event ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as an argument ! ! acmode = access mode of AST ! ! handle = address of handle ! INTEGER*4 SYS$SETCLUEVT EXTERNAL SYS$SETCLUEVT ! $SETDDIR ! ! Read and set the default directory string for the process. ! ! $SETDDIR [new-dir-addr] ,[length-addr] ,[cur-dir-addr] ! ! new-dir-addr = a descriptor of the new default directory. ! ! length-addr = a word that is to receive the length of the ! current default directory. ! ! cur-dir-addr = descriptor of a buffer that is to receive ! the current default directory. INTEGER*4 SYS$SETDDIR EXTERNAL SYS$SETDDIR ! $SETDFPROT ! ! Read and write the default file protection for the process. ! ! $SETDFPROT [new-def-prot-addr] ,[cur-def-prot-addr] ! ! new-def-prot-addr = a word that specifies the new default file ! protection specification. ! ! cur-def-prot-addr = a word that is to receive the current default file ! protection specification. INTEGER*4 SYS$SETDFPROT EXTERNAL SYS$SETDFPROT ! $SET_RETURN_VALUE ! ! Set return value/status in the Mechanism array ! ! $SET_RETURN_VALUE [mechanism_arg], [return_type], return_value ! ! mechanism_arg = Address of mechanism vector ! ! return_type = Address of a longword containing one of the values ! specified in the Function Return Signature Encoding tables ! of the OpenVMS calling standard. ! ! return_value = Address of a value of the type specified by the ! return_type argument. The referenced value will be read ! as a longword, quadword, or octaword, depending on the ! return_type value. ! ! INTEGER*4 SYS$SET_RETURN_VALUE EXTERNAL SYS$SET_RETURN_VALUE ! $SET_SYSTEM_EVENT ! ! Set System Event Notification ! ! $SET_SYSTEM_EVENT event, astadr, [astprm], [acmode], handle ! ! event = code indicating type of event ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as an argument ! ! acmode = access mode of AST ! ! flags = flags longword (one example is to indicate whether the notification ! of the event should be done only once or should be repeated) ! ! event_handle = address of handle ! INTEGER*4 SYS$SET_SYSTEM_EVENT EXTERNAL SYS$SET_SYSTEM_EVENT ! ! $SET_IMPLICIT_AFFINITY ! ! Modify process implicit affinity ! ! $SET_IMPLICIT_AFFINITY [pidadr],[prcnam],[state],[cpu_id],[prev_mask] ! ! pidadr = address of process identification of process for ! which affinity is to be changed ! prcnam = address of process name string descriptor ! cpu_id = CPUID number process is to be assigned to initially ! prev_mask = address of user quadword that will hold the ! previous states of the individual capabilities ! INTEGER*4 SYS$SET_IMPLICIT_AFFINITY EXTERNAL SYS$SET_IMPLICIT_AFFINITY ! $SET_RESOURCE_DOMAIN ! ! Set Resource Domain ! ! $SET_RESOURCE_DOMAIN func ,rsdm_id ,uic_group ,[nullarg] ,[access] ,[acmode] ! ! func = join or leave function to be performed ! 1 - Join the System Resource Domain ! 2 - Join the Process Default Domain ! 3 - Join a new Resource Domain (not System or Process) ! ! rsdm_id = address of the Resource Domain Id ! ! domain_number = number identifying target Resource Domain ! ! nullarg = Placeholder reserved to Digital ! ! access = Access desired (defined by RSDM$M macro ! ! acmode = requested access mode ! ! INTEGER*4 SYS$SET_RESOURCE_DOMAIN EXTERNAL SYS$SET_RESOURCE_DOMAIN ! $SET_SECURITY ! ! Set Object Security Profile ! ! $SET_SECURITY [clsnam], [objnam], [objhan], [flags], [itmlst], [context], [acmode] ! INTEGER*4 SYS$SET_SECURITY EXTERNAL SYS$SET_SECURITY ! $SET_UNWIND_TABLE ! ! Register or extend and unwind table (UT) information ! ! $SET_UNWIND_TABLE code_base_va, code_size, ut_base_va, ut_size, ! handler_base_va, unwind_info_base, name ! ! code_base_va = The process virtual address of the start of the code region ! ! code_size = Size of code region in bytes ! ! ut_base_va = Quadword aligned process virtual address of the UT ! ! ut_size = The size of the UT in bytes ! ! handler_base_va = The handler_base_va plus the unwind information block's condition ! handler procedure value must add up to the process virtual address ! of the condition handler's function value. ! ! unwind_info_base = The unwind_info_base plus a particular unwind table entry (UTE) ! unwind info block (UIB) offset must add up to the process virtual ! address of that UIB. ! ! name = Fixed length string, passed by descriptor. ! INTEGER*4 SYS$SET_UNWIND_TABLE EXTERNAL SYS$SET_UNWIND_TABLE ! $SETAST ! ! Set AST Enable ! ! $SETAST enbflg ! ! enbflg = AST enable indicator for current access mode ! 0 -> disable 1 -> enable ! INTEGER*4 SYS$SETAST EXTERNAL SYS$SETAST ! $SETEF ! ! Set Event Flag ! ! $SETEF efn ! ! efn = event flag number of flag to set ! INTEGER*4 SYS$SETEF EXTERNAL SYS$SETEF ! $GETENV ! ! Get an environment variable ! ! $GETENV ItemList ! ! ItemList = address of a zero terminated item list. ! ! INTEGER*4 SYS$GETENV EXTERNAL SYS$GETENV ! $SETENV ! ! Set an environment variable ! ! $SETENV ItemList ! ! ItemList = address of a zero terminated item list. ! ! INTEGER*4 SYS$SETENV EXTERNAL SYS$SETENV ! $SETEVTAST ! ! Establish an Event AST Routine ! ! $SETEVTAST evtnam, evtadr, [evtfac], [acmode], [flags], [reqid] ! (SETEVTASTW) ,[evtid], [evtcrd], [efn], [iosb], [astadr] ! ,[astprm], [nullarg] ! ! evtnam = address of descriptor of event name ! ! evtadr = address of entry mask of event AST routine ! ! evtfac = address of event facility code ! ! acmode = access mode of event declaration ! ! flags = optional flags ! ! reqid = user provided identification of this request ! ! evtid = address to receive unique identification of this request ! ! evtcrd = amount of AST credit to reserve for request ! ! efn = event flag to set when $SETEVTAST completes ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of completion AST routine ! ! astprm = value to be passed to completion AST routine ! INTEGER*4 SYS$SETEVTAST EXTERNAL SYS$SETEVTAST INTEGER*4 SYS$SETEVTASTW EXTERNAL SYS$SETEVTASTW ! $SETEXV ! ! Set Exception Vector ! ! $SETEXV [vector] ,[addres] ,[acmode] ,[prvhnd] ! ! vector = vector number ! 0 -> primary vector 1 -> secondary 2 -> last chance ! ! addres = exception handler address (0 indicates deassign vector) ! ! acmode = access mode for which vector is set ! ! prvhnd = address of longword to receive previous handler address ! INTEGER*4 SYS$SETEXV EXTERNAL SYS$SETEXV ! $SETFLT ! ! Set Fault Characteristics on Pages ! ! $SETFLT inadr ,[retadr] ,[acmode] ,fault_flag ! ! inadr = address of 2-longword array containing starting and ! ending virtual addresses of pages to change ! ! retadr = address of 2-longword array containing starting and ! ending addresses of pages which were changed ! ! acmode = access mode of request ! ! fault_flag = New fault characteristic (FLT$M_EXECUTABLE or FLT$M_NO_EXECUTE) ! INTEGER*4 SYS$SETFLT EXTERNAL SYS$SETFLT ! $SETFLT_64 ! ! Set Fault Characteristics on Pages ! ! $SETLFT_64 start_va_64, length_64, acmode, fault_flag, return_va_64, return_length_64 ! ! start_va_64 = Starting address of address space to set protection ! ! length_64 = Byte length of addresses to set protection ! ! acmode = Access mode of request ! ! fault_flag = New fault characteristic (FLT$M_EXECUTABLE or FLT$M_NO_EXECUTE) ! ! return_va_64 = Address of address space whose protection was set ! ! return_length_64 = Length of address space whose protection was set ! INTEGER*4 SYS$SETFLT_64 EXTERNAL SYS$SETFLT_64 ! $SETIME ! ! Set System Time ! ! $SETIME [timadr] ! ! timadr = address of quadword containing new system time in ! 64-bit format. If 0, recalibrate system time using ! hardware time-of-year clock. ! INTEGER*4 SYS$SETIME EXTERNAL SYS$SETIME ! $SETIMR ! ! Set Timer ! ! $SETIMR [efn] ,daytim ,[astadr] ,[reqidt] ,[flags] ! ! efn = event flag to set when timer expires ! ! daytim = address of quadword containing 64-bit time value ! ! astadr = address of entry mask of AST routine ! ! reqidt = request identification of this timer request ! ! flags = only bit 0 used right now. If bit 0 is set, ! then this timer request is in terms of CPU time. ! INTEGER*4 SYS$SETIMR EXTERNAL SYS$SETIMR ! $SETPFM ! ! Set Page Fault Monitoring ! ! $SETPFM [pfmflg] ,[astadr] ,[astprm] ,[acmode] ! ! pfmflg = function/subfunction bits ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! acmode = access mode for which the AST is to be declared ! ! bufcntadr = address of longword for which the number of ! page fault monitoring buffers allocated is stored. ! INTEGER*4 SYS$SETPFM EXTERNAL SYS$SETPFM ! $SETPRA ! ! Set Power Recovery AST ! ! $SETPRA astadr ,[acmode] ! ! astadr = address of power recovery AST routine ! ! acmode = access mode of AST ! INTEGER*4 SYS$SETPRA EXTERNAL SYS$SETPRA ! $SETPRI ! ! Set Priority ! ! $SETPRI [pidadr] ,[prcnam] ,pri ,[prvpri],[pol],[prvpol] ! ! pidadr = address of process id of process to be set ! ! prcnam = address of process name string descriptor ! ! pri = new base priority for the process ! ! prvpri = address of longword to receive previous base priority ! ! pol = address of new scheduling policy for the process ! ! prvpol = address of longword to receive previous sched policy ! INTEGER*4 SYS$SETPRI EXTERNAL SYS$SETPRI ! $SETPRN ! ! Set Process Name ! ! $SETPRN [prcnam] ! ! prcnam = address of the process name string descriptor ! INTEGER*4 SYS$SETPRN EXTERNAL SYS$SETPRN ! $SETPRT ! ! Set Protection on Pages ! ! $SETPRT inadr ,[retadr] ,[acmode] ,prot ,[prvprt] ! ! inadr = address of 2-longword array containing starting and ! ending virtual addresses of pages to change ! ! retadr = address of 2-longword array containing starting and ! ending addresses of pages which were changed ! ! acmode = access mode of request ! ! prot = new protection ! ! prvprt = address of byte to receive previous protection of ! last page changed ! INTEGER*4 SYS$SETPRT EXTERNAL SYS$SETPRT ! $SETPRT_64 ! ! Set Protection on Pages ! ! $SETPRT_64 start_va_64, length_64, acmode, prot, return_va_64, return_length_64, ! return_prot_64 ! ! start_va_64 = Starting address of address space to set protection ! ! length_64 = Byte length of addresses to set protection ! ! acmode = Access mode of request ! ! prot = New protection ! ! return_va_64 = Address of address space whose protection was set ! ! return_length_64 = Length of address space whose protection was set ! ! return_prot_64 = Address of longword to receive previous protection of ! last page changed ! INTEGER*4 SYS$SETPRT_64 EXTERNAL SYS$SETPRT_64 ! $SETPRV ! ! Set privileges. ! $SETPRV [enbflg] ,[prvadr] ,[prmflg] ,[prvprv] ! ! enbflg = enable indicator ! 0 -> disable 1 -> enable ! ! prvadr = 64-bit mask defining the privileges to be enabled or ! disabled ! ! prmflg = permanent indicator ! 0 -> temporary (for this image) 1 -> permanent ! ! prvprv = address of quadword buffer to receive previous privileges ! INTEGER*4 SYS$SETPRV EXTERNAL SYS$SETPRV ! $SETRWM ! ! Set Resource Wait Mode ! ! $SETRWM [watflg] ! ! watflg = wait indicator ! 0 -> wait for resources 1 -> return failure immediately ! (type is NUMBER rather than BOOLEAN since WATFLG=TRUE ! means don't wait, which is the opposite of what is seems) ! INTEGER*4 SYS$SETRWM EXTERNAL SYS$SETRWM ! $SETSFM ! ! Set System Service Failure Mode ! ! $SETSFM [enbflg] ! ! enbflg = enable indicator ! 0 -> disable generation of exceptions on service failures ! 1 -> generate exceptions for system service failures ! INTEGER*4 SYS$SETSFM EXTERNAL SYS$SETSFM ! $SETSSF ! ! Set System Service Filter ! ! $SETSSF [mask] ! ! mask = flags for services to inhibit ! INTEGER*4 SYS$SETSSF EXTERNAL SYS$SETSSF ! $SETSHLV ! ! Modify process default unshelving action ! ! $SETSHLV [pidadr] ,[prcnam], [shlvflg] ! ! pidadr = address of process id of process ! ! prcnam = address of name string descriptor of process ! ! shlvflg = longword containing the desired shelving mode ! in the bottom bit. If the bottom bit is set, ! then the default is not to automatically unshelve ! shelved files. If the bottom bit is clear, then ! the default is to automatically unshelve shelved ! files. ! INTEGER*4 SYS$SETSHLV EXTERNAL SYS$SETSHLV ! $SETSTK ! ! SET VIRTUAL STACK LIMITS ! ! $SETSTK inadr ,[retadr] ,[acmode] ! ! inadr = address of 2-longword array containing starting and ! ending virtual address of stack limits to set ! ! retadr = address of a 2-longword array to receive starting and ! ending virtual address of stack limits to set ! ! acmode = access mode for the stack to change ! INTEGER*4 SYS$SETSTK EXTERNAL SYS$SETSTK ! $SETSTK_64 ! ! SET VIRTUAL STACK LIMITS ! ! $SETSTK_64 start_va, length, acmode, flags, prev_start_va_64, prev_length_64 ! ! start_va_64 = lowest address for new stack limits ! ! length_64 = length of address range for new stack limits ! ! acmode = access mode for the stack to change ! ! flags = VA$M_SETSTK_REGISTER - set register stack limits (IA64 only) ! ! prev_start_va_64 = pointer to lowest address for previous stack limits ! ! prev_length_64 = pointer to length of previous stack limits ! INTEGER*4 SYS$SETSTK_64 EXTERNAL SYS$SETSTK_64 ! $SETSWM ! ! Set Process Swap Mode ! ! $SETSWM [swpflg] ! ! swpflg = swap indicator ! 0 -> enable swapping 1 -> disable swapping ! INTEGER*4 SYS$SETSWM EXTERNAL SYS$SETSWM ! ! $SETDTI ! ! Set Distributed Transaction Information ! ! $SETDTI [efn], [flags], iosb, [astadr], [astprm], context, ! ($SETDTIW) func, itmlst ! ! efn = event flag to set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of the entry mask of an AST routine ! astprm = value to be passed to AST routine ! context = address of longword search context ! func = function code to be performed ! itmlst = address of a list of item descriptors ! INTEGER*4 SYS$SETDTI EXTERNAL SYS$SETDTI INTEGER*4 SYS$SETDTIW EXTERNAL SYS$SETDTIW ! $SETUAI ! ! Modify User Authorization Information ! ! $SETUAI [efn] ,[contxt] ,usrnam ,itmlst ,[iosb] ,[astadr] ! ,[astprm] ! ! efn = event flag to be set at completion ! ! contxt = address of a context longword (UAF IFI & ISI) ! ! usrnam = address of user name descriptor ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! INTEGER*4 SYS$SETUAI EXTERNAL SYS$SETUAI ! ! $SHOW_INTRUSION ! ! Show intrusion record ! ! $SHOW_INTRUSION user_criteria, intruder, intruder_len, breakin_block, [flags], [context] ! ! user_criteria in address of user criteria descriptor ! intruder in out address of intruder descriptor ! intruder_len out address of word to receive intruder string length ! breakin_block out address of intrusion block ! flags in intrusion service flags ! context in out address of optional longword context ! INTEGER*4 SYS$SHOW_INTRUSION EXTERNAL SYS$SHOW_INTRUSION ! $SNDACC ! ! Send Message to Accounting Manager ! ! $SNDACC msgbuf ,[chan] ! ! msgbuf = address of message buffer string descriptor ! ! chan = number of channel assigned to mailbox to receive reply ! INTEGER*4 SYS$SNDACC EXTERNAL SYS$SNDACC ! $SNDERR ! ! Send Message to Error Logger ! ! $SNDERR msgbuf ! ! msgbuf = address of message buffer string descriptor ! INTEGER*4 SYS$SNDERR EXTERNAL SYS$SNDERR ! $SNDOPR ! ! Send Message to Operator ! ! $SNDOPR msgbuf ,[chan] ! ! msgbuf = address of message buffer string descriptor ! ! chan = number of channel assigned to mailbox to receive reply ! INTEGER*4 SYS$SNDOPR EXTERNAL SYS$SNDOPR ! $SNDSMB ! ! Send Message to Symbiont Manager ! ! $SNDSMB msgbuf ,[chan] ! ! msgbuf = address of message buffer string descriptor ! ! chan = number of channel assigned to mailbox to receive reply ! INTEGER*4 SYS$SNDSMB EXTERNAL SYS$SNDSMB ! $SNDJBC ! ! Send Message to Job Controller ! ! $SNDJBC [efn], func, [nullarg], [itmlst], ! ($SNDJBCW) [iosb], [astadr], [astprm] ! ! efn = event flag to be set when request completes ! func = code specifying function to be performed ! nullarg = reserved argument for similarity with $getxxx services ! itmlst = address of a list of item descriptors for the operation ! iosb = address of a quadword status block to receive the final status ! astadr = address of an ast routine to be called when request completes ! astprm = 32-bit ast parameter ! INTEGER*4 SYS$SNDJBC EXTERNAL SYS$SNDJBC INTEGER*4 SYS$SNDJBCW EXTERNAL SYS$SNDJBCW ! ! $SPACE ! ! Space to Record in File ! ! $SPACE rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$SPACE EXTERNAL SYS$SPACE ! $SSIO_FSYNC ! ! Synchronize file changes with the storage device for a file that ! has been opened for Shared Stream I/O (SSIO) access. ! ! $SSIO_FSYNC chan, iosa ,[ast] ,[astprm] ! ($SSIO_FSYNCW) ! ! chan = channel number for SSIO accessed file ! ! iosa = address of I/O status area (4 quadwords) to receive final ! completion status (64-bit address) ! ! ast = address of AST routine (64-bit address) ! ! astprm = value to be passed to AST routine as argument (64-bit value) ! INTEGER*4 SYS$SSIO_FSYNC EXTERNAL SYS$SSIO_FSYNC INTEGER*4 SYS$SSIO_FSYNCW EXTERNAL SYS$SSIO_FSYNCW ! $SSIO_GETFL ! ! Get the current file status flags for a file that has been opened ! for Shared Stream I/O (SSIO) access. Similar to UNIX fcntl with ! F_SETFL command parameter. ! ! $SSIO_GETFL chan ,iosa ,[ast] ,[astprm] ! ($SSIO_GETFLW) ! ! chan = channel number for SSIO accessed file ! ! iosa = address of I/O status area (4 quadwords) to receive final ! completion status and file status flags (64-bit address) ! ! ast = address of AST routine (64-bit address) ! ! astprm = value to be passed to AST routine as argument (64-bit value) ! INTEGER*4 SYS$SSIO_GETFL EXTERNAL SYS$SSIO_GETFL INTEGER*4 SYS$SSIO_GETFLW EXTERNAL SYS$SSIO_GETFLW ! $SSIO_LSEEK ! ! Set the current file offset to a file that has been opened for ! Shared Stream I/O (SSIO) access. ! ! $SSIO_LSEEK chan ,offset_in ,whence ,iosa ,[ast] ,[astprm] ! ($SSIO_LSEEKW) ! ! chan = channel number for SSIO accessed file ! ! offset_in = signed offset value used in conjunction with the ! whence parameter to determine a new resultant file ! offset (64-bit value) ! ! whence = value that controls interpretation of offset_in ! Must be one of: ! SSIO$C_SEEK_SET: Resultant offset is offset_in ! SSIO$C_SEEK_CUR: Resultant offset is current value ! plus offset_in ! SSIO$C_SEEK_END: Resultant offset is current end-of- ! file position plus offset_in ! ! iosa = address of I/O status area (4 quadwords) to receive final ! completion status (64-bit address) ! ! ast = address of AST routine (64-bit address) ! ! astprm = value to be passed to AST routine as argument (64-bit value) ! INTEGER*4 SYS$SSIO_LSEEK EXTERNAL SYS$SSIO_LSEEK INTEGER*4 SYS$SSIO_LSEEKW EXTERNAL SYS$SSIO_LSEEKW ! $SSIO_READ ! ! Read a byte stream from the current file offset from a file that ! has been opened for Shared Stream I/O (SSIO) access ! ! $SSIO_READ chan ,buffer ,bufsiz ,iosa ,[ast] ,[astprm] ! ($SSIO_READW) ! ! chan = channel number for SSIO accessed file ! ! buffer = address of data buffer to receive data (64-bit address) ! ! bufsiz = size of data buffer in bytes (64-bit value) ! ! iosa = address of I/O status area (4 quadwords) to receive final ! completion status (64-bit address) ! ! ast = address of AST routine (64-bit address) ! ! astprm = value to be passed to AST routine as argument (64-bit value) ! INTEGER*4 SYS$SSIO_READ EXTERNAL SYS$SSIO_READ INTEGER*4 SYS$SSIO_READW EXTERNAL SYS$SSIO_READW ! $SSIO_SETFL ! ! Set the current file status flags for a file that has been opened ! for Shared Stream I/O (SSIO) access. Similar to UNIX fcntl with ! F_SETFL command parameter. ! ! $SSIO_SETFL chan ,file_sts_flgs ,iosa ,[ast] ,[astprm] ! ($SSIO_SETFLW) ! ! chan = channel number for SSIO accessed file ! ! file_sts_flgs = desired file status flag value ! Only mask value that can be changed is SSIO$M_O_APPEND. ! ! iosa = address of I/O status area (4 quadwords) to receive final ! completion status (64-bit address) ! ! ast = address of AST routine (64-bit address) ! ! astprm = value to be passed to AST routine as argument (64-bit value) ! INTEGER*4 SYS$SSIO_SETFL EXTERNAL SYS$SSIO_SETFL INTEGER*4 SYS$SSIO_SETFLW EXTERNAL SYS$SSIO_SETFLW ! $SSIO_SYNC ! ! Synchronize file changes that have been made via prior calls to ! the $SSIO_WRITE and $SSIO_TRUNCATE services to all files on this ! system that have been opened for Shared Stream I/O (SSIO) access. ! The file changes are synchronized with the corresponding storage ! device. ! ! $SSIO_SYNC ! INTEGER*4 SYS$SSIO_SYNC EXTERNAL SYS$SSIO_SYNC ! $SSIO_TRUNCATE ! ! Truncate (or extend) a file that has been opened for Shared ! Stream I/O (SSIO) access. ! ! $SSIO_TRUNCATE chan ,file_length ,iosa ,[ast] ,[astprm] ! ($SSIO_TRUNCATEW) ! ! chan = channel number for SSIO accessed file ! ! file_length = new end-of-file length (64-bit value) ! ! iosa = address of I/O status area (4 quadwords) to receive final ! completion status (64-bit address) ! ! ast = address of AST routine (64-bit address) ! ! astprm = value to be passed to AST routine as argument (64-bit value) ! INTEGER*4 SYS$SSIO_TRUNCATE EXTERNAL SYS$SSIO_TRUNCATE INTEGER*4 SYS$SSIO_TRUNCATEW EXTERNAL SYS$SSIO_TRUNCATEW ! $SSIO_WRITE ! ! Write a byte stream to the current file offset to a file that ! has been opened for Shared Stream I/O (SSIO) access ! ! $SSIO_WRITE chan ,buffer ,bufsiz ,iosa ,[ast] ,[astprm] ! ($SSIO_WRITEW) ! ! chan = channel number for SSIO accessed file ! ! buffer = address of data buffer to receive data (64-bit address) ! ! bufsiz = size of data buffer in bytes (64-bit value) ! ! iosa = address of I/O status area (4 quadwords) to receive final ! completion status (64-bit address) ! ! ast = address of AST routine (64-bit address) ! ! astprm = value to be passed to AST routine as argument (64-bit value) ! INTEGER*4 SYS$SSIO_WRITE EXTERNAL SYS$SSIO_WRITE INTEGER*4 SYS$SSIO_WRITEW EXTERNAL SYS$SSIO_WRITEW ! $SUSPND ! ! Suspend Process ! ! $SUSPND [pidadr] ,[prcnam], [flags] ! ! pidadr = address of process id of process to be suspended ! ! prcnam = address of name string descriptor of process ! ! flags = longword of bit flags, of which only bit 0 is ! currently used. If bit 0 is set, then this ! is a hard suspend request; if clear this is ! a soft suspend request. ! INTEGER*4 SYS$SUSPND EXTERNAL SYS$SUSPND ! $SYNCH ! ! Synchronize Event Completion ! ! $SYNCH [iosb] ,[efn] ! ! efn = event flag to be set at completion ! ! iosb = address of a quadword I/O status block ! INTEGER*4 SYS$SYNCH EXTERNAL SYS$SYNCH ! $SUBSYSTEM ! ! Modify Protected Subsystem Attributes ! ! $SUBSYSTEM enbflg ! ! enbflg = enable indicator ! 0 => disable image identifiers ! 1 => restore image identifiers ! INTEGER*4 SYS$SUBSYSTEM EXTERNAL SYS$SUBSYSTEM ! ! $TIMCON ! ! Convert between binary UTC and Smithsonian times ! ! $TIMCON smntim, utctim, cvtflg ! ! For cvtflg = 0 (Convert UTC to Smithsonian) ! smnadr = Address of the output quadword to be written ! with the UTC time converted to date_time ! utcadr = Address of the input 128 bit utc_date_time time to ! be converted ! cvtflg = 0 ! ! For cvtflg = 1 (Convert Smithsonian to UTC) ! smnadr = Address of input Smithsonian binary time to be ! converted (VMS Binabs time). ! utcadr = Address of the output 128 bit binary time to ! be written with the converted time ! cvtflg = 1 ! INTEGER*4 SYS$TIMCON EXTERNAL SYS$TIMCON ! $TRNLNM ! ! Translate Logical Name ! ! $TRNLNM [attr], tabnam, [lognam], [acmode], [itemlist] ! ! attr = address of logical name translation attributes ! ! Attribute Meaning ! LNM$M_CASE_BLIND Search of string is case insensitive ! ! tabnam = address of logical name table name string descriptor ! ! lognam = address of logical name string descriptor ! ! acmode = address of access mode for logical name ! ! itmlst = address of a list of item descriptors ! INTEGER*4 SYS$TRNLNM EXTERNAL SYS$TRNLNM ! $TRNLOG ! ! Translate Logical Name ! ! $TRNLOG lognam ,[rsllen] ,rslbuf ,[table] ,[acmode] ,[dsbmsk] ! ! lognam = address of logical name string descriptor ! ! rsllen = address of word to receive length of resultant name ! ! rslbuf = address of descriptor for buffer to receive resultant ! string ! ! table = address of byte to receive logical name table number ! ! acmode = address of byte to receive access mode of entry ! (process table only) ! ! dsbmsk = table search disable mask ! ! Bit Set Meaning ! ! 0 Do not search system table ! 1 Do not search group table ! 2 Do not search process table ! INTEGER*4 SYS$TRNLOG EXTERNAL SYS$TRNLOG ! ! $TRUNCATE ! ! Truncate Record ! ! $TRUNCATE rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$TRUNCATE EXTERNAL SYS$TRUNCATE ! $ULKPAG ! ! Unlock Pages From Memory ! ! $ULKPAG inadr ,[retadr] ,[acmode] ! ! inadr = address of 2-longword array containing starting and ! ending virtual addresses of pages to be unlocked ! ! retadr = address of a 2-longword array to receive starting and ! ending virtual addresses of pages actually unlocked ! ! acmode = access mode to check against the owner of the pages ! INTEGER*4 SYS$ULKPAG EXTERNAL SYS$ULKPAG ! $ULKPAG_64 ! ! Unlock Pages in Memory ! ! $ULKPAG_64 start_va_64, length_64, acmode, return_va_64, return_length_64 ! ! start_va_64 = Starting address of address space to unlock ! ! length_64 = Byte length of addresses to lock ! ! acmode = Access mode to be checked against the page owner ! ! return_va_64 = Address of address space unlocked ! ! return_length_64 = Length of address space unlocked ! INTEGER*4 SYS$ULKPAG_64 EXTERNAL SYS$ULKPAG_64 ! $ULWSET ! ! Unlock Pages From Working Set ! ! $ULWSET inadr ,[retadr] ,[acmode] ! ! inadr = address of 2-longword array containing starting and ! ending virtual addresses of pages to be unlocked ! ! retadr = address of a 2-longword array to receive starting and ! ending virtual addresses of pages actually unlocked ! ! acmode = access mode to check against the owner of the pages ! INTEGER*4 SYS$ULWSET EXTERNAL SYS$ULWSET ! $ULWSET_64 ! ! Unlock Pages from Working Set ! ! $ULWSET_64 start_va_64, length_64, acmode, return_va_64, return_length_64 ! ! start_va_64 = Starting address of address space to unlock ! ! length_64 = Byte length of addresses to lock ! ! acmode = Access mode to be checked against the page owner ! ! return_va_64 = Address of address space unlocked ! ! return_length_64 = Length of address space unlocked ! INTEGER*4 SYS$ULWSET_64 EXTERNAL SYS$ULWSET_64 ! $UNWIND ! ! Unwind Call Stack ! ! $UNWIND [depadr] ,[newpc] ! ! depadr = address of longword containing number of logical frames ! (depth) to unwind call stack ! ! newpc = address to be given control when the unwind is complete ! INTEGER*4 SYS$UNWIND EXTERNAL SYS$UNWIND ! ! $UPDATE ! ! Update Record ! ! $UPDATE fab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$UPDATE EXTERNAL SYS$UPDATE ! $UPDSEC ! ! Update Section File on Disk ! ! $UPDSEC inadr ,[retadr] ,[acmode] ,[updflg] ,[efn] ,[iosb] ! ($UPDSECW) ,[astadr] ,[astprm] ! ! inadr = address of 2-longword array containing starting and ! ending addresses of the pages to be potentially ! written ! ! retadr = address of 2-longword array to receive addresses of ! the first and last page queued in the first I/O ! request ! ! acmode = access mode on behalf of which the service is ! performed ! ! updflg = update indicator for read/write global sections ! 0 -> write all read/write pages in the section ! UPDFLG$M_WRT_MODIFIED -> write all pages modified by the caller ! ! efn = number of event flag to set when the section file is ! updated ! ! iosb = address of quadword I/O status block ! ! astadr = address of entry mask of an AST service routine ! ! astprm = AST parameter to be passed to the AST service routine ! INTEGER*4 SYS$UPDSEC EXTERNAL SYS$UPDSEC INTEGER*4 SYS$UPDSECW EXTERNAL SYS$UPDSECW ! $UPDSEC_64 ! ! Update Section File on Disk ! ! $UPDSEC_64 start_va_64, length_64, acmode, updflg, efn, iosa_64 ! return_va_64, return_length_64[,astadr_64[, astprm_64]] ! ! start_va_64 = Starting address of address space to update ! ! length_64 = Byte length of addresses to update ! ! acmode = access mode on behalf of which the service is ! performed ! ! updflg = update indicator for read/write global sections ! 0 -> write all read/write pages in the section ! UPDFLG$M_WRT_MODIFIED -> write all pages modified by the caller ! ! efn = number of event flag to set when the section file is ! updated ! ! iosa_64 = address of 4 quadword I/O status area ! ! return_va_64 = Address of address space queued in the first ! I/O request ! ! return_length_64 = Length of address space queued in the first ! I/O request ! ! astadr_64 = address of entry mask of an AST service routine ! ! astprm_64 = AST parameter to be passed to the AST service routine ! INTEGER*4 SYS$UPDSEC_64 EXTERNAL SYS$UPDSEC_64 INTEGER*4 SYS$UPDSEC_64W EXTERNAL SYS$UPDSEC_64W ! ! $VERIFY_PROXY ! ! Verify proxy record ! ! $VERIFY_PROXY rem_node, rem_user, [proposed_user], local_user, local_user_len, flags ! ! rem_node in address of remote node descriptor ! rem_user in address of remote user descriptor ! proposed_user in address of optional proposed user descriptor ! local_user out address of descriptor to receive local user ! local_user_len out address of word to receive local user length ! flags in proxy service flags ! INTEGER*4 SYS$VERIFY_PROXY EXTERNAL SYS$VERIFY_PROXY ! ! $WAIT ! ! Wait on File ! ! $WAIT rab ! ! rab = address of rab ! ! INTEGER*4 SYS$WAIT EXTERNAL SYS$WAIT ! $WAITFR ! ! Wait for Single Event Flag ! ! $WAITFR efn ! ! efn = event flag number to wait for ! INTEGER*4 SYS$WAITFR EXTERNAL SYS$WAITFR ! $WAKE ! ! Wake ! ! $WAKE [pidadr] ,[prcnam] ! ! pidadr = address of process id of process to be awakened ! ! prcnam = address of name string descriptor of process to be ! awakened ! INTEGER*4 SYS$WAKE EXTERNAL SYS$WAKE ! $WFLAND ! ! Wait for Logical AND of Event Flags ! ! $WFLAND efn ,mask ! ! efn = event flag number of any flag within the cluster ! ! mask = 32-bit mask of flags that must be set ! INTEGER*4 SYS$WFLAND EXTERNAL SYS$WFLAND ! $WFLOR ! ! Wait for Logical OR of Event Flags ! ! $WFLOR efn ,mask ! ! efn = event flag number of any flag within the cluster ! ! mask = 32-bit mask of flags, any of which must be set ! INTEGER*4 SYS$WFLOR EXTERNAL SYS$WFLOR ! ! $WRITE ! ! Write Block to File ! ! $WRITE rab, [err], [suc] ! ! rab = address of rab ! ! err = address of user error completion routine ! ! suc = address of user success completion routine ! INTEGER*4 SYS$WRITE EXTERNAL SYS$WRITE ! ! $WRITE_THREAD_UNQ ! ! Write thread unique value ! ! $WRITE_THREAD_UNQ contxt ! ! contxt = address of quadword that contains the ! thread unique value to be written ! INTEGER*4 SYS$WRITE_THREAD_UNQ EXTERNAL SYS$WRITE_THREAD_UNQ ! $XFS_CLIENT ! ! Call the XFS client ! ! $XFS_CLIENT [efn] ,func ,fsb ,[astadr] ,[astprm] ! ! efn = number of event flag to set on completion ! ! func = function code specifying action to be performed ! ! fsb = address of File System Block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as argument ! INTEGER*4 SYS$XFS_CLIENT EXTERNAL SYS$XFS_CLIENT ! $XFS_SERVER ! ! Call the XFS server ! ! $XFS_SERVER [efn] ,func ,fsb ,[astadr] ,[astprm] ! ! efn = number of event flag to set on completion ! ! func = function code specifying action to be performed ! ! fsb = address of File System Block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine as argument ! INTEGER*4 SYS$XFS_SERVER EXTERNAL SYS$XFS_SERVER ! $DCLRNH ! ! Declare Restart Handler ! ! $DCLRNH desblk ! ! desblk = address of handler control block containing: ! ! +-------------------------------+ ! | forward link | ! +-------------------------------+ ! | restart handler address | ! +-------------------------------+ ! | argument count | ! +-------------------------------+ ! | reserved, must be zero | ! +-------------------------------+ ! | address to store event code | ! +-------------------------------+ ! | additional arguments | ! +-- for restart handler, --+ ! | if any | ! +-------------------------------+ ! INTEGER*4 SYS$DCLRNH EXTERNAL SYS$DCLRNH ! $CANRNH ! ! Cancel Restart Handler ! ! $CANRNH [desblk] ! ! desblk = address of handler control block describing ! handler to be deleted. If 0, delete all ! INTEGER*4 SYS$CANRNH EXTERNAL SYS$CANRNH ! ! $ABORT_TRANS ! ! Abort a transaction ! ! $ABORT_TRANS [efn], [flags], iosb [, [astadr], [astprm], ! ($ABORT_TRANSW) [tid], [reason], [bid]] ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! tid = identifier of transaction to be aborted ! reason = optional extended abort reason code ! bid = identifier of transaction branch to be aborted ! INTEGER*4 SYS$ABORT_TRANS EXTERNAL SYS$ABORT_TRANS INTEGER*4 SYS$ABORT_TRANSW EXTERNAL SYS$ABORT_TRANSW ! ! $ACK_EVENT ! ! Acknowledge a resource manager transaction event ! ! $ACK_REPORT [flags], report_id, report_reply, [, [reason], ! [beftime], [afttime], [part_name], [rm_context], ! [timout]] ! ! flags = operation flags ! report_id = participant id value ! report_reply = value of completion status ! reason = extended abort reason code (for veto vote) ! beftim = lower bound of commit timestamp ! afttim = upper bound of commit timestamp ! part_name = address of participant name descriptor ! rm_context = RM private value to be passed to evt_rtn ! timout = transaction execution time-out value ! INTEGER*4 SYS$ACK_EVENT EXTERNAL SYS$ACK_EVENT ! ! $ADD_BRANCH ! ! Add a transaction branch ! ! $ADD_BRANCH [efn], [flags], iosb, [astadr], [astprm], ! ($ADD_BRANCHW) tid, tm_name, bid ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! tid = transaction id for this branch ! tm_name = address of commit domain name descriptor ! bid = address to receive new branch identifier ! INTEGER*4 SYS$ADD_BRANCH EXTERNAL SYS$ADD_BRANCH INTEGER*4 SYS$ADD_BRANCHW EXTERNAL SYS$ADD_BRANCHW ! ! *************** NOTE: $CREATE_BRANCH(W) service definitions are obsolete ************** ! ! $CREATE_BRANCH ! ! Create a transaction branch ! ! $CREATE_BRANCH = [efn], [flags], iosb, [astadr], [astprm], ! ($CREATE_BRANCHW) tid, bid [,[timout], [acmode], [tx_class]] ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! tid = transaction id for this branch ! bid = address to receive new branch identifier ! timout = transaction execution time-out value ! acmode = access mode for $CREATE_BRANCH call ! tx_class= user transaction class name ! INTEGER*4 SYS$CREATE_BRANCH EXTERNAL SYS$CREATE_BRANCH INTEGER*4 SYS$CREATE_BRANCHW EXTERNAL SYS$CREATE_BRANCHW ! $CVT_FILENAME ! ! Convert a string between RMS format and file-system format. ! ! $CVT_FILENAME cvttyp, srcstr, inflags, outbuf, outlen, outflags ! ! cvttyp = value indicating conversion type (RMS-to-filesys or ! filesys-to-RMS) ! srcstr = address of string descriptor for source string ! inflags = mask indicating source string characteristics ! outbuf = address of string descriptor for output string ! outlen = address to store length of returned output string ! outflags = address of a longword to receive flags describing ! output string ! INTEGER*4 SYS$CVT_FILENAME EXTERNAL SYS$CVT_FILENAME ! ! $DECLARE_RM [efn], [flags], iosb, [astadr], [astprm], ! ($DECLARE_RMW) rm_id, event_handler [, [part_name], ! [rm_context], [acmode], [tm_log_id], [event_mask]] ! ! Declare Resource Manager to DDTM ! ! efn = event flag to set upon completion ! flags = operation flags ! iosb = address of I/O status block ! astadr = address of entry mask of AST routine ! astprm = value to be passed to AST routine ! rm_id = address of longword to receive resource manager id ! event_rtn = address of entry mask of transaction event routine ! part_name = address of resource manager name descriptor ! rm_context = RM private value to be passed to evt_rtn ! acmode = value of access mode in which to invoke evt_rtn ! tm_log_id = transaction manager log id for validation checks ! event_mask = mask of events required by this resource manager ! INTEGER*4 SYS$DECLARE_RM EXTERNAL SYS$DECLARE_RM INTEGER*4 SYS$DECLARE_RMW EXTERNAL SYS$DECLARE_RMW ! ! $END_BRANCH ! ! End an active branch of a transaction ! ! $END_BRANCH [efn], [flags], iosb, [astadr], [astprm], ! ($END_BRANCHW) tid, bid ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of a completion AST routine entry mask ! astprm = value to be passed to completion AST routine ! tid = address of transaction identifier ! bid = address of transaction branch identifier ! INTEGER*4 SYS$END_BRANCH EXTERNAL SYS$END_BRANCH INTEGER*4 SYS$END_BRANCHW EXTERNAL SYS$END_BRANCHW ! ! $END_TRANS ! ! Commit a transaction ! ! $END_TRANS [efn], [flags], iosb [, [astadr], [astprm], [tid] ] ! ($END_TRANSW) ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! tid = identifier of transaction to be committed ! INTEGER*4 SYS$END_TRANS EXTERNAL SYS$END_TRANS INTEGER*4 SYS$END_TRANSW EXTERNAL SYS$END_TRANSW ! ! $FINISH_RMOP ! ! Finish resource manager transaction event operation ! ! $FINISH_RMOP [efn], [flags], iosb, [astadr], [astprm], ! ($FINISH_RMOPW) part_id, retsts [, [reason], ! [beftime], [afttime] ! ! efn = event flag to set upon completion ! flags = operation flags ! iosb = address of I/O status block ! astadr = address of entry mask of AST routine ! astprm = value to be passed to AST routine ! part_id = participant id value ! retsts = value of completion status ! reason = extended abort reason code (for veto vote) ! beftim = lower bound of commit timestamp ! afttim = upper bound of commit timestamp ! INTEGER*4 SYS$FINISH_RMOP EXTERNAL SYS$FINISH_RMOP INTEGER*4 SYS$FINISH_RMOPW EXTERNAL SYS$FINISH_RMOPW ! ! $FORGET_RM ! ! Forget a resource manager previously declared to DECdtm ! ! $FORGET_RM [efn], [flags], iosb, [astadr], [astprm], rm_id ! ($FORGET_RMW) ! ! efn = event flag to set upon completion ! flags = operation flags ! iosb = address of I/O status block ! astadr = address of entry mask of AST routine ! astprm = value to be passed to AST routine ! rm_id = resource manager id value ! INTEGER*4 SYS$FORGET_RM EXTERNAL SYS$FORGET_RM INTEGER*4 SYS$FORGET_RMW EXTERNAL SYS$FORGET_RMW ! ! $GET_DEFAULT_TRANS ! ! Get the current process default transaction ! ! $GET_DEFAULT_TRANS tid ! ! tid = identifier of the process default transaction ! INTEGER*4 SYS$GET_DEFAULT_TRANS EXTERNAL SYS$GET_DEFAULT_TRANS ! $GET_UNWIND_ENTRY_INFO ! ! Get fixed-up unwind entry information ! ! $GET_UNWIND_ENTRY_INFO pc, get_ue_block, name ! ! pc = target PC ! ! get_ue_block = address of a 4-quadword block to be filled in ! ! name = Fixed length string, passed by descriptor. ! INTEGER*4 SYS$GET_UNWIND_ENTRY_INFO EXTERNAL SYS$GET_UNWIND_ENTRY_INFO ! ! $JOIN_RM ! ! Join a resource manager previously started transaction ! ! $JOIN_RM [efn], [flags], iosb, [astadr], [astprm], ! ($JOIN_RMW) rm_id [, [tid], [part_name], [rm_context], [timout]] ! ! efn = event flag to set upon completion ! flags = operation flags ! iosb = address of I/O status block ! astadr = address of entry mask of AST routine ! astprm = value to be passed to AST routine ! rm_id = resource manager id value ! tid = address of transaction id ! part_name = participant name string ! rm_context = RM private value to pass to event routine ! timout = transaction execution time-out value ! INTEGER*4 SYS$JOIN_RM EXTERNAL SYS$JOIN_RM INTEGER*4 SYS$JOIN_RMW EXTERNAL SYS$JOIN_RMW ! ! $RECOVER ! ! Recover transaction state. ! ! $RECOVER [efn], [flags], iosb, [astadr], [astprm], ! ($RECOVERW) recovery_prefix, event_handler, tm_log_id [, ! [tid], [node], [rm_context], [acmode], [max_events]] ! ! efn = event flag to set upon completion ! flags = operation flags ! iosb = address of I/O status block ! astadr = address of entry mask of AST routine ! astprm = value to be passed to AST routine ! recovery_prefix = address of search name descriptor ! event_handler = address of entry mask of recovery event routine ! tm_log_id = address TM log identifier ! tid = address of transaction identifier ! node = address of node name descriptor ! rm_context = value to be passed via event block to event_handler ! acmode = value of access mode in which event ASTs should be delivered ! max_events = value of maximum number of events to be queued concurrently ! INTEGER*4 SYS$RECOVER EXTERNAL SYS$RECOVER INTEGER*4 SYS$RECOVERW EXTERNAL SYS$RECOVERW ! ! $SET_DEFAULT_TRANS ! ! Set up the process default transaction ! ! $SET_DEFAULT_TRANS [efn], [flags], iosb [, [astadr], [astprm], ! ($SET_DEFAULT_TRANSW) [new_tid], [old_tid]] ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! new_tid = identifier of new process default transaction ! old_tid = identifier of superceded process default transaction ! INTEGER*4 SYS$SET_DEFAULT_TRANS EXTERNAL SYS$SET_DEFAULT_TRANS INTEGER*4 SYS$SET_DEFAULT_TRANSW EXTERNAL SYS$SET_DEFAULT_TRANSW ! ! $START_BITMAP ! ! Create and start a write bitmap ! ! $START_BITMAP handle_in, chan, devnam, name, cluster, flags, handle_out ! INTEGER*4 SYS$START_BITMAP EXTERNAL SYS$START_BITMAP ! ! $START_BRANCH ! ! Start a transaction branch ! ! $START_BRANCH [efn], [flags], iosb, [astadr], [astprm], ! ($START_BRANCHW) tid, tm_name, bid, [, [timout], [acmode], [tx_class]] ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! tid = transaction id for this branch ! tm_name = address of parent commit domain name descriptor ! bid = address of branch identifier ! timout = transaction execution time-out value ! acmode = access mode for $READY_TO_COMMIT call ! tx_class= user transaction class name ! INTEGER*4 SYS$START_BRANCH EXTERNAL SYS$START_BRANCH INTEGER*4 SYS$START_BRANCHW EXTERNAL SYS$START_BRANCHW ! ! $START_TRANS ! ! Start a new transaction ! ! $START_TRANS [efn], [flags], iosb [, [astadr], [astprm], ! ($START_TRANSW) [tid], [timout], [acmode], [tx_class]] ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! tid = identifier of transaction just started ! timout = transaction execution time-out value ! acmode = outermost access mode allowed to end the transaction ! tx_class= user transaction class name ! INTEGER*4 SYS$START_TRANS EXTERNAL SYS$START_TRANS INTEGER*4 SYS$START_TRANSW EXTERNAL SYS$START_TRANSW ! ! $TRANS_EVENT ! ! Start a new transaction ! ! $TRANS_EVENT [efn], [flags], iosb, [astadr], [astprm], ! ($TRANS_EVENTW) tid, rm_id, tx_event ! ! efn = event flag to be set at completion ! flags = operation flags ! iosb = address of a quadword I/O status block ! astadr = address of an entry mask of AST routine ! astprm = value to be passed to AST routine as an argument ! tid = identifier of transaction just started ! rm_id = value of resource manager identifier returned by $DECLARE_RM ! tx_event = transaction transition event ! INTEGER*4 SYS$TRANS_EVENT EXTERNAL SYS$TRANS_EVENT INTEGER*4 SYS$TRANS_EVENTW EXTERNAL SYS$TRANS_EVENTW ! $TSTCLUEVT ! ! Test Cluster Event Notification ! ! $TSTCLUEVT [handle], [acmode], [event] ! ! handle = address of handle ! ! acmode = access mode of AST ! ! event = code indicating type of event ! INTEGER*4 SYS$TSTCLUEVT EXTERNAL SYS$TSTCLUEVT ! PTD$CREATE ! ! Create a pseudo terminal ! ! PTD$CREATE CHAN, [ACMODE], [CHARBUFF], [BUFLEN], [HANGUP_AST], ! [HANGUP_ASTPRM], [AST_ACMODE], INADR ! ! CHAN = Address of word to receive channel number assigned ! ACMODE = Access mode associated with channel ! CHARBUFF = Address ofa 3 - 5 longword array containing device ! characteristics. ! BUFLEN = Length of characteristics buffer in bytes either ! 12, 16, or 20 ! ASTADR = Address of entry mask of AST routine ! ASTPRM = Value to be passed to AST routine ! AST_ACMODE = Access mode for whjich the AST is to be delivered ! INADR = Address of 2-longword array containing starting and ! ending virtual address of pages to be used as ! I/O buffers INTEGER*4 PTD$CREATE EXTERNAL PTD$CREATE ! PTD$READ ! ! Read data from the pseudo terminal ! ! PTD$READ(W) [EFN], CHAN, [ASTADR], [ASTPRM], READBUF, READBUF_LEN ! EFN = Number of event flag to set on completion ! CHAN = Word containing number of channel on which I/O is to be performed ! ASTADR = Address of entry mask of AST routine ! ASTPRM = Value to be passed to AST routine ! READBUF = Address character string to hold characters read ! READBUF_LEN = Number of character to be read from pseudo terminal INTEGER*4 PTD$READ EXTERNAL PTD$READ INTEGER*4 PTD$READW EXTERNAL PTD$READW ! PTD$WRITE ! ! Write data to the pseudo terminal ! ! PTD$WRITE CHAN, [ASTADR], [ASTPRM], WRTBUF, WRTBUF_LEN, ! [ECHOBUF], ECHOBUF_LEN] ! CHAN = Word containing number of channel on which I/O is to be performed ! ASTADR = Address of entry mask of AST routine ! ASTPRM = Value to be passed to AST routine ! WRTBUF = Address of character string containing character to write to ! pseudo terminal ! WRTBUF_LEN = Number of characters to write to pseudo terminal ! ECHOBUF = Address character string to hold characters read ! ECHOBUF_LEN = Number of character to be read from pseudo terminal INTEGER*4 PTD$WRITE EXTERNAL PTD$WRITE ! PTD$SET_EVENT_NOTIFICATION ! ! Enable or disable terminal event notification ASTs ! ! PTD$SET_EVENT_NOTIFICATION CHAN, ASTADR, [ASTPRM], [ACMODE], ! TYPE ! CHAN = Word containing number of channel on which I/O is to be performed ! ASTADR = Address of entry mask of AST routine ! ASTPRM = Value to be passed to AST routine ! ACMODE = Access mode for whjich the AST is to be delivered ! TYPE = Longword containing INTEGER*4 PTD$SET_EVENT_NOTIFICATION EXTERNAL PTD$SET_EVENT_NOTIFICATION ! PTD$CANCEL ! ! Cancel queued control connection read request(s) ! ! PTD$CANCEL CHAN ! ! CHAN = Word containing number of channel on which I/O is to be performed INTEGER*4 PTD$CANCEL EXTERNAL PTD$CANCEL ! PTD$DELETE ! ! Delete a pseudo terminal ! ! PTD$DELETE CHAN ! ! CHAN = Word containing number of channel on which I/O is to be performed INTEGER*4 PTD$DELETE EXTERNAL PTD$DELETE ! PTD$DECTERM_SET_PAGE_SIZE ! ! Change terminal page length and width ! ! PTD$DECTERM_SET_PAGE_SIZE CHAN, PAGE_LEN, PAGE_WIDTH ! ! CHAN = Word containing number of channel on which I/O is to be performed ! PAGE_LEN = Longword containing new page length of terminal ! PAGE_WIDTH = Longword containing new page width of terminal INTEGER*4 PTD$DECTERM_SET_PAGE_SIZE EXTERNAL PTD$DECTERM_SET_PAGE_SIZE ! $POSIX_FORK_CONTROL ! ! Control POSIX fork() operations ! ! $POSIX_FORK_CONTROL cntrl , [when] , [handler] , [arg] , [ac ! ! cntrl = constant defining what control routine is to do ! ! when = bit array of when handler is to be called ! ! handler= handler address ! ! arg = arg value that is passed back to the handler ! ! acmode = access mode at which to make the specified callback INTEGER*4 SYS$POSIX_FORK_CONTROL EXTERNAL SYS$POSIX_FORK_CONTROL ! $START_ALIGN_FAULT_REPORT ! ! Start user-image alignment fault reporting ! ! $START_ALIGN_FAULT_REPORT report_method, [report_buffer, buffer_length] ! ! report_method = either AFR$C_EXCEPTION or AFR$C_BUFFERED ! ! report_buffer = buffer to use to save alignment fault ! data if the BUFFERED method is specified. ! ! buffer_length = the size in bytes of the user buffer INTEGER*4 SYS$START_ALIGN_FAULT_REPORT EXTERNAL SYS$START_ALIGN_FAULT_REPORT ! $GET_ALIGN_FAULT_DATA ! ! Get alignment fault data from the collector. ! ! $GET_ALIGN_FAULT_DATA buffer, buffer_size, return_size ! ! buffer = Buffer in which to save the alignment fault ! data. ! ! buffer_size = The size in bytes of the user buffer ! ! return_size = Address of a longword in which to return the ! size of the alignment fault data found. INTEGER*4 SYS$GET_ALIGN_FAULT_DATA EXTERNAL SYS$GET_ALIGN_FAULT_DATA ! $STOP_ALIGN_FAULT_REPORT ! ! Stop user-image alignment fault reporting ! ! $STOP_ALIGN_FAULT_REPORT ! INTEGER*4 SYS$STOP_ALIGN_FAULT_REPORT EXTERNAL SYS$STOP_ALIGN_FAULT_REPORT ! $PERM_REPORT_ALIGN_FAULT ! ! Start process permanent alignment fault reporting. ! ! $PERM_REPORT_ALIGN_FAULT ! INTEGER*4 SYS$PERM_REPORT_ALIGN_FAULT EXTERNAL SYS$PERM_REPORT_ALIGN_FAULT ! $PERM_DIS_ALIGN_FAULT_REPORT ! ! Start process permanent alignment fault reporting. ! ! $PERM_DIS_ALIGN_FAULT_REPORT ! INTEGER*4 SYS$PERM_DIS_ALIGN_FAULT_REPORT EXTERNAL SYS$PERM_DIS_ALIGN_FAULT_REPORT ! $INIT_SYS_ALIGN_FAULT_REPORT ! ! Start system wide alignment fault reporting. ! ! $INIT_SYS_ALIGN_FAULT_REPORT match_table, buffer_size, flags ! ! match_table = Array of longwords used to restrict ! the alignment faults reported ! ! buffer_size = The number of bytes to use to save alignment ! fault data. ! flags = can be either 0 or AFR$M_USER_INFO ! INTEGER*4 SYS$INIT_SYS_ALIGN_FAULT_REPORT EXTERNAL SYS$INIT_SYS_ALIGN_FAULT_REPORT ! $GET_SYS_ALIGN_FAULT_DATA ! ! Get alignment fault data from the system wide collector. ! ! $GET_SYS_ALIGN_FAULT_DATA buffer, buffer_size, return_size ! ! buffer = Buffer in which to save the alignment fault ! data. ! ! buffer_size = The size in bytes of the user buffer ! ! return_size = Address of a longword in which to return the ! size of the alignment fault data found. INTEGER*4 SYS$GET_SYS_ALIGN_FAULT_DATA EXTERNAL SYS$GET_SYS_ALIGN_FAULT_DATA ! $STOP_SYS_ALIGN_FAULT_REPORT ! ! Stop system-wide alignment fault reporting ! ! $STOP_SYS_ALIGN_FAULT_REPORT ! INTEGER*4 SYS$STOP_SYS_ALIGN_FAULT_REPORT EXTERNAL SYS$STOP_SYS_ALIGN_FAULT_REPORT ! $RESCHED ! ! Request voluntary preemption of current process ! ! $RESCHED ! INTEGER*4 SYS$RESCHED EXTERNAL SYS$RESCHED ! ! $SCHED ! ! Control class scheduler ! ! $SCHED func, P1, P2, P3 ! ! func = function code (see CSHDEFS in STARLET) ! ! P1 = buffer address, AST entry point address, or 0 ! ! P2 = buffer length address or AST acmode or PID or 0 ! ! P3 = entry size of a single buffer element or 0 INTEGER*4 SYS$SCHED EXTERNAL SYS$SCHED ! ! $SIGNAL_ARRAY_64 ! ! Return address of 64-bit signal array. ! ! $SIGNAL_ARRAY_64 mcharg, sigarg_64 ! ! mcharg = address of the mechanism array ! ! sigarg_64 = 64-bit pointer to which the address of ! 64-bit signal array is written. INTEGER*4 SYS$SIGNAL_ARRAY_64 EXTERNAL SYS$SIGNAL_ARRAY_64 ! $AVOID_PREEMPT ! ! Enable/disable preemption avoidance ! ! $AVOID_PREEMPT enbflg ! ! enbflg = Avoid preempt enable indicator ! 0 -> disable 1 -> enable ! INTEGER*4 SYS$AVOID_PREEMPT EXTERNAL SYS$AVOID_PREEMPT ! $SETUP_AVOID_PREEMPT ! ! Enable/disable preemption avoidance underpinnings ! ! $SETUP_AVOID_PREEMPT enbflg ! ! enbflg = Avoid preempt enable indicator ! 0 -> disable 1 -> enable ! INTEGER*4 SYS$SETUP_AVOID_PREEMPT EXTERNAL SYS$SETUP_AVOID_PREEMPT ! ! $ICC_ACCEPT ! ! Accept an ICC connection ! ! $ICC_ACCEPT Conn_Handle ,[Accept_Buf] ,[Accept_Len] ! ,[User_Context] ,[Flags] ! ! Conn_Handle = Handle value associated with the Connection ! Accept_Buf = Address of user Accept data ! Accept_Len = Length of the accept data ! User_Context = User context value ! Flags = Flags argument ! INTEGER*4 SYS$ICC_ACCEPT EXTERNAL SYS$ICC_ACCEPT ! ! $ICC_CLOSE_ASSOC ! ! Close an ICC association ! ! $ICC_CLOSE_ASSOC Assoc_Handle ! ! Assoc_Handle = Handle representing the Association to close ! INTEGER*4 SYS$ICC_CLOSE_ASSOC EXTERNAL SYS$ICC_CLOSE_ASSOC ! ! $ICC_CONNECT[W] ! ! Initiate an ICC Connection attempt ! ! $ICC_CONNECT[W] IOS_ICC ,[astadr] ,[astprm] ,assoc_handle ! ,conn_hndl_A ,remote_assoc ,[remote_node] ! ,[user_context] ,[conn_buf] ,[conn_buf_len] ! ,[return_buf] ,[return_buf_len] ,[retlen_addr] ! ,[flags] ! ! ios_icc = address of a IOS_ICC (Connect version) ! astadr = address of entry mask of users' completion AST ! routine ! astprm = value to be passed to the AST routine as an ! argument ! Assoc_Handle = Handle representing the Association to close ! Conn_Hndl_A = Address to return the handle value of the ! opened Connection ! Remote_Assoc = Pointer to a descriptor describing the remote ! association name string ! Remote_Node = Pointer to a descriptor describing the remote ! node name string ! User_Context = User context value ! Conn_Buf = Address of a buffer containing Connect data ! Conn_Buf_Len = Length of the connect data in Conn_Buf ! Return_Buf = Address of a buffer for return data ! Return_Buf_Len = Length of the buffer available for return data ! Retlen_Addr = Address to receive the actual length of any ! return data ! Flags = Flags argument ! INTEGER*4 SYS$ICC_CONNECT EXTERNAL SYS$ICC_CONNECT INTEGER*4 SYS$ICC_CONNECTW EXTERNAL SYS$ICC_CONNECTW ! ! $ICC_DISCONNECT[W] ! ! Initiate an ICC Disconnection ! ! $ICC_DISCONNECT[W] conn_handle ,IOSB ,[astadr] ,[astprm] ! ,[disc_buf] ,[disc_buf_len] ! ! Conn_Handle = Handle representing the Connection to terminate ! iosb = Address of a quadword I/O status block ! astadr = Address of entry mask of users' completion AST ! routine ! astprm = Value to be passed to the AST routine as an ! argument ! Disc_Buf = Address of an optional buffer containing ! Disconnect data ! Disc_Buf_Len = Length of the disconnect data in Disc_Buf ! INTEGER*4 SYS$ICC_DISCONNECT EXTERNAL SYS$ICC_DISCONNECT INTEGER*4 SYS$ICC_DISCONNECTW EXTERNAL SYS$ICC_DISCONNECTW ! ! $ICC_REJECT ! ! Reject an ICC connection ! ! $ICC_REJECT Conn_Handle ,[Reject_Buf] ,[Reject_Buf_Len] ! ,[Reason] ! ! Conn_Handle = Handle value associated with the Connection ! Reject_Buf = Address of optional user Reject data ! Reject_Buf_Len = Length of the reject data ! Reason = Reason for the rejection ! INTEGER*4 SYS$ICC_REJECT EXTERNAL SYS$ICC_REJECT ! ! $ICC_OPEN_ASSOC ! ! Open an ICC association ! ! $ICC_OPEN_ASSOC assoc_handle ,[assoc_name] ,[logical_name] ! ,[logical_table] ,[conn_rtn] ,[disc_rtn] ! ,[recv_rtn] ,[maxflowbufcnt] ,[prot] ! ! Assoc_Handle = Address to return the handlevalue of the ! opened Association ! Assoc_Name = Pointer to a descriptor describing the ! association name string ! Logical_Name = Pointer to a descriptor describing a logical ! name for use by the ICC simple registry ! Logical_Table = Pointer to a descriptor describing a logical ! name table for use by the ICC simple registry ! Conn_Rtn = Address of the User's Connect AST routine ! Disc_Rtn = Address of the User's Disconnect AST routine ! Recv_Rtn = Address of the User's receive AST routine ! Maxflowbufcnt = Maximum number of pending inbound message ! buffers ! Prot = Default protection for association ! INTEGER*4 SYS$ICC_OPEN_ASSOC EXTERNAL SYS$ICC_OPEN_ASSOC ! ! $ICC_RECEIVE[W] ! ! Receive data over an ICC connection ! ! $ICC_RECEIVE[W] conn_handle ,ios_icc ,[astadr] ,[astprm] ! ,recv_buf ,recv_buf_len ! ! conn_handle = Handle representing the Connection the data ! is being transferred over ! ios_icc = Address of an I/O status block (16-byte ICC ! RECEIVE layout) ! astadr = Address of entry mask of users' completion AST ! routine ! astprm = Value to be passed to the AST routine as an ! argument ! recv_buf = Address of a buffer to receive the data ! recv_buf_len = Length of the buffer receiving the data ! INTEGER*4 SYS$ICC_RECEIVE EXTERNAL SYS$ICC_RECEIVE INTEGER*4 SYS$ICC_RECEIVEW EXTERNAL SYS$ICC_RECEIVEW ! ! $ICC_REPLY[W] ! ! Send a reply over an ICC connection ! ! $ICC_REPLY[W] conn_handle ,ios_icc ,[astadr] ,[astprm] ! ,reply_buf ,reply_len ! ! conn_handle = Handle representing the Connection the data is ! being transferred over ! ios_icc = Address of an I/O status block (8-byte ICC ! REPLY layout) ! astadr = Address of entry mask of users' completion AST ! routine ! astprm = Value to be passed to the AST routine as an ! argument ! reply_buf = Address of a buffer containing the data ! reply_len = Length of the data in reply_buf ! INTEGER*4 SYS$ICC_REPLY EXTERNAL SYS$ICC_REPLY INTEGER*4 SYS$ICC_REPLYW EXTERNAL SYS$ICC_REPLYW ! ! $ICC_TRANSCEIVE[W] ! ! ICC transceive operation ! ! $ICC_TRANSCEIVE[W] conn_handle ,ios_icc ,[astadr] ,[astprm] ! ,send_buf ,send_len ! ! conn_handle = Handle representing the Connection the data is ! being transferred over ! ios_icc = Address of an I/O status block (20-byte ICC ! TRANSCEIVE layout ) ! astadr = Address of entry mask of users' completion AST ! routine ! astprm = Value to be passed to the AST routine as an ! argument ! send_buf = Address of a buffer conta in ing the data ! send_len = Length of the data in send_buf ! INTEGER*4 SYS$ICC_TRANSCEIVE EXTERNAL SYS$ICC_TRANSCEIVE INTEGER*4 SYS$ICC_TRANSCEIVEW EXTERNAL SYS$ICC_TRANSCEIVEW ! ! $ICC_TRANSMIT[W] ! ! Transmit data over an ICC connection ! ! $ICC_TRANSMIT[W] conn_handle ,ios_icc ,[astadr] ,[astprm] ! ,send_buf ,send_len ! ! conn_handle = Handle representing the Connection the data is ! being transferred over ! ios_icc = Address of a quadword I/O status block ! astadr = Address of entry mask of users' completion AST ! routine ! astprm = Value to be passed to the AST routine as an ! argument ! send_buf = Address of a buffer conta in ing the data ! send_len = Length of the data in send_buf ! INTEGER*4 SYS$ICC_TRANSMIT EXTERNAL SYS$ICC_TRANSMIT INTEGER*4 SYS$ICC_TRANSMITW EXTERNAL SYS$ICC_TRANSMITW ! $PERSONA_QUERY ! ! Query Persona Information ! ! $PERSONA_QUERY persona, itmlst ! ! persona = address of longword holding persona identifier ! ! itmlst = address of list of item descriptors ! ! INTEGER*4 SYS$PERSONA_QUERY EXTERNAL SYS$PERSONA_QUERY ! $PERSONA_FIND ! ! Locate Persona With Characteristic ! ! $PERSONA_FIND persona, itmlst ! ! persona = address of longword holding persona identifier ! ! itmlst = address of list of item descriptors ! ! contxt = address of a context long word (used for iterative ! calls or a multi-entry item list) ! ! ! INTEGER*4 SYS$PERSONA_FIND EXTERNAL SYS$PERSONA_FIND ! $PERSONA_RESERVE ! ! Reserve Persona Slot For Delegation ! ! $PERSONA_RESERVE clientPID, persona ! ! clientPID = address of longword holding client's PID ! ! persona = address of longword holding persona identifier ! ! INTEGER*4 SYS$PERSONA_RESERVE EXTERNAL SYS$PERSONA_RESERVE ! $PERSONA_DELEGATE ! ! Delegate Persona To Another Process ! ! $PERSONA_DELEGATE serverPID, persona, input_id ! ! serverPID = address of longword holding server's PID ! ! persona = address of longword holding persona identifier reserved by server ! ! input_id = address of longword holding persona identifier to delegate ! INTEGER*4 SYS$PERSONA_DELEGATE EXTERNAL SYS$PERSONA_DELEGATE ! $PERSONA_EXTENSION_LOOKUP ! ! Find Extension on the system ! ! $PERSONA_EXTENSION_LOOKUP extensionName, extensionID ! ! extensionName = address of string descriptor of name ! ! extensionID = address of longword the ID is written to ! ! INTEGER*4 SYS$PERSONA_EXTENSION_LOOKUP EXTERNAL SYS$PERSONA_EXTENSION_LOOKUP ! $PERSONA_CREATE_EXTENSION ! ! Create Persona Extension ! ! $PERSONA_CREATE_EXTENSION persona, extensionID, buffer, length, flags ! ! persona = address of longword holding persona identifier ! ! extensionID = address of longword holding extension to create ! ! buffer = address of TLV buffer ! ! length = address of longword containing TLV size in bytes ! ! flags = address of a flags longword ! ! INTEGER*4 SYS$PERSONA_CREATE_EXTENSION EXTERNAL SYS$PERSONA_CREATE_EXTENSION ! $PERSONA_DELETE_EXTENSION ! ! Delete An Extension From A Persona ! ! $PERSONA_DELETE_EXTENSION persona, extensionID ! ! persona = address of longword holding persona identifier ! ! extensionID = address of longword holding extension to delete ! ! INTEGER*4 SYS$PERSONA_DELETE_EXTENSION EXTERNAL SYS$PERSONA_DELETE_EXTENSION ! $PERSONA_MODIFY ! ! Modify Persona ! ! $PERSONA_MODIFY persona, itmlst ! ! persona = address of longword holding persona identifier ! ! itmlst = address of list of item descriptors ! ! INTEGER*4 SYS$PERSONA_MODIFY EXTERNAL SYS$PERSONA_MODIFY ! ! $SET_PROCESS_PROPERTIES[W] ! ! Set a simple value associated with a process ! ! $SET_PROCESS_PROPERTIES[W] mbz1 ,pidadr ,prcnam ,property ! ,value, prev_value [,bufsiz] [,bufcnt] ! ! mbz1 = Reserved for future use by Digital. Must ! be specified as 0. ! pidadr = For system service logging, the address of ! the PID of the target process. Otherwise, 0. ! prcnam = For system service logging, the address of ! the process name descriptor of the target ! process. Otherwise, must be 0. ! property = A constant that selects which property to set ! value = A quadword value to set the property to ! prev_value = The address of a quadword which will receive the ! previous value of the property ! bufsiz = For PPROP$C_SS_ENABLE, the size in bytes of a log buffer ! bufcnt = For PPROP$C_SS_ENABLE, the number of log buffers ! flags = for PPROP$C_SS_ENABLE, the associated flags ! INTEGER*4 SYS$SET_PROCESS_PROPERTIES EXTERNAL SYS$SET_PROCESS_PROPERTIES INTEGER*4 SYS$SET_PROCESS_PROPERTIESW EXTERNAL SYS$SET_PROCESS_PROPERTIESW ! SYS$ACQUIRE_GALAXY_LOCK ! ! $ACQUIRE_GALAXY_LOCK lock_handle,timeout,flags ! ! lock_handle - GLOCK handle ! timeout - timeout value in 10 microsecond units ! flags - flags INTEGER*4 SYS$ACQUIRE_GALAXY_LOCK EXTERNAL SYS$ACQUIRE_GALAXY_LOCK ! SYS$CREATE_GALAXY_LOCK ! ! $CREATE_GALAXY_LOCK lcktbl_handle,name,size,timeout,ipl,rank,lock_handle ! ! lcktbl_handle - handle of lock table in which to create the lock ! name - pointer to name of lock; 16 bytes. ASCIZ or Descriptor ! size - size of lock ! timeout - wait timeout value in 10 micro second units ! ipl - IPL to raise to when lock is acquired (kernel mode only) ! rank - rank of lock ! lock_handle - lock handle ! ! INTEGER*4 SYS$CREATE_GALAXY_LOCK EXTERNAL SYS$CREATE_GALAXY_LOCK ! SYS$CREATE_GALAXY_LOCK_TABLE ! ! $CREATE_GALAXY_LOCK_TABLE name,accmode,section_size,section_type,prot,lock_size,lcktbl_handle ! ! name - pointer to name of section; 16 bytes. ASCIZ or Descriptor ! accmode - access mode ! section_size - virtual size of the section (bytes) ! section_type - glcktbl$c_process | glcktbl$c_system ! prot - page protection ! lock_size - size of locks in the section ! lcktbl_handle - handle of lock table ! INTEGER*4 SYS$CREATE_GALAXY_LOCK_TABLE EXTERNAL SYS$CREATE_GALAXY_LOCK_TABLE ! SYS$DELETE_GALAXY_LOCK ! ! $DELETE_GALAXY_LOCK lock_handle ! ! lock_handle - lock handle ! INTEGER*4 SYS$DELETE_GALAXY_LOCK EXTERNAL SYS$DELETE_GALAXY_LOCK ! SYS$DELETE_GALAXY_LOCK_TABLE ! ! $DELETE_GALAXY_LOCK_TABLE lcktbl_handle ! ! lcktbl_handle - handle of lock table ! INTEGER*4 SYS$DELETE_GALAXY_LOCK_TABLE EXTERNAL SYS$DELETE_GALAXY_LOCK_TABLE ! SYS$GET_GALAXY_LOCK_INFO ! ! $GET_GALAXY_LOCK_INFO lcktbl_handle,name,timeout,size,ipl,rank,lock_handle, name_length ! ! lock_handle - lock handle ! name - pointer to name of lock; 16 bytes, zero terminated ! timeout - wait timeout value in 10 micro second units ! size - size of lock ! ipl - IPL to raise to when lock is acquired (kernel mode only) ! rank - rank of lock ! flags - flags from lock ! name_length - pointer to a word where the length of the name will be returned ! INTEGER*4 SYS$GET_GALAXY_LOCK_INFO EXTERNAL SYS$GET_GALAXY_LOCK_INFO ! SYS$GET_GALAXY_LOCK_SIZE ! ! $GET_GALAXY_LOCK_SIZE min_size, max_size ! ! min_size - minimum size of a galaxy lock ! max_size - maximum size of a galaxy lock ! INTEGER*4 SYS$GET_GALAXY_LOCK_SIZE EXTERNAL SYS$GET_GALAXY_LOCK_SIZE ! SYS$INIT_GALAXY_LOCK ! ! $INIT_GALAXY_LOCK va,name,size,timeout,ipl,rank,lock_handle ! ! va - local va of memory to be initialized ! name - pointer to name of lock; 16 bytes, zero terminated ! size - size of lock ! timeout - wait timeout value in 10 micro second units ! ipl - IPL to raise to when lock is acquired (kernel mode only) ! rank - rank of lock ! lock_handle - lock handle ! ! INTEGER*4 SYS$INIT_GALAXY_LOCK EXTERNAL SYS$INIT_GALAXY_LOCK ! SYS$INIT_GALAXY_LOCK_TABLE ! ! $INIT_GALAXY_LOCK_TABLE region_va,reg_phys_size,reg_virt_size,section_type,lock_size,lcktbl_handle ! ! region_va - local va of shared memory region where the locks reside ! reg_phys_size - physical size of the region (bytes) ! reg_virt_size - virtual size of the region (bytes) ! section_type - glcktbl$c_process | glcktbl$c_system ! lock_size - size of locks in the section ! lcktbl_handle - handle of lock table ! INTEGER*4 SYS$INIT_GALAXY_LOCK_TABLE EXTERNAL SYS$INIT_GALAXY_LOCK_TABLE ! SYS$RELEASE_GALAXY_LOCK ! ! $RELEASE_GALAXY_LOCK lock_handle ! ! lock_handle - lock handle ! INTEGER*4 SYS$RELEASE_GALAXY_LOCK EXTERNAL SYS$RELEASE_GALAXY_LOCK ! SYS$RESET_GALAXY_LOCK ! ! $RESET_GALAXY_LOCK lock_handle ! ! lock_handle - lock handle ! lock_va - local address of lock ! INTEGER*4 SYS$RESET_GALAXY_LOCK EXTERNAL SYS$RESET_GALAXY_LOCK ! SYS$WAIT_ON_GLOCK ! ! $WAIT_ON_GLOCK lock_handle,timeout ! ! lock_handle - lock handle ! timeout - timeout value; overrides the value in the lock ! INTEGER*4 SYS$WAIT_ON_GLOCK EXTERNAL SYS$WAIT_ON_GLOCK ! SYS$NOTIFY_GLOCK_WAITERS ! ! $NOTIFY_GLOCK_WAITERS lock_handle,waiters ! ! lock_handle - lock handle ! waiters - bitmask of galaxy nodes with waiters for this lock ! INTEGER*4 SYS$NOTIFY_GLOCK_WAITERS EXTERNAL SYS$NOTIFY_GLOCK_WAITERS ! $QIOSERVER ! ! QIOserver Control and Information ! ! $QIOSERVER [efn], func, [context], [itmlst], ! ($QIOSERVERW) [iosb], [astadr], [astprm] ! ! efn = event flag to be set when request completes ! func = code specifying function to be performed ! context = address of a longword containing a context number ! itmlst = address of a list of item descriptors for the operation ! iosb = address of a quadword status block to receive the final status ! astadr = address of an ast routine to be called when request completes ! astprm = 32-bit (VAX) or 64-bit (ALPHA) ast parameter ! INTEGER*4 SYS$QIOSERVER EXTERNAL SYS$QIOSERVER INTEGER*4 SYS$QIOSERVERW EXTERNAL SYS$QIOSERVERW ! $DEVICE_PATH_SCAN ! ! SCAN Device Path Information ! ! $DEVICE_PATH_SCAN [chan] ,[devnam] ,itmlst ,[contxt] ,[nullarg] ! ! chan = number of a channel assigned to the device or ! 0 if device is specified by the devnam parameter ! ! devnam = address of device name or logical name descriptor ! ! itmlst = address of a list of item descriptors ! ! contxt = address of long word used to indicate current position of $DEVICE_PATH_SCAN ! ! nullarg = reserved argument ! ! INTEGER*4 SYS$DEVICE_PATH_SCAN EXTERNAL SYS$DEVICE_PATH_SCAN ! $SET_DEVICE ! $SET_DEVICEW ! ! SET Device Information ! ! $SET_DEVICE [efn] ,[chan] ,[devnam] ,itmlst ,[iosb] ,[astadr], ! $SET_DEVICEW [astprm] ,[nullarg] ! ! efn = event flag to be set at completion ! ! chan = number of a channel assigned to the device or ! 0 if device is specified by the devnam parameter ! ! devnam = address of device name or logical name descriptor ! ! itmlst = address of a list of item descriptors ! ! iosb = address of a quadword I/O status block ! ! astadr = address of entry mask of AST routine ! ! astprm = value to be passed to AST routine ! ! nullarg = reserved argument ! ! INTEGER*4 SYS$SET_DEVICE EXTERNAL SYS$SET_DEVICE INTEGER*4 SYS$SET_DEVICEW EXTERNAL SYS$SET_DEVICEW ! ! $IO_TRANSITION ! $IO_TRANSITIONW ! ! IO State Transitions ! ! $IO_TRANSITION tran_code,devnam,[nodename],[node_id],flags,efn,iosb,astadr,astprm ! $IO_TRANSITIONW tran_code,devnam,[nodename],[node_id],flags,efn,iosb,astadr,astprm ! ! Parameters: ! tran_code - Transition code of operation to be initiated ! devnam - CPU ID of processor to affected ! nodename - ASCII descriptor name equivalent to node ID ! node_id - Galactic node ID ! flags - Quadword pointer to longword behavioral flags ! efn - Event flag number for completion notification ! iosb - IOSB block address for completion notification ! astadr - Address of AST routine name on completion ! astprm - AST parameter to be passed back on completion ! contxt - Context longword ! INTEGER*4 SYS$IO_TRANSITION EXTERNAL SYS$IO_TRANSITION INTEGER*4 SYS$IO_TRANSITIONW EXTERNAL SYS$IO_TRANSITIONW ! SYS$MAP_UIC ! ! $MAP_UIC uic, uid, gid ! ! uic - address of the UIC to look up mapping for ! uid - address of cell to write matching UID into ! gid - address of cell to write matching GID into ! INTEGER*4 SYS$MAP_UIC EXTERNAL SYS$MAP_UIC ! SYS$MAP_UID ! ! $MAP_UIC uid, uic, username, retlen ! ! uid - address of the UID to look up mapping for ! uid - address of cell to write matching UIC into ! username - address of a string descriptor to write matching username into ! retlen - address of a word to write the length of the username into ! INTEGER*4 SYS$MAP_UID EXTERNAL SYS$MAP_UID ! SYS$SET_SESSION_ID - Create new POSIX session ! ! $SET_SESSION_ID sid ! ! sid - address of a longword written with the newly created Session ID. ! INTEGER*4 SYS$SET_SESSION_ID EXTERNAL SYS$SET_SESSION_ID ! SYS$SET_PROCESS_GROUP - Create or change POSIX process group ! ! $SET_PROCESS_GROUP pid, pgid, retpgid ! ! pid - address of a PID that is the target of this call ! pgid - address of a longword Process Group ID (also a PID) to have target join ! retpgid - address of a longword written with PGID of a new group (also a PID) ! INTEGER*4 SYS$SET_PROCESS_GROUP EXTERNAL SYS$SET_PROCESS_GROUP ! SYS$SET_POSIX_IDS - Set POSIX UID and GID values ! ! $SET_POSIX_IDS itmlst, flags ! ! itlmst - address of an item list 3 of POSIX ID values to set ! flags - flags signed longword, by value ! INTEGER*4 SYS$SET_POSIX_IDS EXTERNAL SYS$SET_POSIX_IDS ! SYS$LOG_SYSTEM_SERVICE - Log system service request ! ! $LOG_SYSTEM_SERVICE logtype, [bufseqnum], [logentry], [service_status], [service_ra], ! [arglist_add],[vector_index], [prev_mode] ! ! logtype - type of log entry, e.g., SSLOG$C_SS_ENTRY ! bufseqnum - address to store/fetch longword sequence number assoc. ! with log's buffer ! logentry - address to fetch/store 64-bit log buffer entry address ! service_status - completion status of service being logged ! service_ra - address corresponding to return address from call to ! service being logged ! arglist_add - address of VAX-style argument list to service being logged ! vector_index - position of system service vector in SYS$PUBLIC_VECTORS of ! service being logged ! prev_mode - mode from which service being logged was called INTEGER*4 SYS$LOG_SYSTEM_SERVICE EXTERNAL SYS$LOG_SYSTEM_SERVICE ! ! $GETLMI ! $GETLMIW ! ! Get License Management Information ! ! $GETLMI efn, contxt, 0, itmlst, iosb, astadr, astprm ! $GETLMIW efn, contxt, 0, itmlst, iosb, astadr, astprm ! Inputs: ! efn - Event flag number. (optional, by value) ! contxt - Context block used for subsequent calls for wildcard license type. (optional by refer ! contxt - Context block used for subsequent calls for wild ! reserved - String passed by descriptor. May be used for nodename in the future. (optional, by de ! reserved - String passed by descriptor. May be used for nod ! itmlst - Item list containing information to fully describe the requested function. (required, ! itmlst - Item list containing information to fully descri ! iosb - I/O status block. (optional, by reference) ! astadr - AST routine to be delivered and executed in the caller's mode. (optional, by reference) ! astprm - AST parameter for the AST routine. (optional, by value) ! INTEGER*4 SYS$GETLMI EXTERNAL SYS$GETLMI INTEGER*4 SYS$GETLMIW EXTERNAL SYS$GETLMIW ! ! $SETLMI ! $SETLMIW ! ! Set License Management Information ! ! $SETLMI efn, contxt, 0, itmlst, iosb, astadr, astprm ! $SETLMIW efn, contxt, 0, itmlst, iosb, astadr, astprm ! Inputs: ! efn - Event flag number. (optional, by value) ! contxt - Context block used for subsequent calls for wildcard license type. (optional by refer ! contxt - Context block used for subsequent calls for wild ! reserved - String passed by descriptor. May be used for nodename in the future. (optional, by de ! reserved - String passed by descriptor. May be used for nod ! itmlst - Item list containing information to fully describe the requested function. (required, ! itmlst - Item list containing information to fully descri ! iosb - I/O status block. (optional, by reference) ! astadr - AST routine to be delivered and executed in the caller's mode. (optional, by reference) ! astprm - AST parameter for the AST routine. (optional, by value) ! INTEGER*4 SYS$SETLMI EXTERNAL SYS$SETLMI INTEGER*4 SYS$SETLMIW EXTERNAL SYS$SETLMIW ! ! $IEEE_SET_ROUNDING_MODE ! $IEEE_SET_PRECISION_MODE ! ! Set and retrieve the IEEE rounding/precision mode for the current kernel thread ! ! $IEEE_SET_ROUNDING_MODE( value, prev_value ) ! ! value = A longword constant specifying the rounding mode for the thread ! prev_value = The address of a longword which will receive the ! previous rounding mode ! INTEGER*4 SYS$IEEE_SET_ROUNDING_MODE EXTERNAL SYS$IEEE_SET_ROUNDING_MODE INTEGER*4 SYS$IEEE_SET_PRECISION_MODE EXTERNAL SYS$IEEE_SET_PRECISION_MODE ! $DEBUG_BREAK ! ! Manipulate hardware debug resources ! ! $DEBUG_BREAK func, handle, addr, addr_mask, mode_mask, access_mask ! ! func = what function to perform ! ! handle = address of handle ! ! addr = address to be debugged ! ! addr_mask = which bits in the address are significant ! ! mode_mask = which mode(s) are to generate an exception ! ! access_mask = are we monitoring reads or writes? INTEGER*4 SYS$DEBUG_BREAK EXTERNAL SYS$DEBUG_BREAK !DEC$ END OPTIONS