× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



The mapping of path names to streamfile objects is implemented as a nested
hierarchy of DSI's (data space indexes--the same kind of objects that
constitute database access paths).  There's a root DSI contained in QSYS,
which has an entry for each top-level directory (/dev, /home, etc.); each
entry containing the virtual address of the DSI for that directory.  The
top-level DSI's have entries for the objects in that directory, including
streamfile objects and DSI's for the second-level sub-directories, and so on,
and so on.  So there's a separate DSI for every directory and sub-directory
in the IFS.

Actually, there are two root DSI's in QSYS named "QP0DSystem Root" which has
entries for the "root" filesystem, and "QP0DHidden System Root" which has
entries for other filesystems (e.g. QOpenSys).  You can see these by doing
DMPOB QSYS *LIB and scanning for "Root".  The DSI's have hex type 0C 01.  You
can dump a DSI with SST using the address in the QSYS dump.  In a given DSI,
to find the index entries for sub-directories, look for x0C01 in the entry;
it will be followed by some zeros and the virtual address of the DSI.  Note
that the names in the DSI entries are in Unicode where each character is
coded as x00 followed by the ASCII code for the character.

HOWEVER, I fully agree with Simon that normal application programming for IFS
should use high-level languages and API's.  I think anyone trying to use MI
for it is, in Donald Rumsfeld's phrase, "out of their mind."  I mentioned the
above purely for the entertainment of the idly curious.

Remember Donald Knuth's dictum: "Premature optimization is the root of all
evil"

--Dave

On Wednesday 02 January 2002 13:32, Simon Coulter wrote:
> My comments for what they are worth:
>
> Since the Source/Sink MI instructions are both blocked and a royal pain to
> work with, isn't MI access to database files generally achieved by calling
> various QDM* and QDB* "APIs"?  So what's the big deal with calling a
> program to access the IFS?  Using pointers and based storage will allow
> you to access all the data.
>
> If you want speed then use C.  It will be at least as fast as MI access,
> possibly faster, has direct support for the IFS structure and APIs, and
> you can embed most MI instructions in C due to support for MI built-ins.
> (Actually, you could probably have written the code to do this in the time
> it's taken to experiment.)
>
> IFS files are Byte Stream Spaces which are object type X'1E'.  The
> documentation for RSLVSP allows that object type which implies that you
> can resolve to an IFS object.  BUT the object name supported by RSLVSP is
> restricted to 30 characters.  Does that imply that IFS objects have an
> additional layer imposing the hierarchy?  Much like QDLS where the
> hierarchy resolves to a single-level-store object.
>
> So, if you could convert the IFS path to the underlying *STMF or *DSTMF
> (since the images in question are on optical disk) then you should be able
> to resolve to it.  If you can resolve to it you should be able to take a
> space pointer to it.  If you can set a space pointer then you can access
> the data since a *STMF is a much simpler object than a database file.
>
> Does anyone know if this path to object conversion assumption is valid?
> If so, does anyone know where the conversion table is located or an API
> (probably undocumented) to perform the conversion?
>
> Regards,
> Simon Coulter.
>
> --------------------------------------------------------------------
>    FlyByNight Software         AS/400 Technical Specialists
>    http://www.flybynight.com.au/
>
>    Phone: +61 3 9419 0175   Mobile: +61 0411 091 400        /"\
>    Fax:   +61 3 9419 0175   mailto: shc@flybynight.com.au   \ /
>                                                              X
>                  ASCII Ribbon campaign against HTML E-Mail  / \
> --------------------------------------------------------------------



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.