More likely IEFUSI or similar. Hiperspace is NOT in the 31-bit (or 64-bit) memory map. That's the point of it.
Cheers, Martin Martin Packer, zChampion, Principal Systems Investigator, Worldwide Banking Center of Excellence, IBM +44-7802-245-584 email: martin_pac...@uk.ibm.com Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker From: Alan Young <ayo...@teleport.com> To: IBM-MAIN@LISTSERV.UA.EDU Date: 10/03/2015 06:44 Subject: Re: LE Question Sent by: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> The C runtime I/O functions fopen(), fread(), fwrite(), etc. support hiperspace data if the fopen() file mode parameter type=memory(hiperspace) is specified. The functions are callable from COBOL. You just have to setup the parameters for what C expects and compile with NODYNAM. On our system a test program will allocate up to 2GB before a runtime error occurs. I don't know if that's due to AMODE 31 restrictions or not. Until we get 64 bit COBOL, I guess one can try to allocate multiple files to store 2GB in each. I don't know if you will need to pass the file stream pointer back and forth between the programs or if opening the file with the same parameters in both will access the same file... We don't have a C compiler to try that out. Alan Scott Ford wrote: > Sam, > > Yeah I agree. I might have to stay with QSAM file until we can write and > test an API.. > Thanks a lot, > > As always much appreciated. > > Regards, > Scott > > On Monday, March 9, 2015, Sam Siegel <s...@pscsi.net> wrote: > > >> OK ... that is a lot of data. >> >> Since an address space provides for just 2GB in the 31 bit range for code, >> data and system code, you cannot get 3GB in there. You have the following >> choices: >> 1) 1 or more data spaces >> 2) 64bit memory >> 3) some 31 bit data in current address space; remainder in dataspace(s) >> and/or 64bit memory. >> >> 64 bit memory is the cleanest in terms of using linear addresses. However, >> if data needs to be referenced by COBOL, you will face problems. You might >> need to copy back data to 31bit address space or other means. >> >> dataspaces cannot be directly accesses by COBOL as you need to be in AR >> mode and use the proper ALETs. COBOL does not do ALETs. >> >> If you go the 64 bit memory route. You can create an API in "c" that will >> retrieve data on behalf of COBOL and copy it back to 31 bit memory. >> >> If you go the dataspace route, you can create an API in asm that will >> retrieve ALET qualified data on behalf of COBOL and copy it over to >> non-alet qualified memory. >> >> Either way, i think you need an API. >> >> On Mon, Mar 9, 2015 at 3:44 PM, Scott Ford <idfzos...@gmail.com >> <javascript:;>> wrote: >> >> >>> Sam, >>> >>> 2-3 G ..... >>> >>> Regards, >>> Scott >>> >>> On Monday, March 9, 2015, Paul Gilmartin < >>> 0000000433f07816-dmarc-requ...@listserv.ua.edu <javascript:;>> wrote: >>> >>> >>>> On Mon, 9 Mar 2015 14:18:15 -0700, Sam Siegel wrote: >>>> >>>> >>>>> How much data? 10meg? 100meg? 1gig? >>>>> >>>>> >>>> How about 10 gig? None of those numbers would be unreasonable >>>> if COBOL supported 64-bit addressing. But IBM can't see the use >>>> for that. >>>> >>>> Of course if the data are large enough they go into page data sets >>>> anyway, but that's utterly transparent to the programmer. >>>> >>>> >>>>> On Mar 9, 2015 2:06 PM, "Scott Ford" wrote: >>>>> >>>>>> I will have to read and try ..my question is how do i pass a lot of >>>>>> >>> data >>> >>>>>> ...a dataspace ? i would like to avoid dasd if I can .. >>>>>> >>>> -- gil >>>> ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN