All the examples, and the text, indicate you have to issue " call syscalls 'ON' " to activate that environment.
When I needed to preserve a storage area, I just used IRXCOMM to stash the address in a variable that the calling routine didn't even know about. Notwithstanding that the host REXX might use that name, surely you can pick something very unlikely to be. sas On Tue, Jun 28, 2022 at 3:03 PM Charles Mills <[email protected]> wrote: > I have my "UNIX file" program, that I asked about a week or so ago, > running. > Thanks for your help. > > SYSCALLS did not behave quite as I expected. Perhaps this is documented but > I did not see it. > > Does a Rexx program have to be running from a UNIX shell or the like to be > able to issue ADDRESS SYSCALLS? My Rexx is running under IRXJCL (or > IKJEFT01) in "legacy" batch and I consistently got a -3 for ADDRESS > SYSCALLS. Is that to be expected? Does it need instead to run under SH or > similar? Or am I missing something else? > > In the past I have just used ADDRESS SYSCALL "function parms ..." and that > works under IKJEFT01 batch. Is there anything wrong with doing it that way? > I did find you cannot say fd = ADDRESS SYSCALL "open ..."; you have to get > the fd from RC. I also had to code my own O_CREAT, etc. > > By the way, re the unrelated persistent storage discussion, I did not need > persistent storage but since I already had code that managed the "user" > pointer in the Rexx environment block I did use that. Persisting the > storage > let me build the ECBLIST list once rather than every time; a few small > things like that. If I were working from scratch I would probably not have > bothered with persistent storage. The negative of the Rexx user pointer is > that all called routines share one word and have to coordinate their usage. > I have a management routine, it might be problematic with a disparate group > of developers. If I needed persistent storage I would use name/token to > keep > the pointer around. > > Thanks again. > > Charles > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
