From:	SMTP%"carl@SOL1.GPS.CALTECH.EDU"  7-MAR-1994 11:55:44.14
To:	EVERHART
CC:	
Subj:	Re: How to use XABRDT to modify file revision time

From: carl@SOL1.GPS.CALTECH.EDU (Carl J Lydick)
X-Newsgroups: comp.os.vms
Subject: Re: How to use XABRDT to modify file revision time
Date: 5 Mar 1994 17:25:52 GMT
Organization: HST Wide Field/Planetary Camera
Lines: 34
Distribution: world
Message-Id: <2lafb0$46u@gap.cco.caltech.edu>
Reply-To: carl@SOL1.GPS.CALTECH.EDU
Nntp-Posting-Host: sol1.gps.caltech.edu
To: Info-VAX@CRVAX.SRI.COM
X-Gateway-Source-Info: USENET

In article <ROBERTS.94Mar4005809@fermi.nsrl.rochester.edu>, ROBERTS@fermi.nsrl.rochester.edu (Roland B Roberts) writes:
=I'm trying to use RMS services to update the revision time on a file.  I
=can do it using $qio with IO$_ACCESS and IO$_DEACCESS, but can't seem to
=convince $close to change the revision time.

Well, here's an example that works:

#include rms
main()
{	struct FAB my_fab;
	struct XABRDT my_xabrdt;
	unsigned long *ptr;

	my_fab = cc$rms_fab;
	my_fab.fab$l_fna = "TEST.DAT";
	my_fab.fab$b_fns = strlen(my_fab.fab$l_fna);
	my_fab.fab$b_fac = FAB$M_PUT;
	my_fab.fab$l_xab = &my_xabrdt;
	my_xabrdt = cc$rms_xabrdt;
	printf("%%X%08X\n", SYS$OPEN(&my_fab));
	ptr = (long *) &my_xabrdt.xab$q_rdt;
	ptr[0] = 1;
	ptr[1] = 1;
	printf("%%X%08X\n", SYS$CLOSE(&my_fab));
	printf("%%X%08X%08X\n", ptr[1], ptr[0]);
}
--------------------------------------------------------------------------------
Carl J Lydick | INTERnet: CARL@SOL1.GPS.CALTECH.EDU | NSI/HEPnet: SOL1::CARL

Disclaimer:  Hey, I understand VAXen and VMS.  That's what I get paid for.  My
understanding of astronomy is purely at the amateur level (or below).  So
unless what I'm saying is directly related to VAX/VMS, don't hold me or my
organization responsible for it.  If it IS related to VAX/VMS, you can try to
hold me responsible for it, but my organization had nothing to do with it.

