KARNEY%PPC.MFENET@NMFECC.ARPA.UUCP (12/22/86)
I've written a program which updates records in the SYSUAF file. I'm using the layout of the SYSUAF file given by John Carosso in SYSUAFDEF.PAS which Joe Meadows distributed as part of DELIVER. The last two fields in this record definition (uaf$b_filler5 and uaf$b_filler6) increase the length of the record from 644 bytes to 1412 bytes. If you create a new SYSUAF.DAT, DIR/FULL shows that the record format is "Variable length, maximum 1412 bytes", while DUMP/RECORD shows that the two records (SYSTEM and DEFAULT) in the file both have only 644 bytes. My questions are: What are these last two fields used for? Does it hurt to read in a 644 byte record and update it as a 1412 byte record (with the extra bytes set to zero)? What's the easiest way in PASCAL to read and update variable length records (from a file like SYSUAF.DAT) keeping the length of the record fixed? Charles Karney Karney%PPC.MFENET@NMFECC.ARPA CC: INFO-VAX@SRI-KL.ARPA KARNEY
iglesias%unxa.uci.edu@ICS.UCI.EDU (Mike Iglesias) (12/24/86)
You might consider using the $GETUAI/$SETUAI system services instead of writing to the file directly. That way, your program will be more independent of changes in SYSUAF in the future, and you won't have to worry about the fillers. Of course, use of these system services requires VMS v4.4 and up, so if you aren't running 4.4 or 4.5, you're going to have to figure it out the hard way. Mike Iglesias University of California, Irvine iglesias@ics.uci.edu (arpa) miglesias@ucivmsa (bitnet)