[mod.computers.vax] A QUESTION REGARDING THE ACP-QIO INTERFACE ROUTINES

manly@UMass.BITNET (10/27/86)

--------------------------------------------------------------------------------

Hi out there in INFO-VAX land.  I have a question regarding the file system
and doing $QIO's to the disk ACP.  I am writing a utility to convert an
arbitrary file into an ordinary sequential file of fixed length 512 byte
records in such a way that it can be completely reconstructed (including
things like the First Free byte and End of file block along with all the
record information and file characteristics bits).  I will be using this
to do things like store indexed files on tape without having to use the
backup utility.

To do this, I am making use of the ACP-QIO interface stuff from the IO user's
guide, and using FIBs and Attribute blocks (ATR$).  Now the question:
there are a number of Attributes defined but not explained very well.
In particular, do any of you file system hackers know what the following
Attributes are or do? (IO Users Guide, page 1-19)

    ATR$C_SEMASK,  ATR$C_ DIRSEQ,  and ATR$C_USERLABEL

I am particularly interested in the latter two (the first I assume is support
for the as-yet unimplemented class based security system for Verson 5).
I have tried writing and reading the USERLABEL field, and it completes
sucessfully.  But it always comes back empty, and what I write into it doesn't
get put anywhere.  Is this field only for tapes or something.  And what is
a Directory Sequence Update count?

                                 Thanks in advance for any info,

BITNET:  JWMANLY@AMHERST              John W. Manly
                                      System Manager
                                      Amherst College ACC
--------------------------------------------------------------------------------

LEICHTER-JERRY@YALE.ARPA (11/01/86)

    Hi out there in INFO-VAX land.  I have a question regarding the file
    system and doing $QIO's to the disk ACP.  I am writing a utility to
    convert an arbitrary file into an ordinary sequential file of fixed length
    512 byte records in such a way that it can be completely reconstructed
    (including things like the First Free byte and End of file block along
    with all the record information and file characteristics bits).  I will be
    using this to do things like store indexed files on tape without having to
    use the backup utility.
    
    To do this, I am making use of the ACP-QIO interface stuff from the IO
    user's guide, and using FIBs and Attribute blocks (ATR$).  Now the
    question:  there are a number of Attributes defined but not explained very
    well.  In particular, do any of you file system hackers know what the
    following Attributes are or do? (IO Users Guide, page 1-19)  ATR$C_SEMASK,
    ATR$C_DIRSEQ,  and ATR$C_USERLABEL.
ATR$C_USERLABEL is indeed for tapes only.  I don't know what the other two
are.

BTW, you are doing this the hard way.  (Almost) all the information you need
can be gotten and set with the callable FDL facility.  MUCH easier.  (The only
thing that ISN'T gotten is the longest record size - not the maximum ALLOWED
size, but the maximum size any record actually has (the XAB LRL field).  You
can get this from RMS.  Setting it without going to the ACP QIO interface
requires a bit of hackery - open the file and write a record of the
appropriate size (contents unimportant), then over- write the file.  If you
are going to populate the file using record-mode access, don't bother and let
RMS set the actual correct value - which may not, however, be the same as on
the original file - it could be smaller, if longer records were once in the
file but have since been deleted.)

							-- Jerry
-------