Rob 

You are absolutely right 

I am not on my system now but I have gone trough this a number of times the 
addresses I’m using is only for purposes of example 

In the following example of a allocated block descriptor followed by a free 
block descriptor 

00000001 1FE20000 00001000 00000001 1FE20000 00000200


The input for the VSMLOC would be address 
1FE20000 and the length would be 800

The starting address of the free storage 
Would then be 1FE20800 as the last 200 are freed storage 

I think I used 1FE20000 for the address and 1000 for then length where it 
should be 800

 Thanks 

> On Sep 7, 2022, at 10:59 AM, Rob Scott <rsc...@rocketsoftware.com> wrote:
> 
> Joseph
> 
> Why do you need VSMLOC at all if you are processing VSMLIST SP=PVT,SPACE=FREE 
> ?
> 
> The TCB address is returned as part of the answer area buffer prior to each 
> set of ALLOC+FREE descriptors for each subpool.
> 
> It looks something like this :
> 
>            # of TCBs
>            TCB_STRUCT(1) (includes # of SPs)
>            SP_STRUCT(1)
>            # of alloc blocks
>            ALLOC_STRUCT(1)
>            # of free blocks = n
>            FREE_STRUCT(n)
> 
>            ALLOC_STRUCT(2)
>            # of free blocks = n
>            FREE_STRUCT(n)
> 
>            ..and so on until next subpool struct (after all alloc blocks 
> processed)
>            …
>            SP_STRUCT(2)
>            …
> 
>            ..and so on until next TCB struct (after all subpools processed)
> 
>            TCB_STRUCT(2)
> 
>            ..and so on
> 
> I hope the above helps.
> 
> Rob Scott
> Rocket Software
> 
> 
> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
> Joseph Reichman
> Sent: 07 September 2022 14:23
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: VSMLIST question
> 
> EXTERNAL EMAIL
> 
> 
> 
> Rob
> 
> You are correct 7FF……. Are LSQA type address
> 
> However my question is using VSMLIST SPACE=FREE SP=PVT the returned block 
> descriptors are both allocated followed by the free
> Should I not be able to obtain the owning TCB
> 
> With VSMLOC for the allocated block ?
> 
> Thanks
> 
>> On Sep 7, 2022, at 9:05 AM, Rob Scott 
>> <rsc...@rocketsoftware.com<mailto:rsc...@rocketsoftware.com>> wrote:
>> 
>> Joseph,
>> 
>> The example address you posted looks very much like LSQA to me - are you 
>> sure it was returned by VSMLIST SP=PVT ?
>> 
>> Also - did you check the return code from VSMLOC?
>> 
>> Might be worth capturing a in-flight dump of the target address space and 
>> comparing what you are seeing with IPCS VSMDATA.
>> 
>> Rob Scott
>> Rocket Software
>> 
>> -----Original Message-----
>> From: IBM Mainframe Discussion List 
>> <IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU>> On Behalf Of 
>> Joseph Reichman
>> Sent: 07 September 2022 13:13
>> To: IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU>
>> Subject: VSMLIST question
>> 
>> EXTERNAL EMAIL
>> 
>> 
>> 
>> 
>> 
>> Hi
>> 
>> 
>> 
>> Its my understanding that when code the following (below the code for 
>> VSMLIST) what gets returned in my work area is the both an allocated 
>> followed by free storage this is what on understand from bullet 4 specified 
>> in the authorized Assembler guide page 240
>> 
>> 
>> 
>> So for example I could get a block descriptor 00000001 7FFFFF88 00001000 
>> 00000001 7FFFFFF88 00000500 now it my understanding the
>> first 12 bytes is the allocated block descriptor
>> 
>> 
>> 
>> However when I do a VSMLOC on that address I get nothing return in the TCB= 
>> field
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> I am running this code in SRB mode and move the storage I get returned to 64 
>> bit memory object
>> 
>> 
>> 
>> thanks
>> 
>> 
>> 
>> Code for VSMLIST
>> 
>> 
>> 
>> 
>> 
>> LGF R8,PSAAOLD Get Home ASCB
>> 
>> LGF R8,ASCBASXB-ASCB(,R8) Get asxb
>> 
>> LGF R8,ASXBFTCB-ASXB(,R8) Get First tcb
>> 
>> LGF R8,TCBJSTCB-TCB(,R8)
>> 
>> 
>> 
>> 
>> 
>> Here id the VSMLIST invocation
>> 
>> 
>> 
>> 
>> 
>> SAM31
>> 
>> VSMLIST SP=PVT,
>> 
>> WKAREA=((R6),4096),
>> 
>> SPACE=FREE,
>> 
>> TCB=((R8),ALL)
>> 
>> CH R15,=H'4'
>> 
>> BH EXITLST
>> 
>> SAM64
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> From the Authorized Assembler guide page 240
>> 
>> 
>> 
>> 
>> 
>> This figure describes the work area that VSMLIST produces when you use 
>> SP=PVT. Note: 1. The number of subpools in the private area is a 31-bit 
>> number.
>> 
>> 2. The address of the TCB is contained in a fullword.
>> 
>> 3. Figure 37 on page 218 shows the format of the allocated storage 
>> information for the subpools owned by each TCB.
>> The storage information begins at offset 0, "number of subpools" in that 
>> figure.
>> 
>> 4. If you specify SPACE=FREE, free space information follows each allocated 
>> block descriptor. Figure 42 on page
>> 221 describes the format of the free space information.
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> Code for VSMLOC
>> 
>> 
>> 
>> SAM31
>> 
>> VSMLOC PVT,AREA=((R3),(R4)),TCB=TCBW
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions, send email 
>> to lists...@listserv.ua.edu<mailto:lists...@listserv.ua.edu> with the 
>> message: INFO IBM-MAIN
>> 
>> ================================
>> Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 
>> ■ Main Office Toll Free Number: +1 855.577.4323
>> Contact Customer Support: 
>> https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport<https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport>
>> Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
>> http://www.rocketsoftware.com/manage-your-email-preferences<http://www.rocketsoftware.com/manage-your-email-preferences>
>> Privacy Policy - 
>> http://www.rocketsoftware.com/company/legal/privacy-policy<http://www.rocketsoftware.com/company/legal/privacy-policy>
>> ================================
>> 
>> This communication and any attachments may contain confidential information 
>> of Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
>> prohibited. If you are not the intended recipient, please notify Rocket 
>> Software immediately and destroy all copies of this communication. Thank you.
>> 
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu<mailto:lists...@listserv.ua.edu> with 
>> the message: INFO IBM-MAIN
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu<mailto:lists...@listserv.ua.edu> with 
> the message: INFO IBM-MAIN
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to