Article 107601 of comp.os.vms: In article <009A7D29.FD260720.3@ccastat.demon.co.uk>, chris@ccagroup.co.uk writes: >I had a neat little program on VAX which interrogated the DAD devices to >discover which services were available, and mount them clusterwide (using >locks). > >The problematical bit is: > >$qio( chan := dadchan, > func := io$_virtual+io$m_access, > iosb := iosb, > p1 := buff80, > p2 := SIZE(buff80), > p3 := %x10000*seq + code); > >Code is 2 to get servers, 3 to get services on those servers, seq steps from 0 > >So call this with 2 to get first infoserver, then 3 to get first service, >%x10003 for second, %x20003 for third and so on, then %x10002 for the second >infoserver etc. > >This worked well on VAX - all you had to do was put a CD in a drive, and within >a minute or so it was mounted clusterwide, with no intervention. > >On Alpha it gives %SYSTEM-F-ILLIOFUNC (as a return status, not an iosb status). >Anyone know how to fix it for Alpha please ? > >[VAX VMS 6.1, Alpha VMS 6.2] > >Thanks, Chris Sharman > The QIO interface to DADDRIVER is undocumented, but then I guess you knew that... $qio( chan := dadchan, func := io$_virtual+io$m_access, iosb := iosb, p1 := buff80, p2 := SIZE(buff80), p3 := %x10000*seq + code); IO$M_ACCESS just happens to be the same value as CDRIV$IO_M_SHOW_SERVICE which is 64. The major difference is that VAX uses IO$_VIRTUAL as the function code and the Alpha drivers use IO$_ACPCONTROL. That's what's giving you the ILLIOFUNC. There's nothing like access to the sources. ;-) --Doug -- Doug Gordon gordon@star.enet.dec.com No longer the InfoServer Dude Anything resembling an opinion Digital Equipment Corporation is mine and not Digital's. **************** Never light a candle carelessly, and be sure you know what you're doing when you blow one out. ****************