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