This function retrieves the current status of a LDAn device:
Function: IO$_LD_CONTROL
Method 1 (old):
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
P4 = Address of buffer to receive start lbn (for lbn mapping)
P5 = Address of buffer to receive end lbn (for lbn mapping)
P6 = Subfunction: LDIO$K_GET_CONNECTION
Method 2 (new, preferred):
P1 = address of itemlist describing the connection
P6 = Subfunction: LDIO$K_GET_CONNECTION |LDIO$M_ITEMLIST
The itemlist consist of entries like this:
BUFLEN (word) - Length of buffer
ITEM (word) - Item description:
LDITM$K_EXTENDSIZE
LDITM$K_EXTENDLIMIT
LDITM$K_DEVICENAME
LDITM$K_FILEID
LDITM$K_STARTLBN
LDITM$K_ENDLBN
LDITM$K_FLAGS
ADDR (longword) - Pointer to buffer
RLENGTH (longword) - Returned data length
IOSB word 0 = status
word 1 = number of characters transferred
longword 1 = status flag bit 0 : 0 = disconnected
1 = connected
bit 1 : 0 = normal connection
1 = replaced drive
bit 2 : 0 = normal connection
1 = replaced to DECRAM disk
bit 3 : 0 = normal access
1 = write protected
bit 4 : 0 = local access
1 = shared access
bit 8 : 0 = normal timing
1 = accurate timing
bit 9 : 0 = normal trace
1 = FDT trace active
bit 10: 0 = normal connection
1 = LBN mapping used
The buffer specified in the P1 parameter is only valid when
the unit is connected (IOSB longword 1 bit 0 set).
If a buffersize of 0 is specified only the status is returned.
The itemlist consist of entries like this:
Errors returned:
SS$_ACCVIO Buffer can not be written
SS$_DEVINACT Device not connected
SS$_NORMAL Successful completion