Try changing the STDENV DD to //STDENV DD * _BPX_BATCH_SPAWN=YES _BPX_SHAREAS=YES /*
The variables are discussed in https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxa400/bpxug240.htm -----Original Message----- >From: Frank Swarbrick <[email protected]> >Sent: Oct 12, 2017 5:17 PM >To: [email protected] >Subject: fopen DD > >I am playing with the Swift for z/OS beta. Swift itself supports little in >the way of I/O, and instead depends on the underlying C runtime. Below is a >small program that opens a file, reads 4 bytes in to a buffer and writes out >the results as an integer. > >import Libc > >func fwx(file filename: String, access: String) { > if let fwf = fopen(filename, access) { > defer { fclose(fwf) } > let buffer = UnsafeMutablePointer<UInt32>.allocate(capacity: 1) > defer { buffer.deallocate(capacity: 1) } > let _ = fread(buffer, MemoryLayout<UInt32>.size, 1, fwf) > print("from \(filename): \(buffer.pointee)") > } > else { > print("error opening file \(filename): \(errno)") > } >} > >fwx(file: "/u/dvfjs/fw.bin", access: "rb") >fwx(file: "//'DVFJS.FW'", access: "rb") >fwx(file: "dd:FW", access: "rb") > >The last three statements are the "mainline" of the program. For the first >one the file is a Unix file. For the second one its a VSAM ESDS called >'DVFJS.FW'. Both of these work. I can't figure out how to specify a DD >reference to make that last one work. I've tried both using "dd:FW" and >"//dd:FW". Is it perhaps a problem with the DD itself? When running it under >BPXBATCH I am specifying the FW DD like I would for any other batch job: > >//SHELL JOB NOTIFY=&SYSUID,REGION=2000M >//UNIXSH EXEC PGM=BPXBATCH,PARMDD=PARMSIN >//FW DD DISP=SHR,DSN=DVFJS.FW >//PARMSIN DD * >SH /u/dvfjs/src/fw >/* >//STDIN DD DUMMY >//STDOUT DD SYSOUT=* >//STDERR DD SYSOUT=* >//STDENV DD DUMMY >// > >Does the Unix environment for BPXBATCH not have access to the JCL DD? > >We don't have a license for the C compiler, so I've never used C for z/OS. > >Frank > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
