Marc's Place

DIBIOL/DBL - DBL$ Subroutines

The Run-Time System Subroutine Library (RTSL) contains subroutines which exist only as
part of VAX DIBOL.

DBL$ASTRST

       DBL$ASTRST restores the contents of work areas used by a DIBOL
       subroutine executed as the result of an AST (asynchronous system
       trap).  See DBL$ASTSAV for an example.

          XCALL DBL$ASTRST


DBL$ASTSAV

       DBL$ASTSAV saves the contents of work areas used by a DIBOL
       subroutine executed as the result of an AST (asynchronous system
       trap).  See DBL$ASTRST.

          XCALL DBL$ASTSAV

          external function
                    SYS$BINTIM, %val
                    SYS$SETIMR, %val

          common
                    bintim, i8

          record
                    status, i4
                    cnt,      i1
                    sucess, i1

          Proc
                    status = SYS$BINTIM ('0 ::10', %ref(bintim))  ; Convert 10 sec to Bin.
                    if %SUCCESS(status) begin
                              status = SYS$SETIMR (,%ref(bintim), %xtrnl(TIMSUB),)
                    end

                    if %SUCCESS(status) then
                              for cnt from 1 thru 100
                              begin
                                        display (1, 10, 'Main -- count = ', cnt, 13)
                                        sleep 1
                              end
                    else
                              display (1, 10, 'Error #', %hex(status), 13)

                    ...

          subroutine TIMSUB

          common
                    bintim, i8

          Proc
                    xcall DBL$ASTSAV     ; Save area contents
                    display (1, 10, 'AST -- Time is now ', %time<format: "XX:XX:XX">, 13)
                    xcall SYS$SETIMR (,%ref(bintim),%xtrnl(TIMSUB),)
                    xcall DBL$ASTRST      ; Restore area contents
          xreturn


DBL$BKSTR (zie %BKSTR)

       DBL$BKSTR returns the location of the last occurrence of a substring
       within a string.

          XCALL DBL$BKSTR (strt, strng, substrng, lctn)


DBL$CHOPEN (zie %CHOPEN)

       DBL$CHOPEN returns a flag indicating whether the specified channel is
       open (flag = 1) or closed (flag = 0).

          XCALL DBL$CHOPEN (ch, flag)


DBL$CPUTM (zie %CPUTIME)

       DBL$CPUTM returns the CPU time accumulated by the process.

          XCALL DBL$CPUTM (time)


DBL$CREMBX

       DBL$CREMBX creates a mailbox and opens it on the specified channel.

          XCALL  DBL$CREMBX(ch{,lognam}{,prmflg}{,maxmsg}
               {,bufquo}{,promsk}{,acmode},waitcd)


 DBL$DELMBX

       DBL$DELMBX closes and deletes the mailbox on the specified channel.

          XCALL DBL$DELMBX (ch)


DBL$DEVCLT

       DBL$DEVCLT returns the class and type of a device.

          XCALL DBL$DEVCLT ({ch}{,devspc}{,priclass}{,pritype}{,seclass}
                            {,sectype})


DBL$ERRMOD (zie %ERRMOD)

       DBL$ERRMOD returns the name of the module in which the most recent
       error occurred.

          XCALL DBL$ERRMOD ({afield}{,nfield})


DBL$ERRTXT

       DBL$ERRTXT returns the text of a DIBOL run-time error message.

          XCALL DBL$ERRTXT (errnum, buffer {,{length} {,{txtpos}}})


DBL$EXECUTE_IMAGE_ROUTINE

       EXECUTE_IMAGE_ROUTINE executes a routine contained in a shareable image.
       The shareable image does not have to be linked with the user program.

            XCALL DBL$EXECUTE_IMAGE_ROUTINE (filename, rtnname, arglist)

       arglist: First argument must be a %VAL(nargs).


DBL$EXITERROR

       DBL$EXITERROR generates the specified DIBOL error and causes an exit
       from an external subroutine.

          XCALL DBL$EXITERROR (errnum)


DBL$GETDFN

       DBL$GETDFN returns the current default file specification in use by
       the DIBOL run-time library.

          XCALL DBL$GETDFN (filespec{,option})


DBL$GETFNM

       DBL$GETFNM returns the specification of a file.

          XCALL DBL$GETFNM (ch, name {,size})


DBL$PARSE

       DBL$PARSE extracts the component elements of a file specification.

          XCALL DBL$PARSE (filespec,{flag}{,node{,{dev}{,{dir}{,{name}
                          {,{ext}{,{ver}{,{expname}}}}}}}})


DBL$SETCTL

       DBL$SETCTL modifies the operation of control characters that are
       input from the terminal.

          XCALL DBL$SETCTL (char,action{,char,action}...)

          char          action

            'C'                0 = Ignore ^C
                                1 = Generate trappable error
                                2 = Generate fatal error

            'T'                0 = Disable ^T
                                1 = Enable ^T

            'Y'                0 = Disable DCL break, Ignore ^Y
                                1 = Disable DCL break, Generate trappable error
                                2 = Disable DCL break, Generate fatal error
                                3 = Enable DCL break, Ignore ^Y
                                4 = Enable DCL break, Generate trappable error
                                5 = Enable DCL break, Generate fatal error
                                6 = Use current DCL break setting, ignore error
                                7 = Use current DCL break setting, Generate trappable error
                                8 = Use current DCL break setting, Generate fatal error

DBL$SETDFN

       DBL$SETDFN sets the default file specification of the DIBOL Run-Time
       Library (RTL).

          XCALL DBL$SETDFN (filespec {,option})


DBL$SETKRF

       DBL$SETKRF sets the key of reference to be used for subsequent
       indexed sequential READS from the same channel.

          XCALL DBL$SETKRF (ch , keynum)


DBL$SNDOP

       DBL$SNDOP sends a message to the system operator.

          XCALL DBL$SNDOP (message)


DBL$TIMOUT

       DBL$TIMOUT sets the number of seconds a READS or ACCEPT waits for
       input from a terminal on the specified channel.

          XCALL DBL$TIMOUT (ch, seconds)


DBL$TTBRDCST

       DBL$TTBRDCST allows a program to "trap" messages broadcast to a
       terminal and optionally allows a routine to be executed as an AST
       when a message is trapped.

          XCALL DBL$TTBRDCST (ch, option {,%XTRNL(AST)})

         Valid option values are:

            0    Allow messages to display on the terminal.
            1    Do not allow messages to display on the terminal.
            2    Do not allow messages to display on the terminal AND execute
                  the AST if a message is broadcast.


DBL$TTCHAR

       DBL$TTCHAR returns the type, lines (per page), width (characters),
       and other attributes (48 pos) of the specified terminal. Include TTCHAR from
       library SYS$LIBRARY:DBLTEXT.TLB

          XCALL DBL$TTCHAR (ch {,{type}{,{lines}{,{width}{,{attribute}}}}})


DBL$TTNAME (zie %TTNAME)

       DBL$TTNAME returns the name of the terminal at which the program is
       running.

          XCALL DBL$TTNAME (name)


DBL$TT_NAME_TO_NUMBER (zie %TNMBR)

       DBL$TT_NAME_TO_NUMBER converts a VMS terminal name to its equivalent
       DIBOL terminal number.

          XCALL DBL$TT_NAME_TO_NUMBER (ttname, ttnmbr)


DBL$TT_NUMBER_TO_NAME (zie %TTNAME)

       DBL$TT_NUMBER_TO_NAME converts a DIBOL terminal number to its
       equivalent VMS terminal name.

          XCALL DBL$TT_NUMBER_TO_NAME (ttnmbr, ttname)


DBL$WKDAY (zie %WKDAY)

       DBL$WKDAY returns a decimal value that identifies the day of the
       week.

          XCALL DBL$WKDAY (nfield)


DBL$XARGS (zie %NUMARGS en %PASSED)

       DBL$XARGS returns the number of arguments with which the calling
       DIBOL subroutine was called and an array of flags indicating whether
       the corresponding subroutine arguments was passed (flag = 1) or
       omitted (flag = 0).

          XCALL DBL$XARGS ({numargs},{argflags})


DBL$XSTAT

       DBL$XSTAT returns the return status value from the most recent XCALL.

          XCALL DBL$XSTAT ({full}{,{bit0}{,{sev}{,{msg}{,{fac} {,{ctl}}}}}})



Obsolete DBL$ Routines and the new syntax

DBL$CVTIIV

       DBL$CVTIIV moves an integer binary value to a specified field, with
       no data type conversion.

          V3 Syntax:

             EXTERNAL LITERAL
                DVI$_DEVNAM, I
             RECORD
                DEVNAM,  I2
             PROC
                DEVNAM = DVI$_DEVNAM

             or

             RECORD
                DEVNAM, I2, %XTRNL(DVI$_DEVNAM)


DBL$CVTIZ

       DBL$CVTIZ converts an integer binary value to a zoned numeric value
       (D-field).

          V3 Syntax:

             RECORD
                D_FIELD,    D5
                INT_FIELD,  I2
             PROC
                D_FIELD = INT_FIELD


DBL$CVTIZV

       DBL$CVTIZV converts an integer binary value, which is passed by
       value, to a zoned numeric value (D-field).

          V3 Syntax:

             EXTERNAL LITERAL
                FAB$M_SUP,  I
             RECORD
                SUPERSEDE,  D10
             PROC
                SUPERSEDE = FAB$M_SUP


DBL$CVTZI

       DBL$CVTZI converts a zoned numeric value (D-field) to an integer
       binary value.

          V3 Syntax:

             RECORD
                INT_FIELD, I4
             PROC
                INT_FIELD = numbers


DBL$EXITSUB

       DBL$EXITSUB causes an exit from the external subroutine currently
       being executed, and returns control to the calling program.  A status
       can also be returned to the calling program.

          V3 Syntax:

             XRETURN {value}


DBL$EXITSUB_VAL

       DBL$EXITSUB_VAL causes an exit from the external subroutine currently
       being executed, and returns control to the calling program.  A status
       can also be returned to the calling program.  The exit status is
       passed by value.

          V3 Syntax:

             EXTERNAL LITERAL
                $$$_NORMAL,    I
             PROC
                XRETURN ($$$_NORMAL)

             or

             RECORD
                STATUS,  I, %XTRNL(SS$_NORMAL)
             PROC
                XRETURN (STATUS)


DBL$IXREAD

       DBL$IXREAD retrieves a specific record from an indexed file.

          V3 Syntax:

             READ (ch, record, keyfld, KEYNUM:num)


DBL$POSRFA

       DBL$POSRFA positions a file to a record which is specified in an RFA
       (Record File Address).

       This routine is typically used to process files produced by one of
       the SORT utilities; DBLSORT with TAGS:RFA or VAX-11 SORT/MERGE with
       the /PROCESS=ADDRESS qualifier.  The keynum argument may be used to
       set the key of reference for a subsequent indexed sequential READS.

          V3 Syntax:

          FIND (ch, RFA:rfaddr)
© 1997- Marc Vos (and others) Contact Me