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)