DanD wrote on 10/05/2005 12:20:43 PM:

>
> I was wondering if anyone has used the ADPLSMAP IPCS service routine to
map
> a dataspace?
> Any code  samples would be welcome.
>

Can you expand on the phrase "map a dataspace"?  In my mind I'm hearing it
meaning the following:

1.  Somehow you or your program know that mapping hasn't been done already.

2.  You have a program that, pointed at a data space owned by your code,
can say which structures span which addresses within the space.

3.  You want the descriptions recorded so that subsequent WHERE service
requests or IPCS subcommands can relate data space addresses to the
structures in the data space.

If that's the question, then the answer is that it may be tricky but all of
the services that you'll need are available to an HLASM program:

1.  The ECT service can be used to request that something like the
following subcommand be run:

EVALMAP GE ADDR(0) ASID(a) DSPNAME(d)

If EVALMAP can't find any records pertaining to the data space, it will
produce a high return code and you'll know that you haven't gone to the
effort of mapping previously.  If what I'm describing is what you and
others intend to do, we should add an item to the IPCS wish list that you
be able to do this through the Storage Map Service (just map service
henceforth).  You can't do that today.

2.  You'll need to supply scan routines to handle each type of structure
that you want mapped.  Two versions of the protocol to invoke them are
supported.

a.  The most common one that we expected was one where all the scan routine
would need is the identity of the address space and the address within the
space.  It would retrieve an image of the block of interest and would be
able to deduce the length and category (eg. RB is a PRB or UCB is a UCBDA)
from fields within the block itself.  When the scan routine exits, IPCS
takes care of caching the information from the BLSRSASY structure generated
into the dump directory.  The scan routine supplies two codes, one to
indicate whether the requested validation completed and the other to
indicate what it thinks of the assertion that the storage contains one of
those things.

b.  Blocks, particularly ones designed by hardware designers, may be
described by information that points to them rather than information within
them, forcing the caller to supply a description but not necessarily to
render an opinion regarding whether the block appears to be a valid
instance of, e.g. an ASN-first-table, ASN-second-table, region table,
segment table, ....  There's an indication that you have a "remote"
description being supplied to the scan routine.  The scan routines for such
blocks function a lot like the ones in the first category but expect to get
a valid description of the type of block supported.

The caller of the map service can use a 2nd instance of a BLSRSASY
structure in its calling sequence to inform IPCS and the scan routine about
which block led to the block being scanned.

Note:  If you have a block that can be described as an array, eg. the
zArchitecture segment table, do so rather than adding separate items to the
IPCS storage map for each entry.  We were very generous with reserved space
when IPCS storage map entries were designed, and you can use more space to
describe something than the original block occupied.

Bob Wright - z/OS MVS Service Aids

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to