From: Chris Sharman [Chris.Sharman@CCAgroup.co.uk] Sent: Tuesday, March 27, 2001 5:32 AM To: Info-VAX@Mvb.Saic.Com Subject: Re: Such a thing as a 'nobackup' ACE? Jan Vorbrueggen wrote: > > adrian_parker@my-deja.com writes: > > > Is there a way to make newly created files within a directory have a nobackup > > attribute. I cannot find a reference to a default nobackup ACE which is how > > i'd expected to do this. As it is, we're doing a set file/nobackup after > > creation. > > That certainly is the supported way. I do not think there is such an ACE - > > Setting this from a program is a little work. Let RMS open the file for you, > with the FAB option UFO (user file open). THe STV entry in the FAB then > contains a channel you can use for a $QIO. Look in the parent manual of the > quote above how to do a MODIFY (IIRC) with an ATR block that sets the NOBACKUP > characteristic. You might need to read them first. Easier to use XABITM XAB$_UCHAR_NOBACKUP with the RMS $create. You don't need to get into $qio unless you want to do it to an existing file. Below is a Pascal OPEN user_action function I use for the multitude of large postscript files we generate daily. Chris FUNCTION set_nobackup ( VAR fab: fab$type; VAR rab: rab$type; VAR f: TEXT ): UNSIGNED; VAR sts: UNSIGNED; enabl: INTEGER VALUE xab$k_enable; itm: _item_list_3(1) VALUE ZERO; xab: xab$type VALUE [ xab$b_bln: xab$c_itmlen; xab$b_cod: xab$c_itm; xab$b_mode: xab$k_setmode; OTHERWISE ZERO]; BEGIN WITH itm, item[1] DO BEGIN buf_len := SIZE(enabl); code := xab$_uchar_nobackup; buf_addr := IADDRESS(enabl); END; xab.xab$l_itemlist := IADDRESS(itm.item[1]); xab.xab$l_nxt := fab.fab$l_xab; fab.fab$l_xab := IADDRESS(xab); sts := $create(fab); IF ODD(sts) THEN sts := $connect(rab); fab.fab$l_xab := xab.xab$l_nxt; set_nobackup := sts; END;