From: Brian Tillman [tillman_brian@notnoone.notnohow.com] Sent: Friday, December 07, 2001 2:55 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: Modifying ownership of INDEXF.SYS ? My guess is that you INITed the disk but forgot /SYSTEM, resulting in thre INDEXF.SYS being owned by [1,1]. Use this program, SET_OWNER.MAR: -- Brian Tillman Internet: tillman_brian at si.com Smiths Aerospace tillman at swdev.si.com 3290 Patterson Ave. SE, MS Addresses modified to prevent Grand Rapids, MI 49512-1991 SPAM. Replace "at" with "@" This opinion doesn't represent that of my company ; SET_OWNER.MAR ; ; This program uses the ACP QIO function to modify the file ; ownership of INDEXF.SYS to UIC [1,4]. Before running this ; program, define a logical name DISK$LIBRARY to point to the ; disk that needs modifying. ; ; .title set_owner ; set non-interlocked ownership of file $atrdef ; Attributes definition $fibdef ; File Information Block Definition $fiddef ; File ID definitions $iodef ; I/O Function codes fid: .word FID$C_INDEXF ; File ID of INDEXF.SYS .word FID$C_INDEXF .word 0 UIC: .word ^O4 ; Member UIC of [1,4] (octal) .word ^O1 ; Group UIC of [1,4] (octal) atr_list: ; User attributes list .word atr$s_uic ; length .word atr$c_uic ; code .address uic ; buffer Address .long 0 ; End Of List fib_desc: ; FIB Descriptor .long fib$c_accdata ; Short block (access data) .address fib fib: .blkb fib$c_accdata ; Only need the short block iosb: .quad 0 ; Status of IO Channel: ; Channel to the device .word 0 Disk: .ascid /DISK$LIBRARY:/ ; <<<-- Define this logical name ; Main Entry point of Code ; .entry set_owner, ^m<> $assign_s chan=channel, - ; Assign a channel to the disk devnam=disk blbs r0, 10$ ; Check for errors 5$: ret 10$: movl #fib$m_write!fib$m_nolock,- fib+fib$l_acctl ; Allow write and nolocked access movl fid, fib+fib$w_fid ; Set the File Id In question movw fid+fid$w_rvn, fib+fib$w_fid_rvn $qiow_s chan=channel, - ; Perform the QIO function func=#io$_modify, - ; to modify the file iosb=iosb,- ; return status p1=fib_desc, - ; This file p5=#atr_list ; These attributes blbc r0,5$ ; set the final condition movzwl iosb, r0 ; code (worst error) brb 5$ .end set_owner