7P#$LD051.A#<@LD051.ABACKUP/NOASSIST/NODISMOUNT/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY [.KIT]*.* USER2:[VDBURG.LD.FWARE]LD051.A/LABEL=(LD)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure VDBURG !H=@mV6.1 _UTRYIT::  _$1$DUA101: V6.1 $"*[VDBURG.LD.FWARE.KIT]BIGDISK.COM;1+,. /!H 4G R-MO0123KPWO 56@,m7݇om89G!HHJ$! create a bigggg disk$!F$! Volset STA DSA LDA LabelG$!---------------------------------------------------------------------7$! LDA1D$! DSA10 ST07$! LDA2$! STA207$! LDA3D$! DSA11 ST17$! LDA4 $! VOLSET7$! LDA5D$! DSA12 ST27$! LDA6$! STA217$! LDA7D$! DSA13 ST37$! LDA8$!"$ if f$getsyi("alloclass") .eqs. 0$ then?$ write sys$output "An Allocation calls needs to be defined!"$ exit$ endif$ set proc/priv=all $ size = 4096<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld1.dsk<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld2.dsk<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld3.dsk<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld4.dsk<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld5.dsk<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld6.dsk<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld7.dsk<$ ld create/log/nobackup/size='size' $8$dia0:[000000]ld8.dsk*$ ld conn/log $8$dia0:[000000]ld1.dsk lda1*$ ld conn/log $8$dia0:[000000]ld2.dsk lda2*$ ld conn/log $8$dia0:[000000]ld3.dsk lda3*$ ld conn/log $8$dia0:[000000]ld4.dsk lda4*$ ld conn/log $8$dia0:[000000]ld5.dsk lda5*$ ld conn/log $8$dia0:[000000]ld6.dsk lda6*$ ld conn/log $8$dia0:[000000]ld7.dsk lda7*$ ld conn/log $8$dia0:[000000]ld8.dsk lda8$ ld trace/size=50 lda1$ ld trace/size=50 lda2$ ld trace/size=50 lda3$ ld trace/size=50 lda4$ ld trace/size=50 lda5$ ld trace/size=50 lda6$ ld trace/size=50 lda7$ ld trace/size=50 lda8 $ ld show/all$ init/nohigh/system lda1: st0$ init/nohigh/system lda2: st0$ init/nohigh/system lda3: st1$ init/nohigh/system lda4: st1$ init/nohigh/system lda5: st2$ init/nohigh/system lda6: st2$ init/nohigh/system lda7: st3$ init/nohigh/system lda8: st3)$ stripe init/noconfirm lda1,lda3 st0,st1)$ stripe init/noconfirm lda5,lda7 st2,st3$ dismount lda1$ dismount lda3$ dismount lda5$ dismount lda7@$ mount/system dsa10:/shadow='f$getdvi("lda1:","alldevnam")' st0@$ mount/system dsa11:/shadow='f$getdvi("lda3:","alldevnam")' st1&$ stripe bind dsa10,dsa11/device=sta20@$ mount/system dsa12:/shadow='f$getdvi("lda5:","alldevnam")' st2@$ mount/system dsa13:/shadow='f$getdvi("lda7:","alldevnam")' st3&$ stripe bind dsa12,dsa13/device=sta21@$ mount/system dsa10:/shadow='f$getdvi("lda2:","alldevnam")' st0@$ mount/system dsa11:/shadow='f$getdvi("lda4:","alldevnam")' st1@$ mount/system dsa12:/shadow='f$getdvi("lda6:","alldevnam")' st2@$ mount/system dsa13:/shadow='f$getdvi("lda8:","alldevnam")' st3$ init/nohig sta20: vset0$ init/nohig sta21: vset1<$ mount/system/bind=bigdisk sta20,sta21: vset0,vset1 bigdisk$ ld show/trace/status lda1$ ld show/trace/status lda2$ ld show/trace/status lda3$ ld show/trace/status lda4$ ld show/trace/status lda5$ ld show/trace/status lda6$ ld show/trace/status lda7$ ld show/trace/status lda8$$ ld show/trace/output=lda1.log lda1$$ ld show/trace/output=lda2.log lda2$$ ld show/trace/output=lda3.log lda3$$ ld show/trace/output=lda4.log lda4$$ ld show/trace/output=lda5.log lda5$$ ld show/trace/output=lda6.log lda6$$ ld show/trace/output=lda7.log lda7$$ ld show/trace/output=lda8.log lda8$*[VDBURG.LD.FWARE.KIT]KITINSTAL.COM;1+,,. /!H 4Y -MO0123KPWO 56Tl7=6zm89G!HHJ$ !4$ ! K I T I N S T A L . C O M $ !3$ ! Copyright 1993, 1994 by=$ ! Digital Equipment Corporation, Maynard<$ ! Massachusetts. All rights reserved.$ !J$ ! This software is furnished under a license and may be used and copiedM$ ! only in accordance with the terms of such license and with the inclusionF$ ! of the above copyright notice. This software or any other copiesI$ ! thereof may not be provided or otherwise made available to any otherN$ ! person. No title to and ownership of the software is hereby transferred.$ !M$ ! The information in this software is subject to change without notice andN$ ! should not be construed as a commitment by Digital Equipment Corporation.$ !H$ ! Digital assumes no responsibility for the use or reliability of its;$ ! software on equipment that is not supplied by Digital.$ !N$ !***************************************************************************$ !$ !*$ on control_y then vmi$callback control_y$ on error then goto error$!$ say = "write sys$output".$ if p1 .eqs. "VMI$_INSTALL" then goto install$ exit vmi$_unsupported$! $install:$$!$ say "":$ say " Installing Logical Disk Utility version V5.1"$ say ""$!$ vmi$callback set purge ask$!E$ vmi$callback check_vms_version version_check "055" ! minimum needed$ !$ if .not. version_check$ then&$ vmi$callback message e incvmsver -? "This installation requires at least VMS version V5.5"$ exit vmi$_failure$ endif$ !$ platform = "vax"&$ platform_type = f$getsyi("hw_model")4$ if platform_type .gt. 1023 then platform = "alpha"$ if platform .eqs. "alpha"$ then$$ vmi$callback message e incarch -5 "This product is not yet supported on Alpha"$ exit vmi$_failure$ endif$!-$ vms_type = f$element(0,",",vmi$vms_version)0$ vms_version = f$element(1,",",vmi$vms_version):$ full_vms_version = f$element(1,",",vmi$full_vms_version)$ driver = "lddriver_v60"9$ if vms_version .eqs. "055" then driver = "lddriver_v55"$ !$ say ""$ set on$ on error then goto error!$ on severe_error then goto errorD$ vmi$callback message i linking "Linking the LD management utility"+$ link/nodebug/notrace/exe=vmi$kwd:ld.exe -&vmi$kwd:ld,vmi$kwd:ldmsg,sys$input/optidentification="LD V5.1"sys$library:vaxcrtl.exe/share8$ vmi$callback message i linking "Linking the LD driver"$ define/user sys$output nla0:$ define/user sys$error nla0:Y$ link/symbol_table=vmi$kwd:lddriver/exec=vmi$kwd:lddriver vmi$kwd:'driver',sys$input/optbase=0$!9$ vmi$callback provide_file vms$ ld.exe vmi$root:[sysexe]@$ vmi$callback provide_file vms$ lddriver.exe vmi$root:[sys$ldr]@$ vmi$callback provide_file vms$ lddriver.stb vmi$root:[sys$ldr]&$ vmi$callback provide_dcl_help ld.hlp,$ vmi$callback provide_dcl_command ldcld.cldF$ vmi$callback provide_file vms$ ld$startup.com vmi$root:[sys$startup]$!$ say ""I$ say "*****************************************************************"$ if vms_version .eqs. "055"$ thenJ$ say "Please enter the following line in your SYSTARTUP_V5 procedure:"$ elseK$ say "Please enter the following line in your SYSTARTUP_VMS procedure:"$ endif!$ say "$ @SYS$STARTUP:LD$STARTUP"I$ say "*****************************************************************"$ say ""$! $ exit vmi$_success$!$error:$ exit vmi$_failure%*[VDBURG.LD.FWARE.KIT]LD$STARTUP.COM;1+, `7./!H 4O-MO0123KPWO560nl7=km89G!HHJP߼$LD051.A `7MO%[VDBURG.LD.FWARE.KIT]LD$STARTUP.COM;1O8*4$! L D $ S T A R T U P . C O M$!,$! Copyright 1993 by<$! Digital Equipment Corporation, Maynard;$! Massachusetts. All rights reserved.$!I$! This software is furnished under a license and may be used and copiedL$! only in accordance with the terms of such license and with the inclusionE$! of the above copyright notice. This software or any other copiesH$! thereof may not be provided or otherwise made available to any otherM$! person. No title to and ownership of the software is hereby transferred.$!L$! The information in this software is subject to change without notice andM$! should not be construed as a commitment by Digital Equipment Corporation.$!G$! Digital assumes no responsibility for the use or reliability of its:$! software on equipment that is not supplied by Digital.$!M$!***************************************************************************$! $ set noon$ run sys$system:sysgenreload lddriverconnect lda0/noadapter$!3$ if f$file_attributes("sys$system:ld.exe","known")$ then%$ install replace sys$system:ld.exe$ elseO$ install create sys$system:ld.exe/open/head/share/priv=(phy_io,syslck,share)$ endif$!$ exit*[VDBURG.LD.FWARE.KIT]LD.HLP;1+,_<.i/!H 4Xihp-MO0123KPWOj56m7m89G!HHJ1 LD? The logical disk utility is a system management tool available0 to any user for controlling logical disk usage.= A Logical Disk is a file available on a Physical Disk, which7 acts as a real Physical Disk (The file is contiguous.)8 The Logical Disks are available in any directory of the Physical Disk.@ A large disk can be divided into smaller sections, each a Logi-B cal Disk, supporting the same I/O functions as the Physical Disk.= By giving the Logical Disk File a good protection level and? mounting it private or with device protection, you are able to7 add a number of protection levels to your file system.< The logical disk is controlled by the LD utility, which can be directly invoked from DCL. Format:% LD [/qualifiers] [Filespec] [Device]2 Author: The author of this piece of software is Jur van der Burg,1 Digital Equipment Corporation, Utrecht, Holland.9 In case of problems/questions/suggestions please contact) the author at vdburg@utrtsc.uto.dec.com.2 Command_summary0 LD CREATE [/LOG] [/SIZE=xxx] [/BACKUP] Filespec0 LD CONNECT [/LOG] [/SYMBOL] [/REPLACE] [/SHARE]/ [/TRACKS=xxx] [/SECTORS=xxx] [/CYLINDERS=xxx]4 [/MAXBLOCKS=xxx] [/ALLOCLASS=xxx] Filespec [LDan:]+ LD DISCONNECT [/ALL] [/LOG] [/ABORT] LDan:$ LD TRACE [/SIZE=xxx] [/RESET] LDan: LD TRACE/STOP [/ALL] [LDan:] LD NOTRACE LDan:= LD WATCH LDan: lbn [,lbn...] [/FUNCTION=READ,WRITE,CODE=xxx]+ [/ACTION=SUSPEND,CRASH,OPCOM,ERROR[=xxx]] [/FILE=filespec], LD NOWATCH LDan: [lbn [,lbn...]] [/INDEX=n]1 LD WATCH/RESUME LDan: [lbn [,lbn...]] [/INDEX=n] LD PROTECT LDan: LD NOPROTECT LDan: LD SHOW [/ALL] [LDan:]$ LD SHOW/WATCH LDan: [lbn [,lbn...]]F LD SHOW/TRACE [/STATUS] [/RESET] [/OUTPUT=Filespec] [/INPUT=filespec]: [/BINARY] [/ENTRIES=[(XXX,YYY)]] [/HEADER] [/CONTINUOUS]0 [/VERSION_LIMIT=xxx] [/BLOCKS=xxx] [/WARNINGS]& [/NUMBER] [/PID] [/LBN] [/BYTECOUNT]( [/IOSB[=COMBINATION,TEXT,HEX,LONGHEX]]3 [/TIMESTAMP[=ABSOLUTE,ELAPSED,COMBINATION,DELTA]] [/FUNCTION[=TEXT,HEX]] LDan:2 Driver_functions> The LDDRIVER understands all functioncodes normally available: for disks. Some special functions are used to control the logical disk driver.9 All functions assume that a channel has been assigned to? the device on which to operate. One exception is the 'Connect'? function which needs a channel to LDA0:. This will then create1 a new device (because LDA0: is a cloned device).= A file with LDdriver specific definitions is included in the kit (LD_DEFINES.H).: The only function to control the driver is IO$_LD_CONTROL" which is defined in LD_DEFINES.H.7 A sub-function must be given as P6 of the QIO request. 3 Connect1 This function connects a file to a logical disk: Function: IO$_LD_CONTROLA P1 = address of SBK block (Attributes Statistics Block) returnedB by XQP IO$_ACCESS!IO$M_ACCESS function used to open the file to connect.> P2 = logical disk size. If 0, the allocated size will be used! P3 = Number of tracks (optional)" P4 = Number of sectors (optional)$ P5 = Number of cylinders (optional) P6 = Subfunction: LDIO_CONNECTC This function connects a complete physical disk to a logical disk: Function: IO$_LD_CONTROL8 P1 = descriptor of buffer which contains device name of physical device0 P6 = Subfunction: LDIO_CONNECT | LDIO_M_REPLACE IOSB word 0 = status Errors returned:' SS$_DEVACTIVE Device already connected> SS$_FORMAT FCB specified in SBK is invalid or file not opened8 SS$_ACCVIO One of the parameters cannot be read/writtenB SS$_INCSHAMEM Attempt to connect a logical disk on a logical disk@ SS$_IVDEVNAM Attempt to connect to devicetype other than a disk0 SS$_FILNOTCNTG Logical disk file not contiguous4 SS$_DATAOVERUN Filename of file to connect too longB SS$_FILALRACC File already in use (may be on other cluster nodes)9 SS$_ILLKLKNUM Disk size specified in P2 past end of file+ SS$_IVADDR Disk bigger than 2097151 blocks! SS$_NORMAL Successful completion4 SS$_BADPARAM Invalid geometry information specifiedB SS$_UNSUPPORTED Shared access was specified while no cluster code is loaded? SS$_ACCONFLICT Shared access was specified while the device is not cluster-wide visible; The following errors are returned for LDIO_M_REPLACE only:& SS$_DEVFOREIGN Device foreign mounted SS$_DEVMOUNT Device mounted& SS$_DEVALLOC Device already allocated= Other possible errors are errors returned by the lockmanager# and errors returned by IOC$SEARCH. 3 Disconnect@ This function disconnects a file or device from a logical disk: Function: IO$_LD_CONTROLA P1 = address of SBK block (Attributes Statistics Block) returned- by XQP IO$_ACCESS!IO$M_ACCESS function.= If the device was 'replaced' this parameter is ignored." P6 = Subfunction: LDIO_DISCONNECT IOSB word 0 = statusH The subfunctionmodifier LDIO_M_ABORT allows the file to be disconnected regardless of it's state. Errors returned:& SS$_DEVFOREIGN Device mounted foreign SS$_DEVMOUNT Device mounted% SS$_BADFILEHDR Bad logical disk file8 SS$_DEVASSIGN Device still active (reference count > 0)" SS$_DEVINACT Device not connected+ SS$_FORMAT FCB specified in SBK is invalid) SS$_ACCVIO SBK block cannot be read! SS$_NORMAL Successful completion> Other possible errors are errors returned by the lockmanager.3 Display_status= This function retrieves the current status of a LDAn device: Function: IO$_LD_CONTROL> P1 = address of buffer which receives the device- or filename currently connected; P2 = size of buffer which receives the device- or filename@ P3 = address of 3 word buffer which receives the file-id of the connected file& P6 = Subfunction: LDIO_GET_CONNECTION IOSB word 0 = status/ word 1 = number of characters transferred7 longword 1 = status flag bit 0 : 0 = disconnected4 1 = connected< bit 1 : 0 = normal connection9 1 = replaced drive< bit 2 : 0 = normal connectionB 1 = replaced to DECRAM disk8 bit 3 : 0 = normal access: 1 = write protected7 bit 4 : 0 = local access8 1 = shared access< The buffer specified in the P1 parameter is only valid when3 the unit sd=$LD051.A_<MO[VDBURG.LD.FWARE.KIT]LD.HLP;1Xiis connected (IOSB longword 1 bit 0 set). Errors returned:% SS$_ACCVIO Buffer can not be written" SS$_DEVINACT Device not connected! SS$_NORMAL Successful completion3 Disable_protect" This function unprotects a drive: Function: IO$_LD_CONTROL' P6 = Subfunction: LDIO_DISABLE_PROTECT IOSB word 0 = status Errors returned:! SS$_NORMAL Successful completion3 Disable_trace This function disables tracing: Function: IO$_LD_CONTROL% P6 = Subfunction: LDIO_DISABLE_TRACE IOSB word 0 = status Errors returned: SS$_NODATA Trace is not active! SS$_NORMAL Successful completion3 Disable_watch$ This function disables watchpoints: Function: IO$_LD_CONTROL# P1 = address of watchpt structures9 P2 = number of watchpt structures, if 0 all entries will be removed% P6 = Subfunction: LDIO_DISABLE_WATCH= The watchpt structure (if specified) must contain a matching; lbn, action, function, flags and returncode. These can all/  be retrieved with the LDIO_GET_WATCH function. IOSB word 0 = status0 longword 1 = current number of watchpoints Errors returned:# SS$_DATALOST No active watchpoints( SS$_DATACHECK Specified entry not found! SS$_NORMAL Successful completion3 Enable_protect& This function write-protects a drive: Function: IO$_LD_CONTROL& P6 = Subfunction: LDIO_ENABLE_PROTECT IOSB word 0 = status Errors returned:! SS$_NORMAL Successful completion3 Enable_trace This function enables tracing: Function: IO$_LD_CONTROL0 P1 = number of trace buffer packets to allocate$ P6 = Subfunction: LDIO_ENABLE_TRACE IOSB word 0 = status< To reset the tracebuffer the additional subfunctionmodifier: LDIO_M_RESET can be specified. No new tracebuffer will be allocated when that is done. Errors returned:$ SS$_ACCVIO Parameter cannot be read( SS$_BADPARAM Zero buffer size specified1 SS$_EXBYTLM Exceeded BYTLM quota for the process7 SS$_INSFMEM Not enough memory to allocate trace buffer( SS$_TOOMUCHDATA Trace is already active! SS$_NORMAL Successful completion3 Enable_watch# This function enables watchpoints: Function: IO$_LD_CONTROL# P1 = address of watchpt structures" P2 = number of watchpt structures$ P6 = Subfunction: LDIO_ENABLE_WATCH8 The watchpt structure must contain a valid lbn, action, function, flags and returncode. IOSB word 0 = status0 longword 1 = current number of watchpoints Errors returned:" SS$_ACCVIO Buffer can not be read6 SS$_NOPRIV Action needs ownership of device or CMKRNL6 SS$_NOCMKRNL CMKRNL privilege needed for CRASH action2 SS$_EXBYTLM Out of BYTLIM quota for watch buffers7 SS$_DEVREQERR FILE watchpoint must be on the LD device< SS$_ILLBLKNUM Watchpoint past end of file or end of disk or VBN zero specified for fileA SS$_BADPARAM Zero buffer length specified or action out of range> SS$_FORMAT FCB specified in SBK is invalid or file not opened with cathedral windows< SS$_INSFMEM Not enough memory to allocate watchpoint buffer! SS$_NORMAL Successful completion3 Get_suspend_list; This function retrieves the list of suspended watchpoints: Function: IO$_LD_CONTROL( P1 = address of suspend_list structures* P2 = size in bytes of suspend_list buffer( P6 = Subfunction: LDIO_GET_SUSPEND_LIST9 This function reads the number of suspended watchpoints: Function: IO$_LD_CONTROL9 P6 = Subfunction: LDIO_GET_SUSPEND_LIST | LDIO_M_INQUIRE IOSB word 0 = status& word 1 = number of bytes written: longword 1 = current number of suspended watchpoints Errors returned:; SS$_INSFMEM Not enough memory to allocate temporary buffer% SS$_ACCVIO Buffer can not be written# SS$_DATALOST No active watchpoints% SS$_IVBUFLEN Output buffer too small! SS$_NORMAL Successful completion 3 Get_watch% This function retrieves watchpoints: Function: IO$_LD_CONTROL# P1 = address of watchpt structures% P2 = size in bytes of watchpt buffer! P6 = Subfunction: LDIO_GET_WATCH/ This function reads the number of watchpoints: Function: IO$_LD_CONTROL2 P6 = Subfunction: LDIO_GET_WATCH | LDIO_M_INQUIRE IOSB word 0 = status& word 1 = number of bytes written0 longword 1 = current number of watchpoints Errors returned:; SS$_INSFMEM Not enough memory to allocate temporary buffer% SS$_ACCVIO Buffer can not be written# SS$_DATALOST No active watchpoints% SS$_IVBUFLEN Output buffer too small! SS$_NORMAL Successful completion3 Read_tracebuffer* This function reads the tracebuffer size: Function: IO$_LD_CONTROL2 P6 = Subfunction: LDIO_GET_TRACE | LDIO_M_INQUIRE IOSB word 0 = status word 1 = 07 longword 1 = tracebuffer size (number of packets)* This function reads the tracebuffer data: Function: IO$_LD_CONTROL1 P1 = address of buffer which receives trace info# P2 = size of trace buffer in bytes! P6 = Subfunction: LDIO_GET_TRACE IOSB word 0 = status word 1 = 00 longword 1 = number of packets transferred% or the number of lost packets in case of SS$_DATAOVERRUN.4 If the return status was SS$_DATAOVERRUN the buffer2 contains the number of packets as returned by the* LDIO_GET_TRACE | LDIO_M_INQUIRE function.; To read the tracebuffer data and to reset the buffer after@ the data has been read the subfunctionmodifier LDIO_M_RESET can be specified.@ If LDIO_M_NOWAIT is omitted the I/O request will wait until new trace data is available. Errors returned:% SS$_ACCVIO Buffer can not be written SS$_NODATA Trace is not active8 SS$_IVBUFLEN Buffer too small to contain all trace data1 SS$_DATAOVERRUN The tracebuffer has been overrun! SS$_NORMAL Successful completion3 Reset_tracebuffer& This function resets the tracebuffer: Function: IO$_LD_CONTROL# P6 = Subfunction: LDIO_RESET_TRACE IOSB word 0 = status Errors returned: SS$_NODATA Trace is not active! SS$_NORMAL Successful completion3 Resume_watch. This function resumes a suspended watchpoint: Function: IO$_LD_CONTROL( P1 = address of suspend_list structures* P2 = size in bytes of suspend_list buffer$ P6 = Subfunction: LDIO_RESUME_WATCH IOSB word 0 = status& word 1 = number of bytes written Errors returned:; SS$_INSFMEM Not enough memory to allocate temporary buffer% SS$_ACCVIO Buffer can not be written# SS$_DATALOST No active watchpoints SS$_DATACHECK Nothing resumed! SS$_NORMAL Successful completion3 Set_allocation_class@ This function enables presetting of the allocation class of the@ LD device. This may only be done when no devices are connected. Function: IO$_LD_CONTROL P1 = allocation class% P6 = Subfunction: LDIO_SET_ALLOCLASS IOSB word 0 = status Errors returned:. SS$_BADPARAM Allocation class > 255 specified0 SS$_UNSAFE There are still connected LD devices! SS$_NORMAL Successful completion3 Set_unitnumber6 This function enables presetting of the next assigned unitnumber. Function: IO$_LD_CONTROL P1 = unitnumber to preset P6 = Subfunction: LDIO_SET_SEED IOSB word 0 = status Errors returned:9 SS$_BADPARAM Unitnumber less than 0 or greater than 9999! SS$_NORMAL Successful completion3 Other_features= After modification of the driver it is possible to RELOAD it@ without rebooting the system, provided that the size of the UCB? did not change. If the reloaded driver detects a different UCB= size, the unit will be placed off-line and the system has to be rebooted.@ If there is still a file or device connected to any LDAn device= the driver cannot be reloaded. In that case all LDAn devices have to be disconnected first.; If a tracebuffer is allocated before reloading, it will be* deallocated. All trace data will be lost.2 Error_messages> A number of error messages can be returned by the LD utility. 3 ALREADYCONN- %LD-F-ALRDYCONN, Device already connected= An LD CONNECT command is given while the logical disk device was already connected.8 This errormessage can only occur if the driver has been) assembled without cloned device support.3 BADALLOCLASS6 %LD-F-BADALLOCLASS, Bad allocation class specifiedC An LD CONNECT/ALLOCLASS command was given with an allocation class bigger than the limit of 255.3 BADDEVSYNTAX1 %LD-F-BADDEVSYNTAX, Bad device syntax (LDAZ:)9 A unit to use as a logical disk was specified with a bad syntax. 3 BADENTPARAMdWP$LD051.A_<MO[VDBURG.LD.FWARE.KIT]LD.HLP;1Xi#"0 %LD-F-BADENTPARAM, Bad /ENTRIES parameter(s)< An LD SHOW/TRACE/ENTRIES command was given where either theC second parameter was less than the first, or one of the parameters was less than 0.3 CANTREADOLDFMTD %LD-F-CANTREADOLDFMT, Can't read old format datafile (Version 2)9 An attempt was made to read a datafile which was created= with an old version of LD. Use the old version of LD to read the file. 3 CLOSERRD %LD-F-CLOSERR, Unable to close file $1$DUA0:[DATA]LD_TRACE.LOG;1A An LD SHOW/TRACE/{IN,OUT}PUT command was given, and the close of& the in- or output file had a problem. 3 CONFQUAL* %LD-F-CONFQUAL, Conflicting qualifiers= Conflicting qualifiers were given for the specified command. Check the documentation. 3 CONNECTED9 %LD-I-CONNECTED, Device _THEBUG$LDA1: is connected to $1$DUA1:[DIR]DISKFILE.DSK;1; An LD CONNECT/LOG command is given, or an LD SHOW command.M %LD-I-CONNECTED, Device _THEBUG$LDA1: is connected to $1$DUA1: (Replaced)C An LD CONNECT/LOG/REPLACE command is given, or an LD SHOW command." The complete device was replaced.3 CONTTRACEACT@ %LD-F-CONTTRACEACT, Continuous tracing is already active for device _THEBUG$LDA1:A An LD SHOW/TRACE/CONTINUOUS command was given while such command- for the same device was already in progress.3 CONTTRACENOTACT? %LD-F-CONTTRACENOTACT, Continuous tracing is not active for device _THEBUG$LDA1:: An LD TRACE/STOP command was given for a specified device< while there was no continuous trace active for that device. 3 CREATED; %LD-I-CREATED, File $1$DUA1:[DIR]DISKFILE.DSK;1 created# An LD CREATE/LOG command is given. 3 CREATERRA %LD-F-CREATERR, Unable to create file $1$DUA0:[TMP]DATA.DSK;1; An LD CREATE command was given, but the command was unable7 to complete. The accompanying message shows more info. 3 DETECTEDERR+ %LD-F-DETECTEDERR, Detected fatal error= A general fatal error was detected. Look at the accompanying errormessage. 3 DEVASSIGN1 %LD-F-DEVASSIGN, Device has channels assigned; An LD DISCONNECT command was given on a device with active< channels. Most probably an LD SHOW/TRACE/CONTINUOUS command is still active.3 DEVCONNECTEDJ %LD-F-DEVCONNECTED, Cannot set allocation class with active LD devicesC An LD CONNECT/ALLOCLASS command was given while there were alreadyA LD devices connected. All devices have to be disconnected before an allocation class can be set. 3 DEVICEINUSEP %LD-F-DEVICEINUSE, Device incompatible connected to other LD disk in clusterC An LD CONNECT command is given where the device to be replaced wasH already in use by another logical disk or by VMS, either on this system# or on another system in a cluster. 3 DUPUNIT' %LD-F-DUPUNIT, Duplicate unitnumber< An LD CONNECT file LDAxx command was given while the device LDAxx already exists. 3 FILEINUSEL %LD-F-FILEINUSE, File incompatible connected to other LD disk in cluster? An LD CONNECT command is given where the logical disk file was> already in use by another logical disk, either on this systemF or on another system in a cluster. The connect specified on the otherB system was done in a way which is not compatible with the currentB connect parameters. This can happen if another node specified for> example /MAXBLOCKS, or /TRACKS which were not or incompatibleD specified on the local node. The complete geometry must be the same on all nodes. 3 FILEONOTHER= %LD-F-FILEONOTHER, File not allowed to be on other device@ An LD WATCH/FILE=filespec command was given where the specified0 file did not reside on the specified LD device. 3 FILREADERRG %LD-F-FILREADERR, Unable to read input file $1$DUA0:[TMP]FILE.DAT;1= An LD SHOW/TRACE/INPUT command was given where the requested inputfile could not be read. 3 FILWRTERRH %LD-F-FILWRTERR, Unable to write output file $1$DUA0:[TMP]FILE.DAT;1> An LD SHOW/TRACE/OUTPUT command was given where the requested! outputfile could not be written. 3 INFILERRE %LD-F-INFILERR, Unable to open input file $1$DUA0:[TMP]FILE.DAT;1= An LD SHOW/TRACE/INPUT command was given where the requested inputfile could not be opened. 3 INVGEOMETRY1 %LD-F-INVGEOMETRY, Invalid geometry specified< An LD CONNECT command is given where the geometry specified< with /TRACKS, /SECTORS or /CYLINDERS is invalid. TRACKS and; SECTORS are limited to 255, CYLINDERS is limited to 65535.@ This error can also be returned if TRACKS * SECTORS * CYLINDERS? exceeds the maximum logical blocknumber of the container file,? or if a filesize was specified to the driver which exceeds the total specified geometry. 3 NESTING7 %LD-F-NESTING, Nesting of logical disks not allowed? An LD CONNECT command is given where the logical disk file was on another logical disk. 3 NOCLUSTER+ %LD-F-NOCLUSTER, No cluster code loaded< An LD CONNECT/SHARE command is given when the system is not running VMSCluster software. 3 NOGROUPPRIVI %LD-F-NOGROUPPRIV, No privilege to stop trace of device _THEBUG$LDA1:G An attempt was made to stop the continuous trace of device THEBUG$LDA1E while the trace was started by a process in the same UIC group. This operation need GROUP privilege. 3 NOREADWRITEH %LD-F-NOREADWRITE, No read or write function specified for file modeC An LD WATCH/FILE=filespec command was given where the function wasB not one of the following: READPBLK, WRITEPBLK, WRITECHECK or DSE.B Such watchpoint may only be specified in combination with a data- transfer function. 3 NOSUPPORT: %LD-F-NOSUPPORT, Device _THEBUG$LDA0: is not supported< An attempt was made to use LDA0: as a logical disk. This is not supported.3 NOTCONNECTED= %LD-W-NOTCONNECTED, Device _THEBUG$LDA1: is not connected< An LD SHOW command is given, and the disk was not connected to a file.@ An LD DISCONNECT command is given while the logical disk device was not connected.8 This errormessage can only occur if the driver has been) assembled without cloned device support. 3 NOTRCDATA, %LD-F-NOTRCDATA, No trace data available= An LD SHOW/TRACE command was given while the tracebuffer did not contain any data.3 NOUNITSFOUND: %LD-F-NOUNITSFOUND, No usable logical disk units found9 An LD SHOW/ALL or TRACE/STOP/ALL command was given while no connected units were found. 3 NOTVISIBLE: %LD-F-NOTVISIBLE, Device is not visible on other nodes8 An LD CONNECT/SHARE command is given when the device to6 be replaced or the device on which the container file/ resides is not visible by other cluster nodes. 3 NOWATCHDATA3 %LD-F-NOWATCHDATA, No watchpoint data available= An LD SHOW/WATCH command was given while no watchpoints were set. 3 NOWDISCONN> %LD-I-NOWDISCONN, Device _THEBUG$LDA1: is now disconnected' An LD DISCONNECT/LOG command is given. 3 NOWORLDPRIVI %LD-F-NOWORLDPRIV, No privilege to stop trace of device _THEBUG$LDA1:G An attempt was made to stop the continuous trace of device THEBUG$LDA1D while the trace was started by a process in another UIC group. This operation need WORLD privilege. 3 OUTFILERRG %LD-F-OUTFILERR, Unable to open output file $1$DUA0:[TMP]FILE.DAT;1> An LD SHOW/TRACE/OUTPUT command was given where the requested outputfile could not be opened. 3 PASTDATA7 %LD-F-PASTDATA, Requested entry(s) past end of data? An LD SHOW/TRACE/ENTRIES command was given where the requested( entries were beyond the available data. 3 REMOTEALLOCE %LD-W-REMOTEALLOC, Device _$1$LDA1: is allocated on a remote node; An LD SHOW or an LD DISCONNECT command was given while the: specified LD device was mounted private on a remote node.> This can only happen on an LD device which was connected with /SHARE.3 STATUS? %LD-I-STATUS, Device _THEBUG$LDA1: has a tracebuffer of 512 entries (139 valid records)? An LD SHOW/TRACE/STATUS command is given. The specified deviceB has 512 tracebuffer entries allocated, of which 139 are currently in use.3 TRACESTOPPED6 %LD-I-TRACESTOPPED, Trace stopped by other process; An LD TRACE/STOP command was given for a device to force a? SHOW/TRACE/CONTINUOUS command which was in progress by another process to exit. 3 TRCDISABL( %LD-F-TRCDISABL, Tracing is disabled9 An LD SHOW/TRACE command was given while d$$LD051.A_<MO[VDBURG.LD.FWARE.KIT]LD.HLP;1Xi|"0tracing was not" enabled for the specified device. 3 TRCENABL. %LD-F-TRCENABL, Tracing is already enabled8 An LD TRACE command was given while tracing was already enabled.3 UNIT1 %LD-I-UNIT, Allocated device is _THEBUG$LDA4:; An LD CONNECT command was given without /LOG and without a= device specification. This informational message shows which+ device was assigned to the specified file. 3 VBNERROR: %LD-F-VBNERROR, Illegal virtual block number specified= An LD WATCH/FILE=filespec command was given where the VBN to1 watch was either zero or beyond the end of file. 3 WPTNOTFOUND+ %LD-F-WPTNOTFOUND, Watchpoint not foundB An LD SHOW/WATCH command was given where the specified watchpoint does not exist.3 OtherC The VAX/VMS System Messages and Recovery Procedures Reference Man-A ual lists other possible messages and provides explanations and suggested user actions.@ Note that when errormessages are returned, and you cannot traceA them back to the Logical Disk, perform the same checks again for5 the Physical Disk on which the Logical File resides. 2 Features> Logical disks may be just a single disk, part of a volumeset,= part of a stripeset, part of a host-based shadowset, part of* a host-based raid set or any combination.> The file to be used for the logical disk may be placed on anyA physical disk, in any directory. A backup can be made to protect the disk.@ A physical device may be 'replaced' by a logical disk to enable? logging of all I/O of the physical disk (See CONNECT/REPLACE).2 New_features_V5.0D Enable/disable write-protection of a device with the next command: LD [NO]PROTECT LDan:E Watchpoint support. A watchpoint is a marker which can be set on oneI or more logical blocks of a disk. The watchpoint consists of a function-D code, an action, an error return code and one logical block number.G When an I/O request is done to the driver it will check if the requestF matches one of the watchpoints. If true then the action specified forH that watchpoint will be executed. An action can be for example an OPCOMI message, but also to return an error code, or to suspend the I/O thread, or to crash the system.F The following commandfile will for example put the device into mount- verification: $ SET VERIFY $ SET NOON $!9 $! Example of how to put a device into mountverification $!" $ LD CREATE/NOBACKUP TEMPDISK.DSK$ $ LD CONNECT/LOG TEMPDISK.DSK LDA1: $ INIT/NOHIGH/SYSTEM LDA1: TEST $ LD TRACE LDA1 $ MOUNT LDA1: TEST5 $ LD WATCH LDA1: 1/ACTION=OPCOM/FUNCTION=CODE=%X080C: $ LD WATCH LDA1: 1/ACTION=ERROR=%X84/FUNCTION=CODE=%X08084 $ LD WATCH LDA1: 10/ACTION=ERROR=%X84/FUNCTION=READ $ LD SHOW/WATCH LDA1: $ REPLY/ENABLE/TEMP= $ SPAWN/NOWAIT/INPUT=NL: DUMP LDA1:/BLOCK=(START=10,COUNT=1)+ $ INQUIRE DUMMY "Press return to continue" $ LD NOWATCH LDA1: $ LD SHOW/TRACE LDA1: $ REPLY/DISABLE $ DISMOUNT LDA1: $ LD DISCONNECT LDA1:$ $ DELETE/NOLOG/NOCONF TEMPDISK.DSK;2 New_features_V5.1= Shared access of the container file or a replaced device are? now possible by connecting with the /SHARE switch. For this toF work the 'LD' devicename must be the same on all nodes of the cluster4 which connect to the same container file or device.A Device geometry can now be specified by connecting a device withB the /SECTORS, /TRACKS and /CYLINDERS qualifiers. Also the maximum@ usesable size may be given with the /MAXBLOCKS qualifier, which& superceedes the /ALLOCATED qualifier.@ An allocation class may be specified for the LD device with the? /ALLOCLASS qualifier for CONNECT. If this is not done then the9 default is the value from the systemparameter ALLOCLASS.: A switch was added to CONNECT, /SYMBOL. This allows a DCL< symbol to be set representing the created unit number if it was not specified. 2 Parameters Filespec9 Specifies the logical disk file to create or to connect.8 Any legal VMS filespec without wildcards or nodename is acceptable. Device4 Logical disk devicename, LDAn where n is 1 to 9999.2 Privileges_and_Quotas> To control creation and deletion of logical devices one needs? PHY_IO privilege for the LD utility. To use continuous tracing5 SYSLCK privilege is needed. The startup commandfile,< SYS$STARTUP:LD$STARTUP.COM will install the LD utility with; these privileges so that ordinary users can play around by creating and removing disks.; Note that the users will be charged against BYTLM for each; unit they create. Also, the creation of a tracebuffer will? be charged against BYTLM, as well as creating of a watchpoint.2 RestrictionsB The size of the logical disk may not be more than 2097120 blocks.9 This restriction is not there when a disk is 'replaced',< and also not when SECTORS, TRACKS or CYLINDERS are manually specified during CONNECT.7 The file used for the logical disk must be contiguous.; It is not allowed to nest logical disks, that is to create< a logical disk on a logical disk. If that is attempted, the! driver will return SS$_INCSHAMEM= A file used for a logical disk may not be used for any other? logical disk, unless /SHARE is specified. If that is not done,@ the driver will return SS$_FILALRACC. The same is true when one@ tries to replace a device, the error returned in that case will be SS$_DEVALLOC.9 If a continuous trace is in progress it is impossible to> mount a logical disk because the reference count is not zero.@ Stop the trace, mount the disk and restart the trace. No trace-7 data will be lost because the driver will buffer this.2 Setup3 The logical disk has to be setup by connecting the3 driver with SYSGEN. The unitnumber can be selected) by the user connecting the logical disk. To connect the driver: $ RUN SYS$SYSTEM:SYSGEN CONNECT LDA0/NOADAPTER8 This assumes that the driver is in SYS$LOADABLE_IMAGES: 3 Example- An example of setting up some Logical Disks. $ RUN SYS$SYSTEM:SYSGEN. CONNECT LDA0/NOADAPTER/DRIVER=LDDRIVER6 $ LD CREATE/SIZE=8192 $1$DUA1:[TEMP]USER.DSK;13 $ LD CONNECT $1$DUA1:[TEMP]USER.DSK;1 LDA1:# $ INITIALIZE LDA1: USERDSK1 $ MOUNT/OVER=ID LDA1:2 IO_Trace_example An example of traced I/O:7 $ LD SHOW/TRACE/ENTRIES=(12,23)/IOSB=COMBINATION LDA1:+ I/O trace for device _THEBUG$LDA1:, 24-FEB-1994 16:36:56.31 on node THEBUG::CStart Time Elaps Pid Lbn Bytes Iosb Count FunctionC-------------------------------------------------------------------B20:52:30.01 00.02 202000C4 5 512 NORMAL 512 READPBLKM20:52:30.03 00.03 202000C4 5 512 NORMAL 512 WRITEPBLK|DATACHECK@20:52:30.07 00.00 202000C4 0 0 NORMAL 0 UNLOADJ23:16:18.05 00.00 202000C5 0 32 NORMAL 0 SETMODE|LINE_OFFQ23:16:30.13 00.00 202000C5 0 11 NORMAL 0 SETMODE|LINE_ON|NEWLINEJ23:17:05.70 00.05 202000C5 0 0 NORMAL 0 PACKACK|INHERLOGB23:17:05.76 03.22 202000C5 1 512 NORMAL 512 READPBLKB23:17:09.00 00.67 202000C5 608509 512 NORMAL 512 READPBLKB23:17:09.67 00.03 202000C5 608510 512 NORMAL 512 READPBLKB23:17:09.70 00.27 202000C5 608334 512 NORMAL 512 READPBLKC23:17:09.97 00.00 202000C5 608334 512 WRITLCK 0 WRITEPBLKB23:17:10.04 00.29 202000C5 608508 512 NORMAL 512 READPBLK 2 CONNECT# LD CONNECT file_or_device [LDAn:]? This command will connect the Logical Disk File to the Logical Disk device.? This function must be performed before the logical disk can be? mounted or otherwise used. It requires the Physical Disk to be; mounted and requires read access to the Logical Disk File.> If the LD-device is not specified, it will be assigned by the? driver, and an informational message will be given about which device is selected.> If the device is specified, and if that device does not exist it will be used as specified. 3 /ALLOCLASS /ALLOCLASS=allocation_classD If this qualifier is specified, the specified allocation class willE be set for all LD devices. This qualifier can only be set when there' are currently no LD devices connected.D Setting an allocation class can be usefull if LD device needs to beD shared in a cluster where different nodes have different allocation classes. 3 /CYLINDERS /CYLINDERS=number_of_cylindersE When this qualifier is specified the device will be created with M$LD051.A_<MO[VDBURG.LD.FWARE.KIT]LD.HLP;1Xi"Athe@ specified number of cylinders. If not specified, and no /TRACKSC and /SECTORS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.* The maximum number of cylinders is 65535.< If SECTORS * TRACKS * CYLINDERS exceeds the capacity of theG containerfile an error message will be issued. If it is lower than theH capacity then the maximum blocksize of the device will be set according% to the track/sector/cylinder values. WARNING:A If a container file has been used and is reconnected with other= geometry information which results in another disksize then diskcorruption may result.F This qualifier may not be used together with /REPLACE as the geometry, will be inherited from the replaced device.3 /LOG /LOG /NOLOG (default)E Shows the connection between the logical disk and the file or device) after the connection has been completed. 3 /MAXBLOCKS /MAXBLOCKS=number_of_block@ When this qualifier is specified the specified number of blocksC will be the maximum used for the device. It may not be bigger than* the allocated size of the container file. 3 /REPLACEA When this qualifier is specified one has to specify a devicename< instead of a filespec. This has the effect of replacing the> physical drive with the logical drive, and it enables all I/OB requests to the physical device to be logged. The physical device* will be marked allocated and unavailable. 3 /SECTORS /SECTORS=number_of_sectorsE When this qualifier is specified the device will be created with theA specified number of sectors. If not specified, and no /CYLINDERSB and /TRACKS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.& The maximum number of sectors is 255.< If SECTORS * TRACKS * CYLINDERS exceeds the capacity of theG containerfile an error message will be issued. If it is lower than theH capacity then the maximum blocksize of the device will be set according% to the track/sector/cylinder values. WARNING:A If a container file has been used and is reconnected with other= geometry information which results in another disksize then diskcorruption may result.F This qualifier may not be used together with /REPLACE as the geometry, will be inherited from the replaced device.3 /SHAREE If this qualifier is specified, then sharing the container file withG other nodes in a cluster is allowed, provided that the same devicenameC (ALLDEVNAM) is used on every node accessing the file, and that the. specified geometry is the same on every node.A If the containerfile needs to be accessed on other nodes as wellC then the CONNECT/SHARE command must be issued on all nodes wanting to share the container file.A If used together with /REPLACE then sharing of another device is allowed. 3 /SYMBOLA When this qualifier is specified a local DCL symbol representingB the unit number will be created: LD_UNIT. This can be useful when> a connect is done without specifying a unit number. With this> qualifier included a command procedure is able to use this in subsequent commands. 3 /TRACKS /TRACKS=number_of_tracksE When this qualifier is specified the device will be created with the@ specified number of tracks. If not specified, and no /CYLINDERSC and /SECTORS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.% The maximum number of tracks is 255.< If SECTORS * TRACKS * CYLINDERS exceeds the capacity of theG containerfile an error message will be issued. If it is lower than theH capacity then the maximum blocksize of the device will be set according% to the track/sector/cylinder values. WARNING:A If a container file has been used and is reconnected with other= geometry information which results in another disksize then diskcorruption may result.F This qualifier may not be used together with /REPLACE as the geometry, will be inherited from the replaced device.2 CREATE LD CREATE filespecB This command will create a contiguous file which can be used as a@ Logical Disk. The default extension is ".DSK". The file will be set /NOMOVE. 3 /BACKUP /BACKUP (default) /NOBACKUP: This qualifier can be used to mark the file /NOBACKUP. In; that case when a backup of the file is done only the file-9 header will be copied. On a restore the file will be re-$ created, and all data will be lost.3 /LOG /LOG /NOLOG (default); Shows the complete filespec of the created file after file creation.3 /SIZE /SIZE[=disksize]> Specifies the size of the logical disk file. The default size is 512 blocks. 2 DISCONNECT LD DISCONNECT [LDAn:]> This command will disconnect the Logical Disk device from the. Logical Disk file, or from the physical disk. 3 /ABORT A This qualifier can be used if the normal disconnect command does= not disconnect the file (for example, when the file has beenA deleted). The ABORT qualifier disconnects the Logical Disk as it is (No checks.); When the physical disk is dismounted, and the logical diskC is still active,the physical disk will enter a marked for dismount5 state until the logical disk is no longer connected.9 The steps to follow if this happens are described below; $ DISMOUNT LDA1: $ LD DISCONNECT/ABORT LDA1: $ DISMOUNT DDan:@ Be careful using the ABORT qualifier because it disconnects the0 Logical Disk independent of the state it is in.3 /ALL- This qualifier disconnects all LDAn devices., No devicename has to be given in this case.3 /LOG /LOG /NOLOG (default)9 Shows the status after the device has been disconnected. 2 NOPROTECT LD NOPROTECT LDan:C This command will remove write-protection of the specified device. 2 NOWATCH" LD NOWATCH LDan: [lbn [,lbn...]]3 This command will remove the specified watchpoint.3 /INDEX /INDEX=n? This qualifier will remove only the specified watchpoint. This@ is an alternate way for specifying a watchpoint which is neededF for watchpoints without an lbn (IO$_PACKACK watchpoints for example).2 SHOW LD SHOW [LDAn:]; This command will display information about the status and+ the connected Logical Disk file or device.0 It can also be used to display the tracebuffer.3 /ALL; This qualifier will show the status of all LDAn devices on@ the system. It can not be specified in combination with /TRACE.* No devicename must be given in this case. 3 /BINARY< This qualifier forces the tracebuffer data to be written toC the outputfile in binary form. The is required when the outputfile* has to be processed later on with /INPUT. 3 /BLOCKS /BLOCKS=blocks= This qualifier specifies the maximum size of a diskfile withB tracedata. After this size is reached the current file is closed,A and a new one with a higher version is opened. If this qualifier> is not specified then there's no limit. If the /VERSION_LIMIT> qualifier is specified too, then the excess datafiles will be purged. 3 /BYTECOUNT /BYTECOUNT (Default) /NOBYTECOUNT: This qualifier enables to number of requested bytes to be displayed. 3 /CONTINUOUS /CONTINUOUS: When this qualifier is specified, the trace buffer of the7 specified device will be dumped (if there's still data; waiting). After that the program will wait for new data to- show up, and display that if it's available.7 To exit this mode one can type either a Control-Z or a; Control-C. Another way is to issue a LD TRACE/STOP command from another process. 3 /ENTRIES /ENTRIES[=(XXX,YYY)]]= This qualifier allows selection of the tracebuffer contents.@ If one parameter is specified, it will be the number of entriesA from the start of the tracebuffer when positive, or from the end" of the tracebuffer when negative.? For example, /ENTRIES=10 will show the first 10 entries, while, /ENTRIES=-10 will show the last 10 entries.E When two parameters are specified, a range of entries will be shown.? For example, /ENTRIES=(30,50) will show all entries from entry 30 through entry 50 inclusive.2 The default of -10 will show the last 10 entries. 3 /FUNCTION /FUNCTION[=Keyword] /NOFUNCTION>Bp$LD051.A_<MO[VDBURG.LD.FWARE.KIT]LD.HLP;1Xi"R This qualifier enables the Function code of the request to be displayed." An optional keyword may be given:< FUNCTION=TEXT Displays the translated I/O request function/ along with eventual functioncode modifiers./ Function bits which could not be translated( will be shown in hexadecimal format.5 FUNCTION=HEX Displays the I/O request function code in hexadecimal format. The default is /FUNCTION=TEXT. 3 /HEADER /HEADER (Default) /NOHEADER? This qualifier enables a header to be displayed before showing= tracedata. The header contains a timestamp of when the traceB was made, a devicename of the LD-device involved and the nodename of the system. 3 /NUMBER /NUMBER /NONUMBER (Default)5 This qualifier enables entrynumbers to be displayed.3 /INDEX /INDEX=nB This qualifier enables watchpoint display by index. The parameter0 is the watchpoint number as seen by the driver.3 /INPUT /INPUT[=filespec]D This qualifier forces input tracedata to be read from the specified, file. The default filename is LD_TRACE.DAT.3 /IOSB /IOSB[=Keyword] /NOIOSB; This qualifier enables the I/O status block of the request to be displayed." An optional keyword may be given:2 IOSB=TEXT Displays the translated errortext from the iosb.2 IOSB=HEX Displays the first longword of the iosb in hexadecimal format.5 IOSB=LONGHEX Displays both longwords of the iosb in hexadecimal format.9 IOSB=COMBINATION Displays the translated error text from. the iosb, as well as the returned count in% the upper first word of the iosb. The default is /IOSB=TEXT.3 /LBN /LBN (Default) /NOLBN= This qualifier enables to Logical blocknumber of the request to be displayed. 3 /OUTPUT /OUTPUT[=filespec]A This qualifier forces output of the tracedata data to be writtenB to the specified file. The default output will be readable ASCII,C unless /BINARY was also specified. In that case a binary file will? be written which can be processed at a later time with /INPUT.B The default filename is LD_TRACE.LOG for normal ASCII output, and LD_TRACE.DAT for binary output.3 /PID /PID (Default) /NOPIDC This qualifier enables to Process Identification of the requesting process to be displayed.3 /RESET= When this qualifier is specified in combination with /TRACE,< the tracebuffer will be dumped and the buffer will be resetA afterwards. This is an atomic operation, such that no bufferdata will be lost. 3 /STATUS= This qualifier will show the currently allocated size of the> tracebuffer, as well as the number of entries in use. It must$ be used in combination with /TRACE. 3 /TIMESTAMP /TIMESTAMP[=Keyword] /NOTIMESTAMP> This qualifier enables the Start-time as well as the End-time7 or the Elapsed time of an I/O request to be displayed." An optional keyword may be given:: TIMESTAMP=ABSOLUTE Displays the Start-time of the request/ as well as the End-time in absolute format.< TIMESTAMP=ELAPSED Displays the Elapsed time of the request.= TIMESTAMP=COMBINATION Displays the Start-time of the request- in absolute format as well as the Elapsed time of the request.? TIMESTAMP=DELTA Displays the elapsed time between the current, request and the previous request. If the0 start-time of the previous request was after1 the start-time of the current request (out of3 order I/O completion) the line will be preceded with a dash.' The default is /TIMESTAMP=COMBINATION.3 /TRACE: When this qualifier is specified, the trace buffer of the! specified device will be dumped.3 /VERSION_LIMIT /VERSION_LIMIT=limit; This qualifier can be used when a continuous trace is made7 to control the number of concurrent datafiles on disk.: Anytime the datafilesize exceeds the size specified with 9 /BLOCKS a new file will be created after the old file is: closed. If there are more files available than the number; specified with this qualifier, they will be purged up till the specified limit. 3 /WARNINGS /WARNINGS (Default) /NOWARNINGS9 When this qualifier is specified a warning will be given= anytime when there are tracerecords lost. The number of lost; records will be displayed. /NOWARNINGS will suppress these messages.3 /WATCH@ When this qualifier is specified, the currently set watchpoints( of the specified device will be dumped.2 TRACE LD TRACE LDan:< This command initializes the trace buffer for the specified: device. This buffer will log the following data for every I/O request: o Process ID o Logical block number o I/O request size o I/O Function code o I/O status block0 o Timestamp from the start of the I/O request. o Timestamp from the end of the I/O request7 The default size is 512 entries, the maximum is as big as pool will allow.& The allocated size from pool will be: PoolSize = (N * 38) + 12& where N equals the number of entries.3 /ALL8 This qualifier can be used in combination with /STOP to8 stop all processes which are currently tracing data for all LD devices.3 /RESET@ When this qualifier is specified the tracebuffer will be reset./ All data currently in the buffer will be lost.3 /SIZE /SIZE[=number_of_entries]8 Specifies the size of the tracebuffer. The default size is 512 entries.3 /STOP= This qualifier can be used to stop another process which has< issued a SHOW/TRACE/CONTINUOUS command. The devicename must? be specified (unless /ALL was given). If the trace was started? by a process in the same UIC group, GROUP privilege is needed.= If the process belongs to another UIC group, WORLD privilege is needed. 2 NOTRACE LD NOTRACE LDan:= This command deallocates the tracebuffer. All data currently& available in the buffer will be lost. 2 PROTECT LD PROTECT LDan:6 This command will write-protect the specified device.2 WATCH LD WATCH LDan: lbn [,lbn...]; This command will set a watchpoint on a virtual or logical; blocknumber on the specified device. The lbn is ignored on7 I/O functions which don't need an lbn (IO$_PACKACK for example).; This makes it possible to let the driver take some actions? dependant of which lbn was accessed with a specified function- code. 3 /FUNCTION /FUNCTION[=Keyword]G This qualifier specifies for which I/O function the watchpoint is set." An optional keyword may be given:6 FUNCTION=READ The watchpoint is set for IO$_READPBLK8 FUNCTION=WRITE The watchpoint is set for IO$_WRITEPBLK= FUNCTION=CODE=number The watchpoint is set for the specified I/O function code The default is /FUNCTION=READ 3 /ACTION /ACTION[=Keyword]A This qualifier specifies the action to be performed when a validC watchpoint is encountered. To be able to set a watchpoint one must= have either CMKRNL privilege, or be the owner of the device.C A watchpoint may have one action only: CRASH, ERROR or SUSPEND. AnD exception is OPCOM, which may be specified in addition to any other" action for a specific watchpoint." An optional keyword may be given:7 ACTION=CRASH This action will crash the system when a. matching lbn and function are found. Usage+ of this keyword needs CMKRNL privilege.& The bugcheck type will be RSVD_LP.= ACTION=ERROR[=code] This action will return a user-specified. errorcode when a matching lbn and function- are found. When the code is not specified" SS$_BUGCHECK will be returned.; ACTION=SUSPEND This action will suspend the thread when a- matching lbn and function are found. This. enables one to look at the system with SDA1 for further investigation. LD SHOW/WATCH will- show all processes waiting for a specific1 watchpoint, while LD WATCH/RESUME will resume the thread.= ACTION=OPCOM This action will display an OPCOM message when. a matching lbn and function are found. The+ message includes the process-id and the0 imagename doing the request, the devicename,3 the functioncode and the lbn. If the watchpoint/ was a virtual one (/FILE specified) then it/ will show the vbn as well as the file-id of the corresponding file.0 The default is /ACTION=ERROR=676 (SS$_BUGCHECK)3 /FILE /FILE=filespecA This qualifier will enable a virtual watchpoint on the specified@ file. The parameter(s) will then be vir,$LD051.A_<MO[VDBURG.LD.FWARE.KIT]LD.HLP;1Xi ctual blocknumbers of the file. 3 /RESUME /RESUMED This qualifier resumes a suspended watchpoint. The parameter is theA watchpoint to resume. An alternate way to resume a watchpoint isG by /INDEX. If no parameter is specified then all suspended watchpoints will be resumed.3 /INDEX /INDEX=nA This qualifier enables watchpoint resume by index. The parameter$ is the watchpoint number to resume.2 WPoint_example An example of watchpoint usage: $ LD CREATE TMP $ LD CONNECT/LOG TMP LDA1X %LD-I-CONNECTED, Device THEBUG$LDA1: is connected to $8$DIA0:[USERS.VDBURG.LD]TMP.DSK;1 $ INIT LDA1: TEST $ MOUNT/SYSTEM LDA1: TESTA %MOUNT-I-MOUNTED, TEST mounted on _THEBUG$LDA1: (THEBUG)* $ COPY/ALLOC=10 NL: LDA1:[000000]JUNK.DAT% $ SET FILE/END LDA1:[000000]JUNK.DAT? $ LD WATCH LDA1 5/FILE=LDA1:[000000]JUNK.DAT/ACTION=ERROR=%X2C: $ LD WATCH LDA1 5/FILE=LDA1:[000000]JUNK.DAT/ACTION=OPCOM! $ LD WATCH LDA1 1/ACTION=SUSPEND $ LD SHOW/WATCH LDA1:< Index LBN Action Function Error return codeE --------------------------------------------------------------------- THEBUG$LDA1:[000000]JUNK.DAT;1: 1 5 Opcom READPBLK- THEBUG$LDA1:[000000]JUNK.DAT;1:9 2 5 Error READPBLK 002C (ABORT) 3 1 Suspend READPBLK5 $ DUMP LDA1:[000000]JUNK.DAT/BLOCK=(START=5,COUNT=1)9 %%%%%%%%%%% OPCOM 28-FEB-1994 14:38:17.90 %%%%%%%%%%%# Message from user VDBURG on THEBUG4 ***** LDdriver detected VBN watchpoint access ***** PID: 2020006A Image: DUMP Device: THEBUG$LDA1: Function: 000C VBN: 5 File id: (11,1,0)7 %DUMP-E-READERR, error reading LDA1:[000000]JUNK.DAT;1 -SYSTEM-F-ABORT, abort< $ SPAWN/NOWAIT/INPUT=NL: DUMP/BLOCK=(START=1,COUNT=1) LDA1:) %DCL-S-SPAWNED, process VDBURG_1 spawned $ WAIT 0:0:1 $ LD SHOW/WATCH LDA1:< Index LBN Action Function Error return codeE --------------------------------------------------------------------- THEBUG$LDA1:[000000]JUNK.DAT;1: 1 5 Opcom READPBLK- THEBUG$LDA1:[000000]JUNK.DAT;1:9 2 5 Error READPBLK 002C (ABORT) 3 1 Suspend READPBLK) Suspended process: 202000E7 $ LD WATCH/RESUME LDA1:0 Dump of device LDA1: on 28-FEB-1994 14:38:20.474 Logical block number 1 (00000001), 512 (0200) bytes= 00010201 00000018 00000004 00000001 ................ 000000= 00000080 00000007 00050004 00030002 ................ 000010= 00400040 00000000 00000000 000A0001 ............@.@. 000020 . . .*[VDBURG.LD.FWARE.KIT]LD.OBJ;1+,`.N/!H 4NM -MO0123KPWOO56m?[6m7]Am89G!HHJ/LDV1.0 2-NOV-1994 13:58VAX C V3.2-044PP*LDA*PPP!PPCOMMAND!P"PPFILE"P#PPDEVICE#P$PPLBLOCK$P%P!PTRACE%P!&P'PWATCH&P''P-PRESUME'P-(P4PABORT(P4)P:PSTOP)P:*P?PSIZE*P?+PDPTRACKS+PD,PKPSECTORS,PK-P SPCYLINDERS-PS.P ]PMAXBLOCKS.P]/PgPINDEX/Pg0PmPSHARE0Pm1PsPALL1Ps2P wPALLOCLASS2Pw3P PVERSION_LIMIT3P4PPBLOCKS4P5PPBACKUP5P6PPLOG6P7P PCONTINUOUS7P8PPRESET8P9PPREPLACE9P:PPSTATUS:P;PPHEADER;P<PPWARNINGS<P=PPBINARY=P>PPSYMBOL>P?PPENTRIES?P@PPPID@PAPPLBNAPBP PBYTECOUNTBPCPPIOSBCPDPPFUNCTIONDPEP PTIMESTAMPEPFPPNUMBERFPGPPINPUTGPHPPOUTPUTHPIP%PTIMESTAMP.ABSOLUTEIP%JP8PTIMESTAMP.DELTAJP8KPHPTIMESTAMP.ELAPSEDKPHLPZPTIMESTAMP.COMBINATIONLPZMPpPIOSB.HEXMPpNP yPIOSB.LONGHEXNPyOP PIOSB.TEXTOPPPPIOSB.COMBINATIONPPQP PFUNCTION.HEXQPRP PFUNCTION.TEXTRPSP PFUNCTION.READSPTPPFUNCTION.WRITETPUP PFUNCTION.CODEUPVPPACTIONVPWPPACTION.SUSPENDWPXP PACTION.CRASHXPYP  PACTION.ERRORYP ZP PACTION.OPCOMZP$PCREA[P$)PCONN[P).PDISC[P.3PSHOW[P38PTRAC[ P8=PNOTR[(P=BPWATC[0PBGPNOWA CC$RMS_NAM CC$RMS_FAB CC$RMS_RAB CC$RMS_XABALL CC$RMS_XABDAT CC$RMS_XABFHC CC$RMS_XABKEY CC$RMS_XABPRO CC$RMS_XABRDT CC$RMS_XABSUM CC$RMS_XABTRM C$V_CTYPEDEFS LD_CONNECTED LD_NOWDISCONNLD_NOTCONNECTED LD_ALRDYCONN LD_DEVASSIGN LD_NOTCONN LD_NESTING LD_FILEINUSELD_DEVICEINUSE LD_CREATED LD_FILWRTERR LD_FILREADERR LD_CREATERR LD_OPENERR LD_CLOSERR LD_INFILERR LD_OUTFILERR LD_NOTRCDATALD_NOWORLDPRIVLD_NOGROUPPRIVLD_CONTTRACEACTLD_CONTTRACENOTACTLD_TRACESTOPPED LD_TRCENABL LD_TRCDISABL LD_STATUS LD_PASTDATALD_BADENTPARAM LD_CONFQUALLD_CANTREADOLDFMTLD_UNIT LD_DUPUNIT LD_NOSUPPORTLD_NOUNITSFOUNDLD_BADDEVSYNTAXLD_DETECTEDERRLD_NOWATCHDATALD_WPTNOTFOUNDLD_NOREADWRITE LD_VBNERRORLD_FILEONOTHER LD_NOCLUSTER[8PGLPPROT[@PLQPNOPR[HPQ[PPVWPNOP\PW[PUNLOAD\P[bPSEEK\PbgPRECAL\ PgmPDRVCLR\PmtPRELEASE\Pt|POFFSET\P|PRETCENTER\PPPACKACK\ PPREADRCT\$PPWRITECHECK\(PPWRITEPBLK\,PPREADPBLK\0PPCRESHAD\4PPADDSHAD\8PPCOPYSHAD\P%5d CP EP GP 0:00:00.00SP-UP WP YP [P%08X aP%10d gP%6d lP%08.8X tP%08.8X %08.8X P%-7s P%-7s %6d P%04.4X P%s P%sPLD_TRACE.DATPLD_TRACE.DATPdna=LD_TRACE.DATPrPINHERLOGPMSCP_FORMATPINHERLOGPALLHOSTSPDISSOLVEPNOCLEANUP PSPINDOWNPSHADOWPLINE_ON"PLINE_OFF+PNEWLINE3PABORT9PCLSEREXCPCPDATACHECKMPERASESPINHERLOG\PDATACHECKfPCLSEREXCPpPINHRETRYyPERASEPMSCPMODIFSPINHERLOGPDATACHECK LD_NOTVISIBLELD_INVGEOMETRYLD_BADALLOCLASSLD_DEVCONNECTEDLD_REMOTEALLOCNODENAME FULLDEVSPEC CLOSE_FILE OPEN_FILE PROCESS_TRACEGET_UNIT GETDEVNAMSHOW_ONE GETQUALSTRINGGETMULQUALVALUE GETQUALVALUEGETQUALMALLOC CLI$GET_VALUE CLI$PRESENTSET_SEEDGET_UNIT GETDEVNAM SIGNAL_ERROR FULLFILESPEC FULLDEVSPEC SETUP_FABCREATE_FILENAME CONVERT_ERRORCHK_MOD PURGE_FILE BUILD_LOCKNODENAMECVTTIME DECODE_FUNCSSDEFLD_EXIT SET_OUTBAND SETFILECHAR PROCESS_INPUT SHOW_TRACESHOW_TRACE_DATA PROCESS_TRACE NOPROTECTPROTECTNOWATCH DISPLAY_WATCH SHOW_WATCHWATCHNOTRACESTOP_ONE STOP_TRACETRACECREATE CLOSE_FILE OPEN_FILEDISCONNECT_ONEDISCONNECT_UNIT CONNECT_UNITSHOW_ONESHOWGETLIST GETQUALSTRING SYS$TRNLNMSYS$QIOWSYS$PUT SYS$PARSESYS$OPEN SYS$GETMSG SYS$GETLKIW SYS$GETJPIWSYS$ENQWSYS$DEQ SYS$DASSGN SYS$CREATE SYS$CONNECT SYS$CLOSE SYS$ASSIGN SYS$ASCTIMSTRLENSTRRCHRSTRCHRSTRNCMPSTRCMPSTRNCATSTRCATSTRNCPYSTRCPY LIB$SUB_TIMES LIB$SIGNALLIB$SET_SYMBOL LIB$GETSYILIB$GET_FOREIGN LIB$GETDVILIB$FID_TO_NAMEPINHRETRYP%s%sP%s (%08.8X)P|P.DSKP.DSKP.DSKPPLNM$FILE_DEVPSYS$NODEP::P$LOGDISK_PSYS$COMMANDP.DATP%s;%d P%s;-%dlP<^C$MAIN<(P CC$RMS_FAB(D CC$RMS_RAB (` CC$RMS_NAM (, CC$RMS_XABFHC ?LIB$GET_FOREIGNP SIGNAL_ERROR2!n<~MALLOCPSSTS<n CLI$PRESENTP%?ݮ CLI$GET_VALUEP2RRTdSRPRRTTSTRLENPU TSTRLENPUUS[R'SbTSTRNCMPP EXITRݏ SIGNAL_ERROR2P^ݬ CLI$PRESENTPP1 P!PP P0PPPP SIGNAL_ERROR^R<P`ݬ CLI$PRESENTPG?ݬ CLI$GET_VALUEP3QP2PPPQa߭}SSCANFPЭPPPP^R<P`ռݬ CLI$PRESENTPP?ݬ CLI$GET_VALUEPQԼQPQ9QP2PPPQa߭€SSCANFPЭPPP ^<~MALLOCPRRSR<ݬ CLI$PRESENTP ?ݬ CLI$GET_VALUEP 2PPScRPPP^VWU<|%GETQUALP SHOW_TRACEP&GETQUALP SHOW_WATCHP#n<~MALLOCPSSTS<n CLI$PRESENTP#?ݮ CLI$GET_VALUEP2RRTdSRRRg1GETQUALP1 LIB$SIGNALT SIGNAL_ERRORS߭f?HSYS$DEVICE_SCANPRRX &UULD_NOUNITSFOUNDd < ~cURc2\LSHOW_ONEPRR LD_NOTCONNECTEDdRR1vg FULLDEVSPECPSHOW_ONEP g FULLDEVSPECPLD_NOTCONNECTED LIB$SIGNAL Τ^SЬRRSTRLENPͤRͨRGET_UNITPլR LD_NOSUPPORT LIB$SIGNALP|~?ͤ SYS$ASSIGNPRR@ݬLD_REMOTEALLOC LIB$SIGNAL1R SIGNAL_ERRORRb|~ͬ@~Ͳ|~2~ SYS$QIOWPQ2~Qb2~ SYS$DASSGNPbLD_NOTCONNECTEDP2P@Ͳ"ͲSTRCPYÃSTRCATPͬͲCREATE_FILENAMEÏSTRCATàSTRCATݬ LD_CONNECTED LIB$SIGNAL2P\^VTWĪĞ"<~MALLOCPRRSR<ݮ CLI$PRESENTP!?䟭ݮ$ CLI$GET_VALUEP2\\ScR\\\#<~MALLOCPRRSR<ݮ CLI$PRESENTP"?⟭ݮ  CLI$GET_VALUEP2\\ScR\\\g6GETQUALPY2<͞͞\lݮ CLI$PRESENTPK?ݮ CLI$GET_VALUEP8͞P\2\\\P`߭}͞SSCANFPЭPPP\\\SS LD_BADALLOCLASS LIB$SIGNAL9GETQUALPX1N OPEN_FILE+<͖͖͚͖\lݮ CLI$PRESENTPO?ޟ͖ݮ CLI$GET_VALUEP;͖P\2\\\P`߭}͖SSCANFP ЭPPPP\\\n, <͎͎͎͒\lݮ  CLI$PRESENTPM?ܟ͎ݮ CLI$GET_VALUEP9͎P\2\\\P`߭}͎SSCANFPЭPPP\\\[-<͆͆͊͆\lݮ CLI$PRESENTPM?ڟ͆ݮ CLI$GET_VALUEP9͆P\2\\\P`߭}͆SSCANFPЭPPP\\\Z.<~~͂~\lݮ CLI$PRESENTPM?؟~ݮ  CLI$GET_VALUEP9~P\2\\\P`߭}~SSCANFPЭPPP\\\P Pbn[ZVnRPnR[Q[QRQPZ\Z\\P!P FULLDEVSPECPݦSTRLENPfUIJg><~MALLOCPg|~?柭 SYS$ASSIGNP SIGNAL_ERRORg2~ GETDEVNAMU{PgGET_UNITPRg FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALRSET_SEED|~?柭 SYS$ASSIGNP SIGNAL_ERRORg2~ GETDEVNAMgGET_UNITPR LD_DUPUNIT LIB$SIGNALS)|~|~S|~2~ SYS$QIOW2~P SIGNAL_ERROR0GETQUALP < SPSX.SZ[ݮ  |~2~ PLIB$DELETE_FILESPRINTFPRINTFFPRINTFSSCANFUNGETCFWRITEFREADFGETCFCLOSEFDOPENEXITSYS$DEVICE_SCANATOIREALLOCSYS$DEVICE_SCANFREECREATFREEREALLOCOPENSYS$DEVICE_SCANEXIT l<MAIN GETQUAL  GETQUALVALUE GETMULQUALVALUE  GETQUALSTRING pSHOW  SHOW_ONE x CONNECT_UNIT  GETDEVNAMMSYS$QIOWPR%ɏS~|~|~f|~2~ SYS$QIOWPR2~R SIGNAL_ERROR2~ SYS$DASSGNP SIGNAL_ERRORX  CLOSE_FILE>GETQUALPHgGET_UNITPĸ߭SPRINTFޭ߭STRLENPПLIB$SET_SYMBOLP SIGNAL_ERRORY"g FULLDEVSPECPSHOW_ONEP SIGNAL_ERRORPUg FULLDEVSPECPLD_UNIT LIB$SIGNAL^<ЬRR?|~? ߭ LIB$GETDVIP SIGNAL_ERROR2P@<^SЬUUSTRLENPUլ(|~߭ ߭ LIB$GETDVIP SIGNAL_ERRORЭPURTbBbPPP@cP*T$P!PRbPPP@c PRATOITbݬLD_BADDEVSYNTAX LIB$SIGNAL ^R»|~? SYS$ASSIGNP SIGNAL_ERRORSc|~|~~|~2~ SYS$QIOWPQ2~Qc2~ SYS$DASSGNP|^VU)GETQUALP STOP_TRACEP#<~MALLOCPRRSR<ݮ CLI$PRESENTP#?ݮ   CLI$GET_VALUEP2\\ScR\P\\eeGET_UNITPe FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALeeSTRLENP*n<\ln CLI$PRESENTPK?ݮ CLI$GET_VALUEP8P\2\\\P`߭}SSCANFPЭPPP\\\S<ST8GETQUALPT|~? SYS$ASSIGNP SIGNAL_ERRORRbT|~|~S|~2~ SYS$QIOW2~Pb2~ SYS$DASSGNP$^T#n<~MALLOCPRRSR<n CLI$PRESENTP!?ݮ CLI$GET_VALUEP2\\ScR\\\ddGET_UNITPd FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALddSTRLENP|~? SYS$ASSIGN }$LD051.A`MO[VDBURG.LD.FWARE.KIT]LD.OBJ;1N1"P SIGNAL_ERRORRb|~|~|~2~ SYS$QIOW2~Pb2~ SYS$DASSGNP$^T#n<~MALLOCPRRSR<n CLI$PRESENTP!?ݮ CLI$GET_VALUEP2\\ScR\\\ddGET_UNITPd FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALddSTRLENP|~? SYS$ASSIGNP SIGNAL_ERRORRb |~|~|~2~ SYS$QIOW2~Pb2~ SYS$DASSGNP$^T#n<~MALLOCPRRSR<n CLI$PRESENTP!?ݮ CLI$GET_VALUEP2\\ScR\\\ddGET_UNITPd FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALddSTRLENP|~? SYS$ASSIGNP SIGNAL_ERRORRb|~|~|~2~ SYS$QIOW2~Pb2~ SYS$DASSGNPΔ^Z'GETQUALRbP/bPUSbPTbPUbPWbPXbP ZbPYbP["bPV<Y[Y GETQUALVALUEPY<YծU GETQUALVALUEPX#$<~MALLOCPSSTS<ݮ$ CLI$PRESENTP$?ݮ, CLI$GET_VALUEP2RRTdSRPRRjjGET_UNITPj FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALjjSTRLENP|~? SYS$ASSIGNP SIGNAL_ERRORV1" <~MALLOCPSSTS<ͼݮ  CLI$PRESENTP#?ͼݮ( CLI$GET_VALUEP2RRTdSRRRnn OPEN_FILE2~ GETDEVNAMSTRLENP@ RRRSTRCMPPLD_FILEONOTHER LIB$SIGNALU1/ GETQUALVALUEPS< ~|~|~|~2~ SYS$QIOW2~P SIGNAL_ERRORЭRSSR LD_WPTNOTFOUND LIB$SIGNALR1RTTMALLOCPW<$~ SIGNAL_ERROR |~TW|~2~ SYS$QIOW2~P SIGNAL_ERRORSSRRWg̰Ұ԰ ְОW1&߭$GETLISTPTխ1 ~MALLOCPW<$~ SIGNAL_ERRORSWRS1 LIB$SIGNALUЄbծ cPծ VծPXˏXPP EP?PPV LD_NOREADWRITEebV  b LD_VBNERROReծ-Pծ  ծ[ Y P SRS1+V TPTծ SPSS|~ݭW|~2T~ SYS$QIOW2~P SIGNAL_ERROR2~ SYS$DASSGNP SIGNAL_ERRORV n CLOSE_FILEP4^S# GETQUALSTRINGPccGET_UNITPc FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALccSTRLENP|~߭ SYS$ASSIGNP SIGNAL_ERRORWg/GETQUALP1/ GETQUALVALUEPT< ~|~|~|~ݭ SYS$QIOW2~PgЭRTTR LD_WPTNOTFOUND LIB$SIGNALR1RUUMALLOCPV<$~ SIGNAL_ERROR |~UV|~ݭ SYS$QIOW2~P SIGNAL_ERRORTT\\Vfְܰް దڞVUP߭$GETLISTPRխ;~MALLOCPV <$~gQVPQPЂ`QPQ |~ݭV|~ݭ SYS$QIOW2~P SIGNAL_ERRORݭ SYS$DASSGNP SIGNAL_ERROR^R# GETQUALSTRINGPbbGET_UNITPb FULLDEVSPECP LD_NOSUPPORT LIB$SIGNALbbSTRLENP߭$GETLISTPV|~߭ SYS$ASSIGNP SIGNAL_ERRORSc< ~|~|~|~ݭ SYS$QIOW2~PcЭUFUTTMALLOCPX <$~c |~TR LD lmain?getqual\ getqualvaluezgetmulqualvalue getqualstringQ pshowshow_onegx connect_unit;  getdevnam@ get_unit set_seedt tracenotraceprotect noprotect watchDnowatch0 show_watchX|~ݭ SYS$QIOW2~P SIGNAL_ERROR< ~|~|~|~ݭ SYS$QIOW2~P SIGNAL_ERRORЭTJxTSSMALLOCPW<$~ SIGNAL_ERROR |~SW|~ݭ SYS$QIOW2~P SIGNAL_ERRORݭ SYS$DASSGNP SIGNAL_ERRORTWݭVUX DISPLAY_WATCH^U/GETQUALP/ GETQUALVALUEPnެվ1Ԯ Yվ1ެXެTPRINTFVSPRINTF[ DECODE_FUNCZެWSh&RЬ PRh1P`S$PRPRhծYRnRSPSS1=ծ ff dP<RRCREATE_FILENAMEDfdS<RRZV߭k c[߭kdR<PPP1P?PdR<~jP߭Y~_fSЬRSg1ѢdP  bxfSRSghPdS< ~SSDEFP< ~<~jP߭Y~Šf9PdR<~jP߭Y~fdR<~jP߭Y~fYdY1lծ LD_WPTNOTFOUND LIB$SIGNALLD_NOWATCHDATA LIB$SIGNALP|^UMALLOCPT<$~ SIGNAL_ERRORԼTVЬSn<P`վS CLI$PRESENTPRa?S CLI$GET_VALUEPQԾQREQ9QP2PPPQa߭ŀSSCANFP ЭPPPPRRfխTPЬP`խ0`PxP~TREALLOCPT<$~ SIGNAL_ERRORxVTV1)TP<^UT<|# GETQUALSTRINGP1GETQUALPz SIGNAL_ERRORSP߭e?SYS$DEVICE_SCANPRRX *TTLD_NOUNITSFOUND LIB$SIGNAL < ~cTRc2\LSTOP_ONERP FULLDEVSPECPSTOP_ONEPΘ^TЬRRSTRLENPRכޭ|͛ͣͧͩ͟͝ޭͫͯͳ͵ޭͷ|ͻ|RGET_UNITPլR LD_NOSUPPORT LIB$SIGNALPݬ BUILD_LOCKPݭSTRLENP|~|~|~d|~ SYS$ENQWP SIGNAL_ERROR|~ SYS$GETLKIWPR2~R SIGNAL_ERRORˏRxPʏPPRWUXVW1ѥ1X|~͛|~0 SYS$GETJPIWPQ2~Q SIGNAL_ERRORЭSФRSRѭ BSR"ѭ 2ݬLD_NOWORLDPRIV LIB$SIGNALPSRݬLD_NOGROUPPRIV LIB$SIGNAL|~|~|~d SYS$ENQWP SIGNAL_ERROR|~ݤSYS$DEQP SIGNAL_ERROR VUVW1/Xݬ FULLDEVSPECPLD_CONTTRACENOTACT LIB$SIGNALP^YԭİȰʞ ||؟GGETQUALP PROCESS_INPUT# GETQUALSTRINGPi LD_CONFQUALx LIB$SIGNALi FULLDEVSPECPiiGET_UNITPi LD_NOSUPPORT LIB$SIGNALiiSTRLENP:GETQUALP[|~߭ SYS$ASSIGNP SIGNAL_ERRORRb<~|~|~|~ݭ SYS$QIOW2~PbЭV&VZZMALLOCPU <$~b<W8GETQUALPȏW7GETQUAL\P\\X1<W SET_OUTBANDi BUILD_LOCKPݭSTRLENP|~߭|~ SYS$GETJPIW2~P SIGNAL_ERROR|~|~|~ SYS$ENQWPRR i FULLDEVSPECPLD_CONTTRACEACT LIB$SIGNALR SIGNAL_ERRORSc|~|~|~ SYS$ENQWPc|~LD_EXIT|~|~ SYS$ENQWPcXRRRT SIGNAL_ERRORSPW|~ZU|~ݭ SYS$QIOWPc2\\8 ЭRV R\c[#ݭVi FULLDEVSPECP LD_STATUS LIB$SIGNALIPխ+T|~CVTTIMEPNODENAMEPRݭU PROCESS_TRACE LD_NOTRCDATA LIB$SIGNALTX1M SYS$DASSGNPR SIGNAL_ERRORUFREE^?Y[X USRլբ1բ1iGETQUALPi GETQUALVALUEPi GETQUALVALUEP=GETQUALPb4GETQUALP4 GETQUALVALUEP3GETQUALP-3 GETQUALVALUEP Ѣ < բ  ע HGETQUALP$H GETQUALSTRINGPբ$1b1VVVSTRLENPTPT  e(Ю0ݮSTRLENP5T4V,c SYS$PARSEPݣ ݣLD_DETECTEDERR LIB$SIGNAL P@1PVVVSTRLENPTT  e(Ю0ݮSTRLENP5T4V,c SYS$PARSEPݣ ݣLD_DETECTEDERR LIB$SIGNAL P@բ?kFCLOSEP LD_CLOSERR LIB$SIGNALբݢ  PURGE_FILEb"CREATP P+#CREATP2FDOPENPk LD_OUTFILERR LIB$SIGNALբ$DkWբlТVТWV WWV LD_BADENTPARAM LIB$SIGNALVVЬZnW?VP&PPZVn0VVVPTPPTTQ&QZZQn ЬZЬVnVW LD_PASTDATA LIB$SIGNALЬWWVWЬWW VWPPPV 7#$LD051.A`MO[VDBURG.LD.FWARE.KIT]LD.OBJ;1N@"-b1!Џլբ 1բ1k߭FWRITETdP?k  FULLDEVSPECPdP"k ݬdPkݬdP LD_FILWRTERR LIB$SIGNALբd k߭FWRITETdP#k߬dPkݭ&ZdP LD_FILWRTERR LIB$SIGNALբL(P PP Px PPѢ P1Ԣ (Pݬݬ ݬݬݬkݮݭZ SHOW_TRACE_DATAk/լ*kFCLOSEP LD_CLOSERR LIB$SIGNAL^UTլ 1@GETQUALRbP(AbP,BbP0EbP<KbP@IbPDLbPHJbPLDbP8QbPPRbPTCbP4MbPXNbP\ObP`PbPdFbPh;bPl<bP|Ь p|ߤtդl1Kլ 1Cݬݬ5ݬFPRINTFP LD_FILWRTERR LIB$SIGNALլݬ]ݬFPRINTFPRkݬFPRINTFPRR LD_FILWRTERR LIB$SIGNALRbդhnSTRCPYդ<Zդ@uSTRCATDդD|STRCAT.PդHŕSTRCATPդLŨSTRCATդ(ŻSTRCATդ,STRCATդ0STRCATդ4[դXSTRCATEդ\STRCAT.Pդ`STRCATPդdSTRCATդ8STRCATSTRLENPVVS CFRVSRS-BRRSRSR CBݬFPRINTFPݬFPRINTFP LD_FILWRTERR LIB$SIGNALԮ լ1yFPRINTF LIB$SIGNALnSPRINTFX LIB$SUB_TIMESZ SIGNAL_ERROR[CVTTIMEYSTRCATVSSDEFЬ(R1դ||լ$ RSԬ(,Ь$PSQRpR`RРS QPQ(S?S<R9RRS ݬP LD_FILWRTERRP`ЬP< WʏWW#W WWЬPԠդhݤp>h֤pդ<1դ@.߭ЬPjPk߭iPf1ZդD;ЬRiPfCfiPf1PդHK߭ЬRjPkiPfEf߭iPf1դL1դtդxGfk߭ߤtЬRjPSP6S!߭ߤtjPkSfSkՔPUf߭iPfWf߭ЬRjPk߭iPfТtТxYfդ(ݼ[hfդ,ЬPݠahfդ0ЬPݠghfդ41դXЬPݠlh1դ\ЬPݠݠthzդ`#ЬPˏ~ PŃhUPդdMW'S$PЬPxRʏRˏPxPPRPSSЬPˏ~Pʼnhfդ8FդPЬP< ~œh!դTЬP< ~ DECODE_FUNCPśhfXSTRLENPR B@şݬP LD_FILWRTERR&֮ Ѯ 1^R@€?ݬ SYS$GETMSGP SIGNAL_ERROR2P@€P^[ WTXG GETQUALSTRINGPS1ˢ ˣծ ݮ STRLENPRR  g(Ю0ݮSTRLENP5R4Ю ,d SYS$PARSEPݤ ݤLD_DETECTEDERR LIB$SIGNAL RBwP˰nSSSTRLENPRR  g(n0nSTRLENP5R4S,d SYS$PARSEPݤ ݤLD_DETECTEDERR LIB$SIGNAL暧 RB˽|~ݮOPENPPFDOPENPݮ LD_INFILERR LIB$SIGNALݮ߭FREADPݮ LD_FILREADERR LIB$SIGNALxRˏRЭRRRLD_CANTREADOLDFMT LIB$SIGNALݮ ߭ОFREADRbP$ݮ ߭bPݮ߭bPݮ LD_FILREADERR LIB$SIGNALޭ|U|Yݮ߭FREADPݮ߭FREADPݮ LD_FILREADERR LIB$SIGNALU\&\~ZREALLOCPS<$~ SIGNAL_ERRORSZ&U\\Sխ8V\x\~YREALLOCPR<$~ SIGNAL_ERRORRYxV\\RUbЭVUݮݭ&SFREADPݮ LD_FILREADERR LIB$SIGNALݮFGETCPݮPUNGETC1P߭߭VYUZ PROCESS_TRACEZFREEY YFREEݮFCLOSEPݮ LD_CLOSERR LIB$SIGNALP<^RT?ˏUխ E\PޭP`UPP05P1?P߭<~߭CHK_MOD߭@~߭CHK_MOD1P߭<~߭CHK_MODSc߭@~߭c߭Ӏ~߭c߭<~߭c1߭ @~߭CHK_MOD1m߭@~߭CHK_MOD1U߭<~߭CHK_MODSc߭"<~߭c߭+<~߭c߭3<~߭c1P߭9<~߭CHK_MOD1P߭C<@~߭CHK_MOD߭M<~߭CHK_MOD1߭S<~߭CHK_MODSc߭\<@~߭c߭f<~߭c߭p<~߭c߭y<~߭c߭<~߭c@P߭Š<~߭CHK_MODSc߭“<@~߭c߭<~߭c߭E\¦SPRINTF?Pݭ«SPRINTFP ^SЬRbPPP÷ݬSTRCATݬ ݬSTRCATʬbP^R<ݬ ݬ? SYS$ASCTIMP SIGNAL_ERROR2P@լPP ^[ZYUV W X SRŹ05Џc(ЬTT,TSTRLENP4h$  b SYS$PARSEPݢ ݢT LD_OPENERR LIB$SIGNAL뚣9Q:PQPTTݣDiSTRNCPYbSYS$OPENPݢ ݢݬ LD_OPENERR LIB$SIGNAL;Q<PPQ=PPQ~ݣLDiSTRNCATiiSTRLENPj9P@iiSTRLENPQ9PPQkУD9Ш<P찣$&(|~? SYS$ASSIGNP SIGNAL_ERROR g  ԧf @ g|~ |~r~2~ SYS$QIOWPQ2~Q SIGNAL_ERROR ^S|~|~ |~42~ SYS$QIOWPQ2~Q SIGNAL_ERROR2~ SYS$DASSGNP SIGNAL_ERRORc SYS$CLOSEPRPݣ ݣݬ LD_CLOSERR LIB$SIGNALR <GET_UNIT SET_SEED |TRACE NOTRACE PROTECT  NOPROTECT WATCH DNOWATCH 0 SHOW_WATCH  DISPLAY_WATCH |GETLIST < STOP_TRACE STOP_ONE ! SHOW_TRACE D$ PROCESS_TRACE )SHOW_TRACE_DATA |1SSDEF 1 PROCESS_INPUT X5< DECODE_FUNC H8 CHK_MOD 8CVTTIME 8 OPEN_FILE : CLOSE_FILE~ SIGNAL_ERROR^VXU<|# GETQUALSTRINGPh(GETQUALRPRRW1GETQUALP1 LIB$SIGNALT SIGNAL_ERRORSP߭f?SYS$DEVICE_SCANPRRX &UULD_NOUNITSFOUNDd < ~cURc2\LWDISCONNECT_ONEPRR LD_NOTCONNECTEDdRR1tPWhDISCONNECT_ONEP h FULLDEVSPECPLD_NOTCONNECTED LIB$SIGNALPΠ^ݬ FULLDEVSPECPSSGET_UNITPլ S LD_NOSUPPORT LIB$SIGNALPЬʹݬSTRLENPͰ|~߭Ͱ SYS$ASSIGNPRR@SLD_REMOTEALLOC LIB$SIGNAL1R SIGNAL_ERRORլt|~͢@~͸|~ͨݭ SYS$QIOWP SIGNAL_ERRORͬLD_NOTCONNECTEDP2ͪP@͸ͬT͢͸CREATE_FILENAME OPEN_FILERP<RR|~|~ |~ͨݭ SYS$QIOWPQ2ͨ~Q SIGNAL_ERRORݭ SYS$DASSGNP SIGNAL_ERRORլT T CLOSE_FILE6GETQUALPS LD_NOWDISCONN LIB$SIGNAL2P^WX S URT" GETQUALSTRINGPhPVǾnVVSTRLENP\\  c(n0nSTRLENP5\4V,b SYS$PARSEPݢ ݢLD_DETECTEDERR LIB$SIGNAL \Lh* GETQUALVALUEP<hPޭо05Џ!6c(P,PSTRLENP4b<Ю0"  b SYS$PARSEPݢ ݢh display_watch"getlist stop_tracestop_one5! show_trace+D$ process_trace;)show_trace_data |1ssdefH1 process_inputX5 decode_funcH8chk_mod:8cvttimeP8 open_file: close_fileT;disconnect_unit5<disconnect_one  >createj@ setu LD_CREATERR LIB$SIGNAL6ݏDh LD_CREATERR LIB$SIGNAL5ݏDh LD_CREATERR LIB$SIGNALb SYS$CREATEPݢ ݢh LD_CREATERR LIB$SIGNAL SETFILECHARe SYS$CONNECTPݢ ݢh LD_CREATERR LIB$SIGNAL(eSYS$ ~$LD051.A`MO[VDBURG.LD.FWARE.KIT]LD.OBJ;1N >PUTPݢ ݢh LD_FILWRTERR LIB$SIGNALb SYS$CLOSEPݢ ݢh LD_CLOSERR LIB$SIGNAL6GETQUALP'h OPEN_FILE LD_CREATED LIB$SIGNALh CLOSE_FILEP|^V T SRЬUe05Џ!6d(Ь,ݬSTRLENP4b<U0"  ^ WUXS T R$&(ТD9e|~?he SYS$ASSIGNP SIGNAL_ERRORVfdޭԤc@gd|~g|~22h~ SYS$QIOW2~Pfȏ 5GETQUALPd|~g|~62h~ SYS$QIOW2~Pf2h~ SYS$DASSGNP<^ SRTլݬSTRLENPUPU  c(Ь0ݬSTRLENP5U4Ь,b SYS$PARSEPݢ ݢLD_DETECTEDERR LIB$SIGNAL皣 P@P ^ݬSTRLENPЬ@~MALLOCPR<$~ SIGNAL_ERRORR@?߭ LIB$GETDVIP SIGNAL_ERROR2P@RP^ЬRRSTRLENPR<|~?ݬLIB$FID_TO_NAMEP SIGNAL_ERROR2P@R FULLDEVSPECP STRCPY:STRCHRPP STRCAT 8^SR |~?<߭ LIB$GETSYIP2\LSTRCATA԰>ԭ߭꟭ SYS$TRNLNMP SIGNAL_ERROR2\LP ^SRSTRCPYNODENAMEPSTRCATSTRLENP@ݬ FULLDEVSPECPSTRCATP$^R |~߭J߭ LIB$GETDVIP SIGNAL_ERRORխ|~? SYS$ASSIGNP SIGNAL_ERRORԭЏ|~|~߭LD_EXIT|~<#~2~ SYS$QIOW2~P SIGNAL_ERROR^T;ЬSSSTRRCHRPRSSTRLENP@c;bЬRRݬSPRINTFRݬ SPRINTFSTRLENP2R|~|~|~ LIB$DELETE_FILEPRRR R SIGNAL_ERROR^RP3P*PFCLOSEP LD_CLOSERR LIB$SIGNAL|~ݢSYS$DEQP SIGNAL_ERROR2~ SYS$DASSGNP SIGNAL_ERRORլLD_TRACESTOPPED LIB$SIGNALLD_TRACESTOPPEDEXITPEXITP ^߭ݬ CONVERT_ERRORPR߭ݬ CONVERT_ERRORPQ լkgRQ*ѭ|~ݭ LIB$SIGNALP|~ݭݭ LIB$SIGNALPѭ|~ݭLD_DETECTEDERR LIB$SIGNAL|~ݭݭLD_DETECTEDERR LIB$SIGNALP^ЬQQH LD_DEVASSIGNR1/Q LD_ALRDYCONNR1Q  LD_NOTCONNR1Q LD_TRCDISABLR1Q LD_TRCENABLR1Q" LD_NOWATCHDATAR1Q\ p_fabA setfilecharB fullfilespecB fulldevspectCcreate_filenameCnodenameDD build_lockhD set_outbandTE purge_file Fld_exitF signal_errorlG convert_errorS S-l 󂄄  LD_WPTNOTFOUNDR1Q" LD_NESTINGR1Q LD_FILEINUSER1Q@ LD_DEVICEINUSER}PQ4 LD_FILEONOTHERRiPQ LD_VBNERRORRUPQJ LD_NOCLUSTERRAPQ LD_NOTVISIBLER-PQ LD_INVGEOMETRYRPQ< LD_DEVCONNECTEDR PQPRP5Prssssssnss6sssssssssssssss6sssssssssssss6Pe-P###++++++++#[PCREATE[ P CONNECT_UNIT[PS[  T;DISCONNECT_UNIT <DISCONNECT_ONE >CREATE @| SETUP_FAB A SETFILECHAR B< FULLFILESPEC B FULLDEVSPEC CCREATE_FILENAME C NODENAME DD BUILD_LOCK D SET_OUTBAND TE PURGE_FILE FLD_EXIT F SIGNAL_ERROR lG CONVERT_ERRORC$MAINH$CODE$DATASTDINSTDOUTSTDERRERRNO VAXC$ERRNO_CTYPE_PLD_FABDLD_RABI`LD_NAM, LD_XABFHCATR SBK@FIB MAXBLOCKSFCHAN OUTBAND_CHANS_FILES_DEVICE OUTFILENAMELD_LKSBWILDNAME $CHAR_STRING_CONSTANTSOUTFILEOUTFILEIREALSPECRESSPECEXPSPEC REALSPEC_DSC REALDEV_DSCLDFILENAME_DSCFIB_DSCCOMMANDSW_FILE SW_DEVICE SW_LBLOCKSW_TRACESW_WATCH SW_RESUMESW_ABORTSW_STOPSW_SIZE SW_TRACKS SW_SECTORS SW_CYLINDERS SW_MAXBLOCKSSW_INDEXSW_SHARESW_ALL SW_ALLOCLASSSW_VERSION_LIMIT SW_BLOCKS SW_BACKUPSW_LOG SW_CONTINUOUSSW_RESET SW_REPLACE SW_STATUS SW_HEADER SW_WARNINGS SW_BINARY SW_SYMBOL SW_ENTRIESSW_PIDSW_LBN SW_BYTECOUNTSW_IOSB SW_FUNCTION SW_TIMESTAMP SW_NUMBERSW_INPUT SW_OUTPUTSW_TIME_ABSOLUTE SW_TIME_DELTASW_TIME_ELAPSEDSW_TIME_COMBINATION SW_IOSB_HEXSW_IOSB_LONGHEX SW_IOSB_TEXTSW_IOSB_COMBINATIONSW_FUNCTION_HEXSW_FUNCTION_TEXTSW_FUNCTION_READSW_FUNCTION_WRITESW_FUNCTION_CODE SW_ACTIONSW_ACTION_SUSPENDcfSW_ACTION_CRASHSW_ACTION_ERRORSW_ACTION_OPCOMXCMNDSCVTTBLpDISCONNECT_UNIT[PSHOW[$PTRACE[,PNOTRACE[4PWATCH[! /SYMBOL, /SHARE, /MAXBLOCKS, /TRACKS, /SECTORS, /CYLINDERS! and /ALLOCLASS@! - Removed from CONNECT: /ALLOCATED (superceeded by /MAXBLOCKS)!!---  DEFINE VERB LD IMAGE LD. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS) DEFINE TYPE LD_OPTIONS KEYWORD CREATE,SYNTAX=CREATE KEYWORD SHOW,SYNTAX=SHOW KEYWORD CONNECT,SYNTAX=CONNECT& KEYWORD DISCONNECT,SYNTAX=DISCONNECT KEYWORD TRACE,SYNTAX=TRACE" KEYWORD NOTRACE,SYNTAX=ONE_PARAM KEYWORD WATCH,SYNTAX=WATCH# KEYWORD NOWATCH,SYNTAX=SHOW_WATCH" KEYWORD PROTECT,SYNTAX=ONE_PARAM$ KEYWORD NOPROTECT,SYNTAX=ONE_PARAM DEFINE SYNTAX SHOW. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE)0 QUALIFIER TRACE,NONNEGATABLE,SYNTAX=SHOW_TRACE0 QUALIFIER WATCH,NONNEGATABLE,SYNTAX=SHOW_WATCH- QUALIFIER ALL,NONNEGATABLE,SYNTAX=PARAM_ALL DEFINE SYNTAX CREATE. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS), PARAMETER P2,LABEL=FILE,PROMPT="Filespec", VALUE(REQUIRED,TYPE=$FILE)= QUALIFIER SIZE,NONNEGATABLE,VALUE(DEFAULT=512,TYPE=$NUMBER) QUALIFIER BACKUP QUALIFIER LOG DEFINE SYNTAX CONNECT. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS), PARAMETER P2,LABEL=FILE,PROMPT="Filespec", VALUE(REQUIRED,TYPE=$FILE)/ PARAMETER P3,LABEL=DEVICE,PROMPT="LD_Device", VALUE(TYPE=$DEVICE)2 PARAMETER P4,LABEL=LOGNAM,PROMPT="Logical name", VALUE(TYPE=$QUOTED_STRING)? QUALIFIER ALLOCLASS,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER)< QUALIFIER TRACKS,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER)= QUALIFIER SECTORS,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER)? QUALIFIER CYLINDERS,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER)? QUALIFIER MAXBLOCKS,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER) QUALIFIER REPLACE QUALIFIER SYMBOL QUALIFIER SHARE QUALIFIER LOG DISALLOW (REPLACE AND TRACKS) DISALLOW (REPLACE AND SECTORS)" DISALLOW (REPLACE AND CYLINDERS)" DISALLOW (REPLACE AND MAXBLOCKS) DEFINE SYNTAX DISCONNECT. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE)- QUALIFIER ALL,NONNEGATABLE,SYNTAX=PARAM_ALL QUALIFIER ABORT,NONNEGATABLE QUALIFIER LOG DEFINE SYNTAX TRACE. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE). QUALIFIER STOP,NONNEGATABLE,SYNTAX=ONE_PARAM- QUALIFIER ALL,NONNEGATABLE,SYNTAX=PARAM_ALL= QUALIFIER SIZE,NONNEGATABLE,VALUE(DEFAULT=512,TYPE=$NUMBER) QUALIFIER RESET,NONNEGATABLE DISALLOW (RESET AND SIZE) DISALLOW (STOP AND SIZE) DISALLOW (STOP AND RESET) DISALLOW (ALL AND SIZE) DISALLOW (ALL AND RESET) DEFINE SYNTAX NOTRACE. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE) DEFINE SYNTAX WATCH. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE), PARAMETER P3,LABEL=LBLOCK,PROMPT="Lbn(s)",$ VALUE(REQUIRED,TYPE=$NUMBER,LIST)8 QUALIFIER FILE,NONNEGATABLE,VALUE(REQUIRED,TYPE=$FILE)1 QUALIFIER RESUME,NONNEGATABLE,SYNTAX=SHOW_WATCHR QUALIFIER FUNCTION,NONNEGATABLE,DEFAULT,VALUE(REQUIRED,TYPE=IOFUNCTION_KEYWORDS)L QUALIFIER ACTION,NONNEGATABLE,DEFAULT,VALUE(REQUIRED,TYPE=ACTION_KEYWORDS); QUALIFIER INDEX,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER) DISALLOW (FILE AND RESUME) DISALLOW (FUNCTION AND RESUME) DISALLOW (ACTION AND RESUME) DISALLOW (INDEX AND FUNCTION) DISALLOW (INDEX AND ACTION) DEFINE SYNTAX SHOW_WATCH. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE), PARAMETER P3,LABEL=LBLOCK,PROMPT="Lbn(s)", VALUE(TYPE=$NUMBER,LIST) QUALIFIER WATCH,DEFAULT QUALIFIER RESUME,DEFAULT8 QUALIFIER FILE,NONNEGATABLE,VALUE(REQUIRED,TYPE=$FILE)R QUALIFIER FUNCTION,NONNEGATABLE,DEFAULT,VALUE(REQUIRED,TYPE=IOFUNCTION_KEYWORDS)L QUALIFIER ACTION,NONNEGATABLE,DEFAULT,VALUE(REQUIRED,TYPE=ACTION_KEYWORDS); QUALIFIER INDEX,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER) DISALLOW (FUNCTION AND RESUME) DISALLOW (ACTION AND RESUME) DISALLOW (INDEX AND FUNCTION) DISALLOW (INDEX AND ACTION) DEFINE SYNTAX SHOW_TRACE. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE) QUALIFIER TRACE,DEFAULT QUALIFIER RESET,NONNEGATABLE QUALIFIER BINARY,NONNEGATABLE QUALIFIER STATUS,NONNEGATABLE< QUALIFIER BLOCKS,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER)C QUALIFIER VERSION_LIMIT,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER) QUALIFIER HEADER,DEFAULT QUALIFIER WARNINGS,DEFAULT# QUALIFIER CONTINUOUS,NONNEGATABLEE QUALIFIER ENTRIES,NONNEGATABLE,VALUE(DEFAULT=-10,TYPE=$NUMBER,LIST)$ QUALIFIER OUTPUT,VALUE(TYPE=$FILE)A QUALIFIER INPUT,NONNEGATABLE,VALUE(TYPE=$FILE),SYNTAX=PARAM_ALL QUALIFIER NUMBER QUALIFIER PID,DEFAULT QUALIFIER LBN,DEFAULT QUALIFIER BYTECOUNT,DEFAULT2 QUALIFIER IOSB,DEFAULT,VALUE(TYPE=IOSB_KEYWORDS): QUALIFIER FUNCTION,DEFAULT,VALUE(TYPE=FUNCTION_KEYWORDS)< QUALIFIER TIMESTAMP,DEFAULT,VALUE(TYPE=TIMESTAMP_KEYWORDS)) DISALLOW (VERSION_LIMIT AND NOT BINARY)" DISALLOW (BLOCKS AND NOT BINARY)) DISALLOW (VERSION_LIMIT AND NOT OUTPUT)" DISALLOW (BLOCKS AND NOT OUTPUT)# DISALLOW (CONTINUOUS AND ENTRIES)" DISALLOW (CONTINUOUS AND STATUS)! DISALLOW (CONTINUOUS AND INPUT)" DISALLOW (BINARY AND NOT OUTPUT) DISALLOW (STATUS AND ENTRIES) DISALLOW (STATUS AND INPUT) DISALLOW (STATUS AND OUTPUT) DISALLOW (RESET AND INPUT) DEFINE TYPE IOFUNCTION_KEYWORDS# KEYWORD READ,NONNEGATABLE,DEFAULT KEYWORD WRITE,NONNEGATABLE8 KEYWORD CODE,NONNEGATABLE,VALUE(REQUIRED,TYPE=$NUMBER) DEFINE TYPE ACTION_KEYWORDS KEYWORD SUSPEND,NONNEGATABLE KEYWORD CRASH,NONNEGATABLE KEYWORD OPCOM,NONNEGATABLE8  $LD051.Aa MO [VDBURG.LD.FWARE.KIT]LDCLD.CLD;1RKEYWORD ERROR,NONNEGATABLE,DEFAULT,VALUE(TYPE=$NUMBER) DEFINE TYPE IOSB_KEYWORDS" KEYWORD COMBINATION,NONNEGATABLE# KEYWORD TEXT,NONNEGATABLE,DEFAULT KEYWORD HEX,NONNEGATABLE KEYWORD LONGHEX,NONNEGATABLE DEFINE TYPE FUNCTION_KEYWORDS# KEYWORD TEXT,NONNEGATABLE,DEFAULT KEYWORD HEX,NONNEGATABLE DEFINE TYPE TIMESTAMP_KEYWORDS KEYWORD ABSOLUTE,NONNEGATABLE KEYWORD DELTA,NONNEGATABLE KEYWORD ELAPSED,NONNEGATABLE* KEYWORD COMBINATION,NONNEGATABLE,DEFAULT DEFINE SYNTAX ONE_PARAM. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,PROMPT="LD_Device", VALUE(REQUIRED,TYPE=$DEVICE) DEFINE SYNTAX PARAM_ALL. PARAMETER P1,LABEL=COMMAND,PROMPT="Command"," VALUE(REQUIRED,TYPE=LD_OPTIONS)/ PARAMETER P2,LABEL=DEVICE,VALUE(TYPE=$DEVICE)'*[VDBURG.LD.FWARE.KIT]LDDRIVER_V55.OBJ;1+,ybZ.'/!H 4''-MO0123KPWO(56m(m7ݐm89G!HHJ5LDDRIVERV5.1 2-NOV-1994 14:04 VAX MACRO V5.4-3MAC LDDRIVER, VAX/VMS Logical Disk driverLDDRIVER ACP$ACCESS ACP$DEACCESS ACP$MODIFY ACP$MOUNT ACP$READBLK ACP$WRITEBLK BUG$_BADQHDRBUG$_INCONSTATE BUG$_RSVD_LPCLU$GL_ALLOCLS CLU$GL_CLUBCOM$DRVDEALMEM EXE$ABORTIOEXE$ALONONPAGEDEXE$CREDIT_BYTCNT_BYTLMEXE$DEANONPAGEDEXE$DEANONPGDSIZEXE$DEBIT_BYTCNT_ALOEXE$DEBIT_BYTCNT_BYTLM_NW EXE$FINISHIO EXE$FINISHIOCEXE$FORKEXE$GL_HBS_PTREXE$GQ_SYSTIME EXE$INSERTIRPEXE$IPID_TO_EPIDEXE$LCLDSKVALID EXE$ONEPARM EXE$QIODRVPKTEXE$QUEUE_FORK EXE$READCHK EXE$SENSEMODE EXE$SETCHAR EXE$WRITECHK EXE$ZEROPARMIAC$GL_IMAGE_LIST IOC$CVTLOGPHYIOC$CVT_DEVNAMIOC$GL_DEVLIST IOC$GQ_POSTIQ IOC$INITIATE IOC$MNTVER IOC$REQCOM IOC$RETURN IOC$SEARCHLCK$DEQLCK$ENQ LD$DDT LDIOB_B_RSVD LDIOB_B_TYPE LDIOB_L_BCNT LDIOB_L_IOSB LDIOB_L_IRP LDIOB_L_MEDIA LDIOB_L_PID LDIOB_L_QBL LDIOB_L_QFL2LDIOB_Q_EN_TIME" LDIOB_Q_STAT*LDIOB_Q_ST_TIME LDIOB_W_FUNC LDIOB_W_SIZE LDIO_M_ABORTLDIO_M_INQUIRE LDIO_M_NOWAITLDIO_M_REPLACE LDIO_M_RESET LDIO_M_SHARE LDIO_V_ABORT LDIO_V_INQUIRE LDIO_V_NOWAITLDIO_V_REPLACE LDIO_V_RESET LDIO_V_SHARE LDLVB_B_FLAGSLDLVB_B_SECTORSLDLVB_B_TRACKSLDLVB_L_ALLOCLSLDLVB_L_MAXBLOCK LDLVB_M_SHARE LDLVB_V_SHARELDLVB_W_CYLINDERS LDLVB_W_UNIT LDSNDOPRLST_B_RMOD LDSNDOPRLST_B_TYPELDSNDOPRLST_L_ASTLDSNDOPRLST_L_ASTPRMLDSNDOPRLST_L_ASTQBLLDSNDOPRLST_L_ASTQFLLDSNDOPRLST_L_KASTLDSNDOPRLST_L_LBN LDSNDOPRLST_L_PID.LDSNDOPRLST_T_DEVNAM"LDSNDOPRLST_W_ACTION(LDSNDOPRLST_W_FID_NUM,LDSNDOPRLST_W_FID_RVN*LDSNDOPRLST_W_FID_SEQ LDSNDOPRLST_W_FLAGS$LDSNDOPRLST_W_FUNC&LDSNDOPRLST_W_RETCODELDSNDOPRLST_W_SIZELDSUSPLST_L_LBNLDSUSPLST_L_PID LDSUSPLST_W_ACTIONLDSUSPLST_W_FLAGS LDSUSPLST_W_FUNCLDSUSPLST_W_RETCODE LDTRC_L_ADDR LDTRC_L_BCNT LDTRC_L_PIDLDTRC_Q_EN_TIME LDTRC_Q_IOSBLDTRC_Q_ST_TIME LDTRC_W_FUNCLDWATCHPT_L_LBN LDWATCHPT_L_SBKLDWATCHPT_M_CHARSLDWATCHPT_M_FILELDWATCHPT_M_NOLBNLDWATCHPT_M_REMOVE_ALLLDWATCHPT_S_CHARSLDWATCHPT_V_CHARSLDWATCHPT_V_FILELDWATCHPT_V_NOLBNLDWATCHPT_V_REMOVE_ALLLDWATCHPT_W_ACTIONLDWATCHPT_W_FID_NUMLDWATCHPT_W_FID_RVNLDWATCHPT_W_FID_SEQLDWATCHPT_W_FLAGSLDWATCHPT_W_FUNC LDWATCHPT_W_RETCODE LDWATCH_B_SPARE LDWATCH_B_TYPELDWATCH_L_BLINK, LDWATCH_L_FCBLDWATCH_L_FLINK LDWATCH_L_LBN LDWATCH_L_PID$LDWATCH_L_SUSPBLLDWATCH_L_SUSPCNT LDWATCH_L_SUSPFL0 LDWATCH_L_UCB( LDWATCH_L_VBNLDWATCH_M_CHARSLDWATCH_M_FILELDWATCH_M_NOLBNLDWATCH_M_REMOVE_ALLLDWATCH_S_CHARSLDWATCH_V_CHARSLDWATCH_V_FILELDWATCH_V_NOLBNLDWATCH_V_REMOVE_ALLLDWATCH_W_ACTION4LDWATCH_W_FID_NUM8LDWATCH_W_FID_RVN6LDWATCH_W_FID_SEQLDWATCH_W_FLAGSLDWATCH_W_FUNCLDWATCH_W_RETCODELDWATCH_W_SIZESCH$AR_NULLPCB SCH$GL_MAXPIX SCH$GL_PCBVEC SCH$IOLOCKR SCH$IOUNLOCK SCH$LOCKR SCH$LOCKW SCH$LOCKWEXECSCH$QAST SCH$UNLOCKSCH$UNLOCKEXECSCS$UNSTALLUCB SMP$ACQUIRE SMP$AL_IPLVEC SMP$GL_FLAGS SMP$RELEASE SMP$RESTORE SYS$CMKRNLSYS$FAOL SYS$SNDOPRlUCB$A_LD_FILE_LVBUCB$B_LD_FLAGSUCB$K_LD_UCBLENUCB$L_LD_AIOBLUCB$L_LD_AIOFL UCB$L_LD_CPID UCB$L_LD_FCB( UCB$L_LD_FR3, UCB$L_LD_FR4 UCB$L_LD_ORBSAV UCB$L_LD_PDUCB$UCB$L_LD_SAVEPCUCB$L_LD_STLBNUCB$L_LD_TRCBUFUCB$L_LD_TRCBUFALLOCSIZUCB$L_LD_TRCBUFOWNUCB$L_LD_TRCBUFPTRUCB$L_LD_TRCBUFSIZUCB$L_LD_TRCLOSTUCB$L_LD_TRCMUTEXUCB$L_LD_TRCMUTEXQBLUCB$L_LD_TRCMUTEXQFLUCB$L_LD_TRCPCUCB$L_LD_TRCWAITQBLUCB$L_LD_TRCWAITQFLUCB$L_LD_TRCWRAPUCB$L_LD_WATCHCNTUCB$L_LD_WATCHPNDQBLUCB$L_LD_WATCHPNDQFLUCB$L_LD_WATCHQBLUCB$L_LD_WATCHQFLUCB$M_LD_CONSTSUCB$M_LD_DECRAM UCB$M_LD_FKBBSYUCB$M_LD_PROTECTUCB$M_LD_REPLACEUCB$M_LD_SHAREdUCB$Q_LD_FILE_LKSB0UCB$Q_LD_PD_LKSB|UCB$T_LD_FILE_RESNAMHUCB$T_LD_PD_RESNAMUCB$V_LD_CONSTSUCB$V_LD_DECRAMUCB$V_LD_FKBBSYUCB$V_LD_PROTECTUCB$V_LD_REPLACEUCB$V_LD_SHAREUCB$W_LD_CHARGEUCB$W_LD_FID_NUMUCB$W_LD_FID_RVNUCB$W_LD_FID_SEQUCB$W_LD_STLBNHUCB$W_LD_STLBNLSYS$SYSTEM:SYS.STB . ABS .P$ABS$PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP$$$105_PROLOGUE$PQ4$4&84&4&_4&LDDRIVERQQQF11 4r<@@(x LMN| 4&\ 4&h 4&P4$ $$$115_DRIVERP4 IOC$RETURNH44 IOC$RETURN 4 IOC$RETURN IOC$MNTVER2 4& IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN}3 2 | `43P ACP$READBLK2  ACP$WRITEBLK2  43 ACP$ACCESS2 ACP$DEACCESS2` ACP$MODIFY2 ACP$MOUNT2EXE$LCLDSKVALID2 EXE$ZEROPARM2 EXE$ONEPARM2 EXE$SENSEMODE2 EXE$SETCHAR2  43 4343<PPTP(4X(4(4(4(4Y(4S(40(4 (4s (4 (4 (4 (4(4(4Y(4<P EXE$ABORTIOlPЬQ EXE$READCHK< P [< PP R SCH$IOLOCKR0RUlQ<PTIOC$CVT_DEV$LD051.AybZMO'[VDBURG.LD.FWARE.KIT]LDDRIVER_V55.OBJ;1'u"NAM0  SCH$IOUNLOCKߺ P!ЬRb<PQPQ EXE$FINISHIO EXE$ABORTIO TR<P1.<P EXE$ABORTIOP@R!P,RЂQѡ,,P  SCH$IOUNLOCK <"P  SCH$IOUNLOCK 1fT& R12lYi<P" < P0PlYЩ Y0 EXE$QIODRVPKT EXE$ABORTIOlRPxPPPPRЬQPQ QP<P1ЬYЬ ZЬ[YZP[PYYYYDZZZ5[[[&YZP[PPRYQZP[RЬQPQQPX<P1ZQQ QPR;QPxQQQRxQQ PxQQ<4PQQRxQQQ<PlPP'Х,QСQPaP EXE$FINISHIOCP EXE$ABORTIOlRRRϯQ~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@Х,QR<QRP SMP$GL_FLAGS P SMP$RELEASEڎP EXE$FINISHIOCP<<P EXE$ABORTIOP<P1PŸP SCH$LOCKWЎPQ PEXE$DEANONPGDSIZżR PR EXE$CREDIT_BYTCNT_BYTLMTPQRT0KЎT?ŸP SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@լSUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ?<P EXE$FINISHIOC EXE$ABORTIO<PR(<PlQ &QQ QȏQEXE$DEBIT_BYTCNT_BYTLM_NWP<*P1EXE$ALONONPAGEDP RPŸP SCH$LOCKWЎPУ żQRR?ŸP SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@լSUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ?<P EXE$FINISHIOC EXE$ABORTIO<PR|PŸP SCH$LOCKWЎPR?ŸP SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@լSUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ?<P EXE$FINISHIOC EXE$ABORTIOȏ<<P EXE$FINISHIOCʏ<<P EXE$FINISHIOCЬ2Ь8 EXE$QIODRVPKTP1TqPŸP SCH$LOCKWЎPżQ?ŸP SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@լSUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ? żQ}S~S P6 UPU EXE$FORKUPХQEXE$DEANONPGDSIZЎU}ST" PѤ`QEXE$CREDIT_BYTCNT_BYTLMTQTPQ0dЎTTp~P P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@ЎPP0РQPQ` :PEXE$CREDIT_BYTCNT_BYTLMTQTQ0ЎTЎPCOM$DRVDEALMEM SMP$GL_FLAGS P SMP$RELEASEڎPCOM$DRVDEALMEMlPŬQ_}PZ EXE$WRITECHKЬRRD_`KР P Q EXE$WRITECHKР Q&  СYU'`8УQ *<P1y<P1s<P1k<4P1c`䰠QQĈ Q>ѣ 02P:QEXE$DEBIT_BYTCNT_BYTLM_NWP ^<*P$PR1R}ZP0P EXE$QIODRVPKT<$P<(P EXE$ABORTIOԣDЬQQDQlP EXE$WRITECHK0_P EXE$QIODRVPKT EXE$ABORTIO TlPЬQ EXE$READCHK07P EXE$QIODRVPKT EXE$ABORTIOlPЬQQDQ EXE$WRITECHK0P EXE$QIODRVPKT EXE$ABORTIO~~ Q EXE$DEBIT_BYTCNT_ALOP$ R,Q0 bPn <(2` <<P ^|QЏ$LOGЏDISK_T>TQ SCH$IOLOCKR|a|ԡPTU UIOC$CVT_DEVNAMЎUЎPQ`ЎT SCH$IOUNLOCK1ER Pՠ0RRР8R Т PR„RЂЂЂ$&(@ УXP`P EXE$FINISHIOCEXE$GL_HBS_PTRP`P EXE$FINISHIOC4 }T~T< P@QԨ(x @TPTը(}TVTXUEXE$FORKaPVPQ02Р,RХ8RX РTEXE$DEANONPAGED:Q04RRT<PV<\PЎVQ IOC$REQCOMУ axТ TФ TT,Х8UX УUХ0Ф$4(8b(bV<S>0UP P<PBUG$_INCONSTATE8&.~ SMP$GL_FLAGS /P SMP$ACQUIRE SCH$GL_PCBVECPQA`RRSCH$AR_NULLPCB+ 8SS)S8a Т`T<P SCH$GL_MAXPIXQ<P SMP$GL_FLAGSP/P SMP$RESTOREЎPڎ.OPCOMQQ(00P!RUQT RSCH$QAST(ХSUPEXE$DEANONPAGEDSPEXE$CREDIT_BYTCNT_BYTLM<PUSУ$UU P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@PPRbQQPBUG$_INCONSTATE8&ѡ SQR T~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@~ SMP$GL_FLAGS P SMP$RESTOREڎTФ$Ф 0 P]c IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8&0wń  У2:U U@8~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@SCS$UNSTALLUCB SMP$GL_FLAGS P SMP$RESTOREڎЎU0 SMP$GL_FLAGS P SMP$RESTORE QQ TMMФPPX000%x@ jPPQaQQPPѡ  С P(RЎP. S嚥 Q  QSU~PQP SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@ЎPޥ`SSQaQQS3QPaS**<08P]c IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8& ŜPХlS SMP$GL_FLAGS P SMP$RESTOREڎ.1XŤPPQaQQP3ѡ `(Rԡ,aQ<08P]a IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8&cPPQaQQPSաޡ PPQaQQP8ѡ `(RaQ<08P]a IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8&ס11Q<:QEXE$ALONONPAGEDP Q ЎQSl1U}PT0Py}T"RTЎUУ8У2 Ԥ *6У PEXE$IPID_TO_EPIDP~ SMP$GL_FLAGSP#P SMP$ACQUIREЎP}EXE$GQ_SYSTIME2 SMP$GL_FLAGSP#P SMP$RELEASEЎPڎ}2*1~ЎUSlf}*P`}8"ФPԤ *6 EXE$IPID_TO_EPIDP~ SMP$GL_FLAGSP#P SMP$ACQUIREЎP}EXE$GQ_SYSTIME2 SMP$GL_FLAGSP#P SMP$RELEASEЎPڎ1 TPEXE$DEANONPAGEDЎŴŸP SCH$LOCKWEXECP_`S,!  T ~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@cհ SMP$GL_FLAGS P SMP$RESTOREڎÏ`USУUŴTTQ&QPTRPR QTQ&PnTTSU(PdaЎUS}S?ŸPSCH$UNLOCKEXEC~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@լSUSUEXE$QUEUE_FORKЎUդS1U0PBUG$_INCONSTATE8&RUSУ RSCH$QASTЎU SMP$GL_FLAGS P SMP$RESTOREڎ?}"~TPEXE$DEANONPAGED}P< !"< LD_OPCOM_AST&D^ЬR n#<(0<*4<,8~n#<<$(Т,.$#$ ԮТ PբEXE$IPID_TO_EPIDPIAC$GL_IMAGE_LISTP`P`P Џ<Ԯ@D<߮? SYS$FAOLP%<PP P<~` SYS$SNDOPRP PBUG$_INCONSTATE&($ SYS$CMKRNL***** LDdriver detected LBN watchpoint access *****!/PID: !XL!/Image: !AC!/Device: !AC!/Function: !XW!/LBN: !UL***** LDdriver detected VBN watchpoint access *****!/PID: !XL!/Image: !AC!/Device: !AC!/Function: !XW!/VBN: !UL!/File id: (!UW,!UW,!UW)NoneQQ ($LD_OPCOM_DEALLOC&lPEXE$DEANONPAGED6!" LD_OPCOM_AST($LD_OPCOM_DEALLOC:$$$105_PROLOGUE $$$115_DRIVER4$'*[VDBURG.LD.FWARE.KIT]LDDRIVER_V60.OBJ;1+,cz.'/!H 4''-MO0123KPWO(56m[Em7m89G!HHJ5LDDRIVERV5.1 2-NOV-1994 14:05 VAX MACRO V5.4-3MAC LDDRIVER, VAX/VMS Logical Disk driverLDDRIVER ACP$ACCESS ACP$DEACCESS ACP$MODIFY ACP$MOUNT ACP$READBLK ACP$WRITEBLK BUG$_BADQHDRBUG$_INCONSTATE BUG$_RSVD_LPCLU$GL_ALLOCLS CLU$GL_CLUBCOM$DRVDEALMEM EXE$ABORTIOEXE$ALONONPAGEDEXE$CREDIT_BYTCNT_BYTLMEXE$DEANONPAGEDEXE$DEANONPGDSIZEXE$DEBIT_BYTCNT_ALOEXE$DEBIT_BYTCNT_BYTLM_NW EXE$FINISHIO EXE$FINISHIOCEXE$FORKEXE$GL_HBS_PTREXE$GQ_SYSTIME EXE$INSERTIRPEXE$IPID_TO_EPIDEXE$LCLDSKVALID EXE$ONEPARM EXE$QIODRVPKTEXE$QUEUE_FORK EXE$READCHK EXE$SENSEMODE EXE$SETCHAR EXE$WRITECHK EXE$ZEROPARMIAC$GL_IMAGE_LIST IOC$CVTLOGPHYIOC$CVT_DEVNAMIOC$GL_DEVLIST IOC$GQ_POSTIQ IOC$INITIATE IOC$MNTVER IOC$REQCOM IOC$RETURN IOC$SEARCHLCK$DEQLCK$ENQ LD$DDT LDIOB_B_RSVD LDIOB_B_TYPE LDIOB_L_BCNT LDIOB_L_IOSB LDIOB_L_IRP LDIOB_L_MEDIA LDIOB_L_PID LDIOB_L_QBL LDIOB_L_QFL2LDIOB_Q_EN_TIME" LDIOB_Q_STAT*LDIOB_Q_ST_TIME LDIOB_W_FUNC LDIOB_W_SIZE LDIO_M_ABORTLDIO_M_INQUIRE LDIO_M_NOWAITLDIO_M_REPLACE LDIO_M_RESET LDIO_M_SHARE LDIO_V_ABORT LDIO_V_INQUIRE LDIO_V_NOWAITLDIO_V_REPLACE LDIO_V_RESET LDIO_V_SHARE LDLVB_B_FLAGSLDLVB_B_SECTORSLDLVB_B_TRACKSLDLVB_L_ALLOCLSLDLVB_L_MAXBLOCK LDLVB_M_SHARE LDLVB_V_SHARELDLVB_W_CYLINDERS LDLVB_W_UNIT LDSNDOPRLST_B_RMOD LDSNDOPRLST_B_TYPELDSNDOPRLST_L_ASTLDSNDOPRLST_L_ASTPRMLDSNDOPRLST_L_ASTQBLLDSNDOPRLST_L_ASTQFLLDSNDOPRLST_L_KASTLDSNDOPRLST_L_LBN LDSNDOPRLST_L_PID.LDSNDOPRLST_T_DEVNAM"LDSNDOPRLST_W_ACTION(LDSNDOPRLST_W_FID_NUM,LDSNDOPRLST_W_FID_RVN*LDSNDOPRLST_W_FID_SEQ LDSNDOPRLST_W_FLAGS$LDSNDOPRLST_W_FUNC&LDSNDOPRLST_W_RETCODELDSNDOPRLST_W_SIZELDSUSPLST_L_LBNLDSUSPLST_L_PID LDSUSPLST_W_ACTIONLDSUSPLST_W_FLAGS LDSUSPLST_W_FUNCLDSUSPLST_W_RETCODE LDTRC_L_ADDR LDTRC_L_BCNT LDTRC_L_PIDLDTRC_Q_EN_TIME LDTRC_Q_IOSBLDTRC_Q_ST_TIME LDTRC_W_FUNCLDWATCHPT_L_LBN LDWATCHPT_L_SBKLDWATCHPT_M_CHARSLDWATCHPT_M_FILELDWATCHPT_M_NOLBNLDWATCHPT_M_REMOVE_ALLLDWATCHPT_S_CHARSLDWATCHPT_V_CHARSLDWATCHPT_V_FILELDWATCHPT_V_NOLBNLDWATCHPT_V_REMOVE_ALLLDWATCHPT_W_ACTIONLDWATCHPT_W_FID_NUMLDWATCHPT_W_FID_RVNLDWATCHPT_W_FID_SEQLDWATCHPT_W_FLAGSLDWATCHPT_W_FUNC LDWATCHPT_W_RETCODE LDWATCH_B_SPARE LDWATCH_B_TYPELDWATCH_L_BLINK, LDWATCH_L_FCBLDWATCH_L_FLINK LDWATCH_L_LBN LDWATCH_L_PID$LDWATCH_L_SUSPBLLDWATCH_L_SUSPCNT LDWATCH_L_SUSPFL0 LDWATCH_L_UCB( LDWATCH_L_VBNLDWATCH_M_CHARSLDWATCH_M_FILELDWATCH_M_NOLBNLDWATCH_M_REMOVE_ALLLDWATCH_S_CHARSLDWATCH_V_CHARSLDWATCH_V_FILELDWATCH_V_NOLBNLDWATCH_V_REMOVE_ALLLDWATCH_W_ACTION4LDWATCH_W_FID_NUM8LDWATCH_W_FID_RVN6LDWATCH_W_FID_SEQLDWATCH_W_FLAGSLDWATCH_W_FUNCLDWATCH_W_RETCODELDWATCH_W_SIZESCH$AR_NULLPCB SCH$GL_MAXPIX SCH$GL_PCBVEC SCH$IOLOCKR SCH$IOUNLOCK SCH$LOCKR SCH$LOCKW SCH$LOCKWEXECSCH$QAST SCH$UNLOCKSCH$UNLOCKEXEC)2$LD051.AczMO'[VDBURG.LD.FWARE.KIT]LDDRIVER_V60.OBJ;1'Q9" SCS$UNSTALLUCB SMP$ACQUIRE SMP$AL_IPLVEC SMP$GL_FLAGS SMP$RELEASE SMP$RESTORE SYS$CMKRNLSYS$FAOL SYS$SNDOPRUCB$A_LD_FILE_LVB UCB$B_LD_FLAGS UCB$K_LD_UCBLEN,UCB$L_LD_AIOBL(UCB$L_LD_AIOFL UCB$L_LD_CPID0 UCB$L_LD_FCB< UCB$L_LD_FR3@ UCB$L_LD_FR44UCB$L_LD_ORBSAV UCB$L_LD_PDUCB8UCB$L_LD_SAVEPC$UCB$L_LD_STLBNUCB$L_LD_TRCBUFUCB$L_LD_TRCBUFALLOCSIZUCB$L_LD_TRCBUFOWNUCB$L_LD_TRCBUFPTRUCB$L_LD_TRCBUFSIZUCB$L_LD_TRCLOSTUCB$L_LD_TRCMUTEXUCB$L_LD_TRCMUTEXQBLUCB$L_LD_TRCMUTEXQFLUCB$L_LD_TRCPCUCB$L_LD_TRCWAITQBLUCB$L_LD_TRCWAITQFLUCB$L_LD_TRCWRAPUCB$L_LD_WATCHCNTUCB$L_LD_WATCHPNDQBLUCB$L_LD_WATCHPNDQFLUCB$L_LD_WATCHQBLUCB$L_LD_WATCHQFLUCB$M_LD_CONSTSUCB$M_LD_DECRAM UCB$M_LD_FKBBSYUCB$M_LD_PROTECTUCB$M_LD_REPLACEUCB$M_LD_SHARExUCB$Q_LD_FILE_LKSBDUCB$Q_LD_PD_LKSBUCB$T_LD_FILE_RESNAM\UCB$T_LD_PD_RESNAMUCB$V_LD_CONSTSUCB$V_LD_DECRAMUCB$V_LD_FKBBSYUCB$V_LD_PROTECTUCB$V_LD_REPLACEUCB$V_LD_SHARE UCB$W_LD_CHARGEUCB$W_LD_FID_NUMUCB$W_LD_FID_RVNUCB$W_LD_FID_SEQ&UCB$W_LD_STLBNH$UCB$W_LD_STLBNLSYS$SYSTEM:SYS.STB . ABS .P$ABS$PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP$$$105_PROLOGUE$PQd$4&  84&4&_4&LDDRIVERQQQF11 4r<@@(x LMN| 4&\ 4&h 4&Pd$ $$$115_DRIVERP4 IOC$RETURNH4/4 IOC$RETURN 4 IOC$RETURN IOC$MNTVER2 4& IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN IOC$RETURN}3 2 | `43P ACP$READBLK2  ACP$WRITEBLK2  43 ACP$ACCESS2 ACP$DEACCESS2` ACP$MODIFY2 ACP$MOUNT2EXE$LCLDSKVALID2 EXE$ZEROPARM2 EXE$ONEPARM2 EXE$SENSEMODE2 EXE$SETCHAR2  43 4343<PPTP(4X(4(4(4(4Y(4S(40(4 (4s (4 (4 (4 (4(4(4Y(4<P EXE$ABORTIOlPЬQ EXE$READCHK< P [< P P R SCH$IOLOCKR0RUlQ<PTIOC$CVT_DEVNAM0  SCH$IOUNLOCKߺ P!ЬRb<PQP Q EXE$FINISHIO EXE$ABORTIO TR<P1.<P EXE$ABORTIOP@R!P,RЂQѡ,,P  SCH$IOUNLOCK <"P  SCH$IOUNLOCK 1fT& R12lY$i&<P$" < P0PlYЩ Y0 EXE$QIODRVPKT EXE$ABORTIOlRPxPPPPRЬQPQ QP<P1ЬYЬ ZЬ[YZP[PYYYYDZZZ5[[[&YZP[PPRYQZP[RЬQPQQPX<P1ZQQ QPR;QPxQQQRxQQ PxQQ<4PQQRxQQQ<PlPP'Х,QСQPaP EXE$FINISHIOCP EXE$ABORTIOlRRRϯQ~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@Х,QR<QRP SMP$GL_FLAGS P SMP$RELEASEڎP EXE$FINISHIOCP<<P EXE$ABORTIOP<P1PP SCH$LOCKWЎPQ PEXE$DEANONPGDSIZR PR EXE$CREDIT_BYTCNT_BYTLMTPQRT0{ЎT?P SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@SUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ?<P EXE$FINISHIOC EXE$ABORTIO<PR(<PlQ &QQ QȏQEXE$DEBIT_BYTCNT_BYTLM_NWP<*P1EXE$ALONONPAGEDP RPP SCH$LOCKWЎPУ QRR?P SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@SUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ?<P EXE$FINISHIOC EXE$ABORTIO<PR|PP SCH$LOCKWЎPR?P SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@SUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ?<P EXE$FINISHIOC EXE$ABORTIOȏ< <P EXE$FINISHIOCʏ< <P EXE$FINISHIOCЬ2Ь8 EXE$QIODRVPKTP1TqPP SCH$LOCKWЎPQ?P SCH$UNLOCK~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@SUSUEXE$QUEUE_FORKЎU SMP$GL_FLAGS P SMP$RESTOREڎ? Q}S~S P6 UPU EXE$FORKUPХQEXE$DEANONPGDSIZЎU}ST" PѤ`QEXE$CREDIT_BYTCNT_BYTLMTQTPQ0ЎTTp~P P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@ЎPP0РQPQ` :PEXE$CREDIT_BYTCNT_BYTLMTQTQ0@ЎTЎPCOM$DRVDEALMEM SMP$GL_FLAGS P SMP$RELEASEڎPCOM$DRVDEALMEMlPŬQ_}PZ EXE$WRITECHKЬRRD_`KР P Q EXE$WRITECHKР Q&  СYU'`8УQ *<P1y<P1s<P1k<4P1c`䰠QQĈ Q>ѣ 02P:QEXE$DEBIT_BYTCNT_BYTLM_NWP ^<*P$PR1R}ZP0P EXE$QIODRVPKT<$P<(P EXE$ABORTIOԣDЬQQDQlP EXE$WRITECHK0_P EXE$QIODRVPKT EXE$ABORTIO TlPЬQ EXE$READCHK07P EXE$QIODRVPKT EXE$ABORTIOlPЬQQDQ EXE$WRITECHK0P EXE$QIODRVPKT EXE$ABORTIO~~ Q EXE$DEBIT_BYTCNT_ALOP$ R,Q0 bPn <(2` <<P ^ŐQЏ$LOGЏDISK_T>TQ SCH$IOLOCKR|a|ԡPTU UIOC$CVT_DEVNAMЎUЎPQ`ЎT SCH$IOUNLOCK1ER Pՠ0RRР8R Т PR„RЂЂЂ$&(@ УXP`P EXE$FINISHIOCEXE$GL_HBS_PTRP`P EXE$FINISHIOC4 }T~T< P@Q Ԩ(x @TPTը(}TVTXUEXE$FORK8UݏxLCK$ENQP1x1BUG$_INCONSTATE8&cռХSUPEXE$DEANONPAGEDУU0P&RQԣ,~P P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@ЎPSl IOC$REQCOM SMP$GL_FLAGS P SMP$RELEASEڎУ,RbRУDTQ0P00~:QУ T01BRQ<:QEXE$ALONONPAGEDP@ Qޢ ޢ $ԢRQЮR0QRЎQbaЎRRT<P1^Q IOC$REQCOM<"PT1VVУ,RbRУDTQR0SPQ aQPPQ>aPVPQ02Р,RХ8RX РTEXE$DEANONPAGED:Q04RRT<PV<\PЎVQ IOC$REQCOMУ axТ TФ TT,Х8UX УUХ0Ф$4(8b(bV<Sޥ0UЅTVT TVՅSBUG$_INCONSTATE8&VVe xb  QPaQQPDb(b б 1СQРQPPSQPaQQP&SSb(b ҚPPЎS<"PQ1W TOP P<PBUG$_INCONSTATE8&.~ SMP$GL_FLAGS /P SMP$ACQUIRE SCH$GL_PCBVECPQA`RRSCH$AR_NULLPCB+ 8SS)S8 Т`T<P SCH$GL_MAXPIXQ<P SMP$GL_FLAGSP/P SMP$RESTOREЎPڎ.OPCOMQQ(00P!RUQT RSCH$QAST(ХSUPEXE$DEANONPAGEDSPEXE$CREDIT_BYTCNT_BYTLM<PUSУ$UU P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@(PPRbQQPBUG$_INCONSTATE8&ѡ SQR T~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@~ SMP$GL_FLAGS P SMP$RESTOREڎTФ$Ф 0 P]c IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8&0wń   У2:U U@8~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@SCS$UNSTALLUCB SMP$GL_FLAGS P SMP$RESTOREڎЎU0 SMP$GL_FLAGS P SMP$RESTORE QQ  TMMФPPX000%x@ j(PPQaQQPPѡ  С P(RЎP. S嚥 Q  QSU~PQP SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@ЎPޥ`SSQaQQS3QPaS**<08P]c IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8& ŜPХlS SMP$GL_FLAGS P SMP$RESTOREڎ.1XŸPPQaQQP3ѡ `(Rԡ,aQ<08P]a IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8&cPPQaQQPSաޡ PPQaQQP8ѡ `(RaQ<08P]a IOC$GQ_POSTIQ 򏠻 P BUG$_BADQHDR8&ס11Q<:QEXE$ALONONPAGEDP Q ЎQSl1U}PT0Py}T"RTЎUУ8У2 Ԥ *6У PEXE$IPID_TO_EPIDP~ SMP$GL_FLAGSP#P SMP$ACQUIREЎP}EXE$GQ_SYSTIME2 SMP$GL_FLAGSP#P SMP$RELEASEЎPڎ}2*1~ЎUSlf}*P`}8"ФPԤ *6 EXE$IPID_TO_EPIDP~ SMP$GL_FLAGSP#P SMP$ACQUIREЎP}EXE$GQ_SYSTIME2 SMP$GL_FLAGSP#P SMP$RELEASEЎPڎ1 TPEXE$DEANONPAGEDЎP SCH$LOCKWEXECP_`S\!  T ~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@c SMP$GL_FLAGS P SMP$RESTOREڎÏ`USУUTTQ&QPTRPR QTQ&PnTTSU(PdaЎUS}S?PSCH$UNLOCKEXEC~ P SMP$GL_FLAGS SMP$ACQUIRE SMP$AL_IPLVEC@SUSUEXE$QUEUE_FORKЎUոS1U0PBUG$_INCONSTATE8&RUSУ RSCH$QASTЎU SMP$GL_FLAGS P SMP$RESTOREڎ?}"~TPEXE$DEANONPAGED}P< Q"< LD_OPCOM_AST&D^ЬR n#<(0<*4<,8~n>#<<$(Т,.$S$ ԮТ PբEXE$IPID_TO_EPIDPIAC$GL_IMAGE_LISTP`P`P Џ<Ԯ@D<߮? SYS$FAOLP%<PP P<~` SYS$SNDOPRP PBUG$_INCONSTATE&X$ SYS$CMKRNL***** LDdriver detected LBN watchpoint access *****!/PID: !XL!/Image: !AC!/Device: !AC!/Function: !XW!/LBN: !UL***** LDdriver detected VBN watchpoint access *****!/PID: !XL!/Image: !AC!/Device: !AC!/Function: !XW!/VBN: !UL!/File id: (!UW,!UW,!UW)NoneQQ X$LD_OPCOM_DEALLOC&lPEXE$DEANONPAGED6Q" LD_OPCOM_ASTX$LD_OPCOM_DEALLOC:$$$105_PROLOGUE $$$115_DRIVERd$ *[VDBURG.LD.FWARE.KIT]LDMSG.OBJ;1+,c'. /!H 4 -MO0123KPWO 56m\m7]ྊm89G!HHJ,LD0 2-NOV-1994 11:25 2-NOV-1994 11:25VAX-11 Message V04-00k$ABS$e MSG$SECTIONMSG$AAAAAAAAAAAMSG$AAAAAAAAAABMSG$AAAAAAAAAAC@|LD_DEVCONNECTEDtLD_BADALLOCLASSlLD_INVGEOMETRYd LD_NOTVISIBLE\ LD_NOCLUSTERTLD_FILEONOTHERL LD_VBNERRORDLD_NOREADWRITE<LD_WPTNOTFOUND4LD_NOWATCHDATA,LD_NOGROUPPRIV$LD_NOWORLDPRIVLD_DETECTEDERRLD_BADDEVSYNTAX LD_NOUNITSFOUND LD_NOSUPPORT LD_DUPUNIT LD_CONFQUAL LD_PASTDATALD_BADENTPARAM܀ LD_TRCENABLԀ LD_TRCDISABL̀ LD_NOTRCDATAĀLD_CONTTRACENOTACTLD_CONTTRACEACTLD_DEVICEINUSE LD_FILEINUSE LD_NESTING LD_NOTCONN LD_ALRDYCONN LD_DEVASSIGNLD_CANTREADOLDFMT| LD_FILWRTERRt LD_FILREADERRl LD_OUTFILERRd LD_INFILERR\ U$LD051.Ac'MO [VDBURG.LD.FWARE.KIT]LDMSG.OBJ;1 HLD_CLOSERRT LD_OPENERRL LD_CREATERR@LD_REMOTEALLOC8LD_NOTCONNECTED3LD_TRACESTOPPED+LD_UNIT# LD_STATUS LD_NOWDISCONN LD_CONNECTED  LD_CREATED LD$_FACILITYPeP*P'Pe (^ { &(x08@HDPpX`hp&xX.T&pȀЀ؀<l"\ (00 8b @ H P XJ `t h p x "CREATEDFile !AZ created( CONNECTEDConnected !AZ to !AZ4 NOWDISCONNDevice !AZ is now disconnectedRSTATUSADevice !AZ has a tracebuffer of !UL entries (!UL valid record!%S)&UNITAllocated device is !AZ6 TRACESTOPPEDTrace stopped by other process2 NOTCONNECTEDDevice !AZ is not connected> REMOTEALLOC(Device !AZ is allocated on a remote node,CREATERRUnable to create file !AZ*OPENERRUnable to open file !AZ*CLOSERRUnable to close file !AZ0INFILERRUnable to open input file !AZ2 OUTFILERRUnable to open output file !AZ2 FILREADERRUnable to read input file !AZ4 FILWRTERRUnable to write output file !AZFCANTREADOLDFMT,Can't read old format datafile (Version !UL)0 DEVASSIGNDevice has channels assigned, ALRDYCONNDevice already connected&NOTCONNDevice not connected6NESTING$Nesting of logical disks not allowedL FILEINUSE7File incompatible connected to other LD disk in clusterP DEVICEINUSE9Device incompatible connected to other LD disk in clusterJ CONTTRACEACT3Continuous tracing is already active for device !AZJCONTTRACENOTACT/Continuous tracing is not active for device !AZ, NOTRCDATANo trace data available( TRCDISABLTracing is disabled.TRCENABLTracing is already enabled0 BADENTPARAMBad /ENTRIES parameter(s)6PASTDATA#Requested entry(s) past end of data*CONFQUALConflicting qualifiers&DUPUNITDuplicate unitnumber0 NOSUPPORTDevice !AZ is not supported: NOUNITSFOUND#No useable logical disk units found. BADDEVSYNTAXBad device syntax (!AZ)* DETECTEDERRDetected fatal error> NOWORLDPRIV(No privilege to stop trace of device !AZ> NOGROUPPRIV(No privilege to stop trace of device !AZ2 NOWATCHDATANo watchpoint data available* WPTNOTFOUNDWatchpoint not foundH NOREADWRITE1No read or write function specified for file mode:VBNERROR&Illegal virtual block number specified< FILEONOTHER&File not allowed to be on other device* NOCLUSTERNo cluster code loaded: NOTVISIBLE$Device is not visible on other nodes0 INVGEOMETRYInvalid geometry specified6 BADALLOCLASSBad allocation class specifiedJ DEVCONNECTED2Cannot set allocation class with active LD devicesLD#*[VDBURG.LD.FWARE.KIT]LD_DEFINES.H;1+,d./!H 4@-MO0123KPWO56im7Ȋm89G!HHJ*/* Definitions to use with the LDdriver */#include #include #define IO$_LD_CONTROL 20#define LDIO_CONNECT 0#define LDIO_DISCONNECT 1#define LDIO_ENABLE_TRACE 2#define LDIO_DISABLE_TRACE 3#define LDIO_GET_TRACE 4#define LDIO_RESET_TRACE 5#define LDIO_GET_CONNECTION 6#define LDIO_SET_SEED 7#define LDIO_ENABLE_WATCH 8#define LDIO_DISABLE_WATCH 9#define LDIO_GET_WATCH 10#define LDIO_RESUME_WATCH 11 #define LDIO_GET_SUSPEND_LIST 12#define LDIO_ENABLE_PROTECT 13#define LDIO_DISABLE_PROTECT 14#define LDIO_SET_ALLOCLASS 15#define LDIO_M_REPLACE 256#define LDIO_V_REPLACE 8@#define LDIO_M_ABORT 512 #define LDIO_V_ABORT 9#define LDIO_M_INQUIRE 1024#define LDIO_V_INQUIRE 10#define LDIO_M_NOWAIT 2048#define LDIO_V_NOWAIT 11#define LDIO_M_RESET 4096#define LDIO_V_RESET 12#define LDIO_M_SHARE 8192#define LDIO_V_SHARE 13#define WATCH_ACTION_SUSPEND 0#define WATCH_ACTION_CRASH 1#define WATCH_ACTION_ERROR 2#define WATCH_ACTION_OPCOM 3/*( Structure definitions and declarations*/struct trace_ent { unsigned int pid; unsigned int lbn; unsigned int bcnt; unsigned short func; int iosb[2]; int start_time[2]; int end_time[2]; };struct watchpt { unsigned int lbn;! unsigned short flags;" unsigned short action; unsigned short func;# unsigned short retcode; struct sbkdef *sbk; struct fiddef fid; };#define FLAGS_NOLBN 0x01#define FLAGS_FILE 0x02#define FLAGS_REMOVE_ALL 0x80struct suspend_list { unsigned int pid; unsigned int lbn;! unsigned short flags;" unsigned short action; unsigned short func;# unsigned short retcode; };#*[VDBURG.LD.FWARE.KIT]MOUNTVER.COM;1+,cb./!H 4D -MO0123KPWO56@mb7=ϊm89G!HHJ $ set verify $ set noon$!8$! Example of how to put a device into mountverification$!!$ ld create/nobackup tempdisk.dsk$$ ld connect/log/symbol tempdisk.dsk'$ init/nohigh/system lda'ld_unit': test$ ld trace lda'ld_unit':$ mount lda'ld_unit': testA$ ld watch lda'ld_unit': 1/action=error=%x84/function=code=%x0808;$ ld watch lda'ld_unit': 10/action=error=%x84/function=read6$ ld watch lda'ld_unit': 10/action=opcom/function=read$ ld show/watch lda'ld_unit':$ reply/enable/tempD$ spawn/nowait/input=nl: dump lda'ld_unit':/block=(start=10,count=1))$ inquire dummy "Press return to continue$ ld nowatch lda'ld_unit':$ ld show/trace lda'ld_unit':$ reply/disable$ dism lda'ld_unit':$ ld disc lda'ld_unit':#$ delete/nolog/noconf tempdisk.dsk;NR$LD051.AiokCOM;1 ڬ@)x"OZ3 >$Ͱ(0: >yjU4VJK$.#qpu?+,V2 Jc$lu­t˨rM, Mbx 1hG]SK$w$H&-=Pߨ ..9$`V6KQΈk{GV^MisUs!עsx+}lJKɴAHk6Vůڪ]Ը?qM,{xH:hs`8%( [qOkcHk_iiT9*!cyi8e+{Hmu}r+)\vjryܖ(T$& x߶j^7qU}0Bj˚6?{dlXv$w?|K"*3 TY3 HoΚ;٦G!@Xq %=^r'!+rA}?. 53QXmiYm]a&Ǻ{djh ߧ刘 q7΀ E- ψ$l`{qG{L#Y= //$<pʭ5Lt, `9H2v5D#[74up PIMVH]-R|LCYE;d; 4^=ba ӛ8.l\ 0Ӧ*Ɇ6n~;/^ro3KŔ͊ DbX7}g.wTm˕4z&^h= \+9 ZpeYV. @,9:f4$Y /BȑP['P:NKo62`9Geqjĥ]ŷD"$]/MC#޾+R,\hfQ_VW>d?;~i9mkB҈YxxFKtc^\E XĚlإ辶ܽekZWը)u7aRKz269_|}LvW3Sx$l^Fߎ}ۃˍ{&%$ Hk& Ʀ\IPvO{YhjPs4is'Q٪ "RE"@sf2l5!)2&M1@{dŨZ*DQGUƁpFVʛ%*/l1~:N9qoAvVgeաFCB/N //`.OҸ%S9pQϮ f*[) L"ļ;Mq}L~t 72JH|$oRdݢh}6UJ1}&C5#q/ xF3{CƛMHw? t7DArJ l+>>=K,8E:S0zvip36qi2_U}^|ʩ]&PA!L$rK"6N,WǵoG1-cfc5熒ڣNL7 $;q"$~98vM)d4Έ_& LQJvQhJxu!fP^Vc H ,óN-g$W*0Jڈ * yR18 !-R*!+> n딶85/#D[̨nUh"<)fNqB~.a'r9e3>p"n ҈*9 UB,Ɔe݉dk@ɕgh'ԅ@eA.J6>Ԇ1!sّ QnIU{a +0w ʀ=BvM6n}Fퟴʍ)eoEk]&>^]$5 Z;}IAG@yyJWX^1[w j=4]9G1MvjV7ynr])7]H($2ki!SR>LPC+}ī:*{+(VhbHS0.A̿p{Ill4hlvpC5=2QاPw w vKk≗%MХwV}^yu~nP2)n! K*ߊu|'D"aF ^NH5$rrD>?E?A2}+\-ٍ,dT,X!(^TXwt =YKϸ-&f{O2{=XĈ1O`˝K_ c7xSZ^~A{37j<7F'^=7GglRE[681rANgN];B5ӒmȄP<#Z?<=Oi:>$Ups:9nuU-Q֕,&.Sa X4pbq:L£c-qY-\@Q~^-$&4Y!r \e SN@V*EϵJOAkyAUu$q5uʬH CY)g$6^QT(bKWcyV_Y5lY Ȟh +6A"'q . sL^ޕ.j[W1B/ &';\1qMޘ~k,E,T!TkW֖-AxdMZ2o-1_є=ZH[1$)l&mX9z luxJEa&Ip)ĦIqc!тz9:J?0mX=˸ /~yffN&Ϲ3e\Z_?;!MָFRo Ț$2Q  ClGG=>߾TwINvty){ #Yxagƣ B7W"v%lm#AB9# N(F4wGB#B(GN5 WrJN#-83xU Vu]im_,e^يVh ~1??Rchx&F_v;Bn{y4&j\uz}عa /4ϔHY#q%ʳSEqDh钰X5ISiQI1C{cD;bS&[M1V6K)_HǹO:kmħbc?6_)c1^bK.A_+0!]CB(gފcTs N2Un,+j[F+mAʔҜZGCο-o8ɯS>Bvc-(sz'>NVt¨ҧ9Q]XluVyh8;7 Ɲ+J$=nհZWS\vgH_8/bmå.jDnwȦY4SU]KzB3T{@SQe/d7dieįƇaD*FzqLa:Ɲy%DA:q'΅RcLZWx:pk}3K8O^wJXۙ]ٵ,\BjNP9Z0Oh&o7&Zr ?(<ޮ 1ޘK!-fow;2mώq|B_ػZxa5qZg3`||k[1@9Ǟ3aζ *@?vk"_%bů2uRT!%!U{65vi|$sEZ#E]HtxmX?PDCW\5Gݙ~"Ì{ BŲR+Z~.6V&SU(/kɹNp{v/%3T@j=) #D2m5 OSa]ۯ ȥ^&Ǜ&/}4֨ {*K#0mTMIn %ٗS=ZI՜Ƕ(" {@2 xLlq=_< B N caAvBcY`(@;8Rډ2'h8ԝU=-82yc[##*wb-nw۫}ب| O+inD;͉ᆼ!-~0 BQmBD+}=#ۺa[h> lj%Q(JsT (OĞ(w= (^.-!' RlS=AoFjoTAiOvW&<`HF +*ڔ$n*N6`]n jc1GL4IƔ<yJxƁz #@B a; c[jZE{'#]kòݹPz>Or)o N#2N9M]m:JA84 l?k m!CS>Hјb]:{U6<9ŒHQuxH;O2Pߋ2As*B<'* M AJAQtsҕ,IV 7]^S^3]K x#b0Ho ._3!'>|㏜ |G0t]cUk C0L@q Y+NF22}f}:eӤA*)^ƈSR^T9Ԋ_N81^[dt }lE;PnbѫvH y*`(j蠰D7T ފq8^'N(>׏֩f_[%T^Fz{דQ Ҵ\@" `A_+.q3G<90{Gᇓ! AS͏΃x|8HX+^ݻr|ݻ;'iRG>)0j(@O˖JRg}CpVu`^cq̿'+ոGh7J:=LU}/?[Hn:Q_)G/]p-'"_{&'FKW(%e2Ĩ&< ,vY نoj\ٝ3C)R2ah7zf5OJܺXE/,YLnNO~l`Eii37δ8u;GU3Ejqĺr_Ä;Jk!7cXM4b fk̨H>aWmDw_aw/PLjz$y7a(u~av߼a tQc:v#s1ObdiC`w}gh }r4R")ni"gԏSY&yHʰ$B|op/o<4AۢwUVl}{,sM ;!Y鋍~\.)Wd/T^ TN 5ĔQaN[jAsammvլY+K;oLDSwg9os>W<|%YqE&L?~ml^W s3o@Ό;4t^+kx\lhRcu*_d5iZdJ;_<lb{ sb6LZo홋Q [lBz HC?bdl["C+ϑWn!hX@Hڱ8C u$&+y2UqPI4DȆ~$^e L?<͠DM_lٓߟ9Qżx QGt~tTy+X-32q$ H4 Q M[9mQqiJ 1jAtHjZOp͙@(j73siJ0g:5K9 jaMK1_K'B,fޙK7W[s<{y#1|F>WG<+dv)A+\Wopo2k=LSc\30os0lPe|bz|ñxF߽i>s*"{X`W-iG f{lT3',Gd-MFyntcx3BADDNfPAVA~KPWO560nl7=km89G!HHJP