Re: OSA-ICC Connection Question

2023-11-15 Thread Luc Martens (KBC)
There is a relationship between an OSAICC definition and VTAM if you want to 
use that OSAICC session as an non-sna terminal.
You then need a VTAM non-SNA definition in your VTAM list.
The relation between the OSAICC session and VTAM is based on the CUU address 
you specify in your VTAM major node.
Example:
*   
* NON-SNA VTAM TERMINALS VIA OSA-ICC KAART  
*   
 LBUILD 
 LOCAL TERM=3277,CUADDR=03D0,FEATUR2=(MODEL2,SELPEN), X
   USSTAB=USSTSON, X
   DLOGMOD=NSX32704,   X
   MODETAB=ISTINCLM 

CUADDR 3D0 must be known on the OSAICC card.

There is no relation beween the VTAM LU and the OSAICC LU name, but it's wise 
to keep them the same :)

br, Luc

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


Re: What happens if you IPL a LPAR defined as being in a parallel sysplex but the CF LPAR is not there

2023-11-15 Thread Laurence Chiu
It was gold for me and will help me settle a dispute with some local
sysprogs who said there would be no problem. My question is, it says if you
don't have a CF then change GRS=TRYJOIN or =NONE. Problem is, when the
problem occurs, how do you get online to change it? I could not find an
operator command to change it and since the system is able to IPL,
you can't logon to change it.

On Thu, Nov 16, 2023 at 4:18 PM kekronbekron <
02dee3fcae33-dmarc-requ...@listserv.ua.edu> wrote:

> Awesome, how do we even find such gems with TechDocs being what it is...
> Luckily for this one, I seem to have it bookmarked.
>
>
> On Thursday, November 16th, 2023 at 05:14, Attila Fogarasi <
> fogar...@gmail.com> wrote:
>
>
> > Answered a decade ago including how to continue the IPL and get running
> > (either single system or sysplex without CF)
> >
> https://www.ibm.com/support/pages/system/files/inline-files/Where_is_My_Coupling_Facility.pdf
> > "The paper is being written to provide clear and concise instructions on
> > how to address the sysplex support team’s most common callout. Where is
> My
> > Coupling Facility?"
> >
> > On Thu, Nov 16, 2023 at 10:42 AM Mark Jacobs <
> > 0224d287a4b1-dmarc-requ...@listserv.ua.edu> wrote:
> >
> > > GRS will attempt to connect to ISGLOCK, fail and z/OS will go into a
> > > X'0A3' wait state.
> > >
> > > Mark Jacobs
> > >
> > > Sent from ProtonMail, Swiss-based encrypted email.
> > >
> > > GPG Public Key -
> > >
> https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com
> > >
> > > On Wednesday, November 15th, 2023 at 5:49 PM, Laurence Chiu <
> > > lch...@gmail.com> wrote:
> > >
> > > > Thinking about a LPAR defined as being in a parallel sysplex with
> > > > GRS=STAR.
> > > >
> > > > What happens if you IPL that LPAR and the CF is not active? Will it
> > > > start,
> > > > issue a WTOR or just fail? We are wondering what would happen if our
> LPAR
> > > > was started at the DR site (off a replicated set of volumes) but the
> DR
> > > > CEC
> > > > did not have a CF defined. Thanks
> > > >
> > > >
> --
> > > > 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
> >
> >
> > --
> > 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
>

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


Re: External Functions in C on z/OS

2023-11-15 Thread David Crayford
When I first published RTK it was using some closed source code. I think it
may be ok to open source it but I'll have to check with the PTB.

On Thu, Nov 16, 2023 at 1:45 PM Farley, Peter <
031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

> David,
>
> I see at your RTK github you are only providing load modules.  Is there
> any chance you can you provide corresponding source for others to use as a
> model for other applications (like Eric’s EZNOSQL)?  The basic RTK setup
> really sounds like a good fit for a CBT submission, if there are no
> intellectual property issues.
>
> Peter
>
> From: IBM Mainframe Discussion List  On Behalf
> Of David Crayford
> Sent: Wednesday, November 15, 2023 9:28 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: External Functions in C on z/OS
>
>
> My advice is to write a command processor. As I said creating an LE
> environment for each function call will result in terrible performance.
> I’ve done this many times https://github.com/daveyc/RTK. The trick is to
> use CEEPIPI to create a pre-initialised LE environment and hang the pointer
> in USERFIELD of the REXX environment block. An alternative is to use Python
> instead. It’s dead easy to write packages in C/C++ without jumping through
> hoops. Writing REXX extensions in LE languages is painful which is one of
> the reasons why I don’t use REXX.
>
>
>
> --
>
> This message and any attachments are intended only for the use of the
> addressee and may contain information that is privileged and confidential.
> If the reader of the message is not the intended recipient or an authorized
> representative of the intended recipient, you are hereby notified that any
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please notify us immediately by
> e-mail and delete the message and any attachments from your system.
>
>
> --
> 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


Re: External Functions in C on z/OS

2023-11-15 Thread Farley, Peter
David,

I see at your RTK github you are only providing load modules.  Is there any 
chance you can you provide corresponding source for others to use as a model 
for other applications (like Eric’s EZNOSQL)?  The basic RTK setup really 
sounds like a good fit for a CBT submission, if there are no intellectual 
property issues.

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Wednesday, November 15, 2023 9:28 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: External Functions in C on z/OS


My advice is to write a command processor. As I said creating an LE environment 
for each function call will result in terrible performance. I’ve done this many 
times https://github.com/daveyc/RTK. The trick is to use CEEPIPI to create a 
pre-initialised LE environment and hang the pointer in USERFIELD of the REXX 
environment block. An alternative is to use Python instead. It’s dead easy to 
write packages in C/C++ without jumping through hoops. Writing REXX extensions 
in LE languages is painful which is one of the reasons why I don’t use REXX.



--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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


Re: External Functions in C on z/OS

2023-11-15 Thread Tony Harminc
On Wed, 15 Nov 2023 at 15:03, Paul Gilmartin <
042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:
[...]

> In the REXX Ref. I see:
> Register 0
> Address of an environment block (optional)
>
> "optional" should never be specified as a register content.  I read that
> as:
> Address of an environment block (if not, it doesn't matter)
>

Yeah - this offended my sense of design when I saw it 20+ years ago. REXX
uses some undocumented algorithm to decide if R0 points to a "valid" env
block, and doesn't abend if R0 isn't even a pointer to anything. So there
is presumably an ESTAE in there as well as the undocumented test(s).  Or
conceivably it does some indefensible stuff with validating the R0 content
(VSMLOC or TPROT or something?) before trying to deference it.

Are all ENVBLOKs on a list somewhere? I guess that'd be the easiest
approach. Yuck whichever way...

Tony H.

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


Re: The JES2 NJE node that cannot die.

2023-11-15 Thread Brian Westerman
There are several steps,

First you need to (in vtam via V NET,INACT,ID=) inactivate any cross domain and 
CDRSC connections between that LPAR and everyone else, then you need to (in 
JES) using the TSOCKET(name) command change it to connect=no.  From that point 
on, the physical connections just plain doesn't' exist and you can remove it 
via the delete connection command that someone mentioned earlier.

The point is that you disabled the ability for it to get anywhere else before 
you delete the connection.  I'm not sure if you can change the connection to 
connect=no before VTAM or not, I never tried it in that order.

If you want to leave the VTAM stuff active, you might be able to set the 
connect=no and then delete it, but I never tried.  Normally I do these because 
I'm removing an LPAR and the VTAM connections are no longer needed.

Brian

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


Re: External Functions in C on z/OS

2023-11-15 Thread Farley, Peter
On the z/OS V2.x systems that I can access, the PDS (not PDSE) with the 
IBM-supplied C headers is .SIEAHDR.H where  is whatever your 
z/OS install process set up.  Many IRXx headers are already done for you by 
IBM.

HTH

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Wednesday, November 15, 2023 8:12 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: External Functions in C on z/OS


There isn’t an R0 issue. IRXINIT(‘FINDENVB’) will fetch the environment block. 
All of the REXX mapping macros have been converted to C structures and can be 
found in /usr/include/zos (there is a PDS/E but I can’t remember what it's 
called). FWIW, writing external functions in C/C++ is a bad idea unless it’s 
main routine. The overhead of standing up and ripping down an LE environment is 
huge. Metal/C is an option. It’s one of the reasons why I don’t like REXX, it’s 
difficult to extend with languages other than assembler which makes it useless 
for what I want for a glue language.

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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


Rexx to clone users in RACF

2023-11-15 Thread Peter
Hello

I am looking for a rexx logic which can multiple RACFID based on one model
user ?

Does anyone have any sample rexx code or any logic that you can share with
me?

Peter

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


Re: OSA-ICC Connection Question

2023-11-15 Thread Jay Maynard
Correct. Tony supplied what you need. A VTAM APL is for applications, like
CICS and TSO, or for things that emulate terminals in software running
under VTAM, like NetView Access or TPX. The OSA-ICC is, as far as VTAM is
concerned, nothing more than a hardware 3270; all of the TCP/IP magic is in
the firmware, below the level where VTAM sees or cares about it.

On Wed, Nov 15, 2023 at 9:04 PM Michael Babcock 
wrote:

> So you are saying I don’t need a VTAM APPL statement with an LU defined?
>
> On Wed, Nov 15, 2023 at 7:47 PM Jay Maynard  wrote:
>
> > A VTAM APPL is used for a program. The OSA-ICC looks to VTAM like a plain
> > old 3270 terminal. The LU definition that mentions the device number is
> the
> > only LU definition you need, or can have.
> >
> > On Wed, Nov 15, 2023 at 6:47 PM Michael Babcock 
> > wrote:
> >
> > > We have an OSA-ICC connection set up as a 3270 session type.   The LU
> > Name
> > > in that definition is TERM140.  The CUA is B400.We have a 3270
> > session
> > > defined with the proper IP and the same LU Name of TERM140.This all
> > > works as expected.  My question is that I thought a VTAM APPL with an
> > > LUNAME of TERM140 was required but I do not see a TERM140 defined in
> VTAM
> > > at all.   I’m not a network guy.   Since this is working, I assume it’s
> > not
> > > required.   Can someone enlighten me?
> > >
> > > --
> > > For IBM-MAIN subscribe / signoff / archive access instructions,
> > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> > >
> >
> >
> > --
> > Jay Maynard
> >
> > --
> > 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
>


-- 
Jay Maynard

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


Re: External Functions in C on z/OS

2023-11-15 Thread David Crayford
There's a TSO/E vector table that has the address of the REXX routines.

 // get the address of the TSO/e vector table
 CVT  * cvt  = *(( CVT ** ) CVTPTR);
 TSVT * tsvt = cvt->cvttvt;


// IKJTSVT.H  - TSO/E Vector Table mapping
//
// Contains addresses of branch entered routines and control blocks.
//
??=ifdef __COMPILER_VER__
  ??=pragma filetag("IBM-1047")
??=endif

#ifndef TSVT_H

  #define TSVT_H

#ifdef __cplusplus
  extern "C" {
#endif

  #pragma pack(1)

#ifdef __cplusplus
  extern "OS_UPSTACK" {
#else
  #pragma linkage(tsvt_rexxfunc_t,OS_UPSTACK)
#endif

  typedef int tsvt_rexxfunc_t( char *, ... );

#ifdef __cplusplus
  }
#endif

#ifdef __cplusplus
  extern "OS_UPSTACK" {
#else
  #pragma linkage(tsvt_irxterm_t,OS_UPSTACK)
#endif

  typedef int tsvt_irxterm_t();

#ifdef __cplusplus
  }
#endif

  typedef struct tsvt TSVT;

  struct tsvt {
char   tsvttsvt[4]; // acronym in EBCDIC 'TSVT'
char   tsvtlev; // TSVT version
char   tsvtflg1;// flag indicators
char   tsvtrsv1[2]; // reserved
void * tsvtnct; // address of the most current notice
void * tsvtvacc;// address of the CLIST variable access routine
void * tsvtasf; // address of the authorized service
void * tsvtltbl;// address of logon address table
void * tsvtfla1;// address of logon initialization
void * tsvtctio;// address of CLIST I/O LAR
void * tsvtctab;// address of load module containing
void * tsvtt440;// address of CLIST variable access
void * tsvtt441;// address of general variable access
void * tsvtputl;// address of PUTLINE routine
void * tsvtptgt;// address of PUTGET  routine
void * tsvtgetl;// address of GETLINE routine
void * tsvtstck;// address of STACK   routine
void * tsvttsl; // address of TMP LAR
void * tsvtscan;// address of scan routine
void * tsvtpars;// address of parse routine
void * tsvtef02;// address of message writer routine
void * tsvttpvt;// address of TPVT
void * tsvtrcvy;// address of recovery routine ikjcmdrc
void * tsvttran;// IKJTRANS
char   tsvtbcmt[8]; // member token for broadcast notice XCF group
void * tsvtcaf; // clist attention facility addr rel 3
struct {
  char  tsvtlver;//- VERSIONLEVEL
  char  tsvtlrel[2]; //- RELEASE NUMBER
  char  tsvtlmod;//- MODIFICATION LEVEL
  } tsvttsol;
void *tsvtctdb;  // ADDRESS OF DOUBLE BYTE CHAR ROUTINE
void *tsvtrif;   // BROADCAST DATA SET INTERFACE
void *tsvtraf;   // LOGON RACF SUPPORT ROUTINE ADDRESS
void *tsvtrtrp;  // TSO ROUTER ADDRESS
void *tsvttbls;  // ADDRESS OF TABLE LOOK UP SERVICE
void *tsvtadtb;  // ADDRESS OF ALTLIB
void *tsvttblr;  // ADDRESS OF TABLE LOOKUP SERVICE RTN

tsvt_rexxfunc_t *irxestk1; // Address of IRXESTK1
tsvt_rexxfunc_t *irxtvars; // Address of IRXTVARS
tsvt_rexxfunc_t *irxinit;  // Address of IRXINIT
tsvt_rexxfunc_t *irxiolar; // Address of IRXIOLAR
tsvt_rexxfunc_t *irxsto00; // Address of IRXSTO00

void * ikjct44x;  // Address of IKJCT44X
void * ikjefts2;  // Address of IKJEFTS2

tsvt_rexxfunc_t *irxexec;  // Address of IRXEXEC
tsvt_rexxfunc_t *irxinout; // Address of IRXINOUT
tsvt_rexxfunc_t *irxload;  // Address of IRXLOAD
tsvt_irxterm_t  *irxterm;
tsvt_rexxfunc_t *irxsubcm; // Address of IRXSUBCM
tsvt_rexxfunc_t *irxmsgid; // Address of IRXMSGID
tsvt_rexxfunc_t *irxexcom; // Address of IRXEXCOM
tsvt_rexxfunc_t *irxterma; // Address of IRXTERMA

void * tsvtetvp;  // Address of Exit & Vector Table
void * tsvttsfi;  // Address of IKJEFTSI
void * tsvttsft;  // Address of IKJEFTST
inttsvtpcn1;  // PC number for IKJPCENV
void * tsvtsnta;  // System copy of the SNTAB
void * tsvtsvta;  // System copy of the SVTAB
inttsvtsyml;  // Length of system SNTAB and SVTAB
inttsvtxcfu;  // Lock for parmlib updating
void * tsvtmstr;  // Address of Master ASCB
inttsvtbecb;  // ECB for IKJBCMSG
void * tsvtappc;  // Addr of APPC callable service table
void * tsvturps;  // Address of IKJURPS module
inttsvtpcn2;  // PC number for IKJCMDPC
void * tsvtmsr0;  // Address of IKJMSR0 module
void * tsvtmdt_;  // Address of module table
inttsvtsecb;  // ECB for broadcast switches
void * tsvtswas;  // Address of ASCB for address space
void * tsvtswwa;  // Address of switch processing work area
void * tsvtswcb;  // Address of switch control block
int_filler1[7]; // Reserved
double tsvtend; // ASSURE TSVT ENDS ON DOUBLE WORD
};

  // Values for field "tsvtend" */
  #define TSVERETR 1// RETURN VARIABLE VALUE
  #define TSVEUPDT 2// UPDATE VARIABLE
  #define TSVELOC  3// LOCATE / LOCATE NEXT
  #define TSVERSVD 4// RESERVED
  #define TSVNOIMP 18   // NO IMPLICIT  @ZA87430
  #define TSVROK   0// EVERY THING OK
  

Re: OSA-ICC Connection Question

2023-11-15 Thread Tony Thigpen

You don't need an APPL. You need an LBUILD:

LOCAL080 LBUILD
*
ICU1L088 LOCAL TERM=3277,CUADDR=088,ISTATUS=ACTIVE,MODETAB=ISTINCLM,   X
   FEATUR2=(MODEL2),USSTAB=USSNSNA,DLOGMOD=D4B32XX3

On exception. If you are using the terminal as a console only, then VTAM 
does not need to have it defined.



Tony Thigpen

Michael Babcock wrote on 11/15/23 10:02 PM:

So you are saying I don’t need a VTAM APPL statement with an LU defined?

On Wed, Nov 15, 2023 at 7:47 PM Jay Maynard  wrote:


A VTAM APPL is used for a program. The OSA-ICC looks to VTAM like a plain
old 3270 terminal. The LU definition that mentions the device number is the
only LU definition you need, or can have.

On Wed, Nov 15, 2023 at 6:47 PM Michael Babcock 
wrote:


We have an OSA-ICC connection set up as a 3270 session type.   The LU

Name

in that definition is TERM140.  The CUA is B400.We have a 3270

session

defined with the proper IP and the same LU Name of TERM140.This all
works as expected.  My question is that I thought a VTAM APPL with an
LUNAME of TERM140 was required but I do not see a TERM140 defined in VTAM
at all.   I’m not a network guy.   Since this is working, I assume it’s

not

required.   Can someone enlighten me?

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




--
Jay Maynard

--
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


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


Re: What happens if you IPL a LPAR defined as being in a parallel sysplex but the CF LPAR is not there

2023-11-15 Thread kekronbekron
Awesome, how do we even find such gems with TechDocs being what it is...
Luckily for this one, I seem to have it bookmarked.


On Thursday, November 16th, 2023 at 05:14, Attila Fogarasi  
wrote:


> Answered a decade ago including how to continue the IPL and get running
> (either single system or sysplex without CF)
> https://www.ibm.com/support/pages/system/files/inline-files/Where_is_My_Coupling_Facility.pdf
> "The paper is being written to provide clear and concise instructions on
> how to address the sysplex support team’s most common callout. Where is My
> Coupling Facility?"
> 
> On Thu, Nov 16, 2023 at 10:42 AM Mark Jacobs <
> 0224d287a4b1-dmarc-requ...@listserv.ua.edu> wrote:
> 
> > GRS will attempt to connect to ISGLOCK, fail and z/OS will go into a
> > X'0A3' wait state.
> > 
> > Mark Jacobs
> > 
> > Sent from ProtonMail, Swiss-based encrypted email.
> > 
> > GPG Public Key -
> > https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com
> > 
> > On Wednesday, November 15th, 2023 at 5:49 PM, Laurence Chiu <
> > lch...@gmail.com> wrote:
> > 
> > > Thinking about a LPAR defined as being in a parallel sysplex with
> > > GRS=STAR.
> > > 
> > > What happens if you IPL that LPAR and the CF is not active? Will it
> > > start,
> > > issue a WTOR or just fail? We are wondering what would happen if our LPAR
> > > was started at the DR site (off a replicated set of volumes) but the DR
> > > CEC
> > > did not have a CF defined. Thanks
> > > 
> > > --
> > > 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
> 
> 
> --
> 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


Re: OSA-ICC Connection Question

2023-11-15 Thread Michael Babcock
So you are saying I don’t need a VTAM APPL statement with an LU defined?

On Wed, Nov 15, 2023 at 7:47 PM Jay Maynard  wrote:

> A VTAM APPL is used for a program. The OSA-ICC looks to VTAM like a plain
> old 3270 terminal. The LU definition that mentions the device number is the
> only LU definition you need, or can have.
>
> On Wed, Nov 15, 2023 at 6:47 PM Michael Babcock 
> wrote:
>
> > We have an OSA-ICC connection set up as a 3270 session type.   The LU
> Name
> > in that definition is TERM140.  The CUA is B400.We have a 3270
> session
> > defined with the proper IP and the same LU Name of TERM140.This all
> > works as expected.  My question is that I thought a VTAM APPL with an
> > LUNAME of TERM140 was required but I do not see a TERM140 defined in VTAM
> > at all.   I’m not a network guy.   Since this is working, I assume it’s
> not
> > required.   Can someone enlighten me?
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >
>
>
> --
> Jay Maynard
>
> --
> 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


Re: External Functions in C on z/OS

2023-11-15 Thread Charles Mills
> There isn’t an R0 issue. IRXINIT(‘FINDENVB’) will fetch the environment 
> block. 

IIRC I needed the entry R0 to get the address of IRXINIT so I could call it.

Charles

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


Re: What happens if you IPL a LPAR defined as being in a parallel sysplex but the CF LPAR is not there

2023-11-15 Thread Laurence Chiu
That is perfect, thanks.

Looks like there is some work to do at the DR site to make sure this does
not happen.

On Thu, Nov 16, 2023 at 12:44 PM Attila Fogarasi  wrote:

> Answered a decade ago including how to continue the IPL and get running
> (either single system or sysplex without CF)
>
> https://www.ibm.com/support/pages/system/files/inline-files/Where_is_My_Coupling_Facility.pdf
> "The paper is being written to provide clear and concise instructions on
> how to address the sysplex support team’s most common callout. Where is My
> Coupling Facility?"
>
> On Thu, Nov 16, 2023 at 10:42 AM Mark Jacobs <
> 0224d287a4b1-dmarc-requ...@listserv.ua.edu> wrote:
>
> > GRS will attempt to connect to ISGLOCK, fail and z/OS will go into a
> > X'0A3' wait state.
> >
> > Mark Jacobs
> >
> > Sent from ProtonMail, Swiss-based encrypted email.
> >
> > GPG Public Key -
> >
> https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com
> >
> >
> > On Wednesday, November 15th, 2023 at 5:49 PM, Laurence Chiu <
> > lch...@gmail.com> wrote:
> >
> >
> > > Thinking about a LPAR defined as being in a parallel sysplex with
> > GRS=STAR.
> > >
> > > What happens if you IPL that LPAR and the CF is not active? Will it
> > start,
> > > issue a WTOR or just fail? We are wondering what would happen if our
> LPAR
> > > was started at the DR site (off a replicated set of volumes) but the DR
> > CEC
> > > did not have a CF defined. Thanks
> > >
> > > --
> > > 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
> >
>
> --
> 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


Re: External Functions in C on z/OS

2023-11-15 Thread David Crayford
My advice is to write a command processor. As I said creating an LE environment 
for each function call will result in terrible performance. I’ve done this many 
times https://github.com/daveyc/RTK. The trick is to use CEEPIPI to create a 
pre-initialised LE environment and hang the pointer in USERFIELD of the REXX 
environment block. An alternative is to use Python instead. It’s dead easy to 
write packages in C/C++ without jumping through hoops. Writing REXX extensions 
in LE languages is painful which is one of the reasons why I don’t use REXX. 

> On 16 Nov 2023, at 9:24 am, Eric Erickson  wrote:
> 
> First of all thanks to Colin for sending me the headers. Before I went down 
> the path of generating them myself, I want to see what other had experienced 
> trying to do this. 
> 
> I can't use Metal C, as the routines I want to call out of the functions are 
> not supported under Metal C. 
> 
> FWIW, I was looking at creating a Rexx Function to retrieve a record from a 
> EZNOSQL Database and return it in the Rexx Variable for use. IBM has C/Java 
> APIs for EZNOSQL, but not Rexx at this time. There is an idea logged to 
> create it, but its marked as future consideration, so no telling when (or if) 
> it will appear.
> 
> --
> 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


Re: OSA-ICC Connection Question

2023-11-15 Thread Jay Maynard
A VTAM APPL is used for a program. The OSA-ICC looks to VTAM like a plain
old 3270 terminal. The LU definition that mentions the device number is the
only LU definition you need, or can have.

On Wed, Nov 15, 2023 at 6:47 PM Michael Babcock 
wrote:

> We have an OSA-ICC connection set up as a 3270 session type.   The LU Name
> in that definition is TERM140.  The CUA is B400.We have a 3270 session
> defined with the proper IP and the same LU Name of TERM140.This all
> works as expected.  My question is that I thought a VTAM APPL with an
> LUNAME of TERM140 was required but I do not see a TERM140 defined in VTAM
> at all.   I’m not a network guy.   Since this is working, I assume it’s not
> required.   Can someone enlighten me?
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Jay Maynard

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


Re: External Functions in C on z/OS

2023-11-15 Thread Eric Erickson
First of all thanks to Colin for sending me the headers. Before I went down the 
path of generating them myself, I want to see what other had experienced trying 
to do this. 

I can't use Metal C, as the routines I want to call out of the functions are 
not supported under Metal C. 

FWIW, I was looking at creating a Rexx Function to retrieve a record from a 
EZNOSQL Database and return it in the Rexx Variable for use. IBM has C/Java 
APIs for EZNOSQL, but not Rexx at this time. There is an idea logged to create 
it, but its marked as future consideration, so no telling when (or if) it will 
appear.

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


Re: External Functions in C on z/OS

2023-11-15 Thread David Crayford
There isn’t an R0 issue. IRXINIT(‘FINDENVB’) will fetch the environment block. 
All of the REXX mapping macros have been converted to C structures and can be 
found in /usr/include/zos (there is a PDS/E but I can’t remember what it's 
called). FWIW, writing external functions in C/C++ is a bad idea unless it’s 
main routine. The overhead of standing up and ripping down an LE environment is 
huge. Metal/C is an option. It’s one of the reasons why I don’t like REXX, it’s 
difficult to extend with languages other than assembler which makes it useless 
for what I want for a glue language. 

> On 16 Nov 2023, at 2:06 am, Charles Mills  wrote:
> 
> @Peter, I went around on the R0 question here a couple of years ago.
> 
> - No, I don't think there is a reliable way to get the entry R13 from within 
> the C/C++ code. Obviously, if you could, then any other register is trivial.
> 
> - Yes, people suggested inline assembler. I rejected that approach -- it may 
> be completely viable but I rejected it -- because
> 
> a. I am just not a fan of inline assembler. Call it personal preference. I 
> think the syntax seems kludgey. I prefer an external module written in "real" 
> assembler. I fully accept that this is just my personal opinion and others 
> who think otherwise are just as valid.
> b. IIRC the logic was a little bit unsupported. XLC is stable now, so it 
> would probably be safe, but for me that was another nail in the coffin of the 
> in-line assembler approach.
> 
> The code is exactly 11 executable instructions, four of them because I set up 
> an eyecatcher that is not really necessary.
> 
> I do it without a save area. I branch to the C code with the assumption that 
> the C code will ultimately return to *my caller* and not to me.
> 
> FWIW, I pass R0 in the EVALBLOCK data area, a totally "safe" spot that does 
> not require a GETMAIN.
> 
> Charles
> 
> On Wed, 15 Nov 2023 17:54:44 +, Farley, Peter 
>  wrote:
> 
>> Isn’t there is some C library function (maybe unique to XLC/C++) that lets 
>> you get the value of R13 (current DSA pointer)?  With that pointer value in 
>> hand, couldn’t one chain up the DSA stack to get to the saved registers at 
>> entry, or is that not possible?
>> 
>> At worst, an inline ASM routine to copy the value of the current R13 to a C 
>> pointer variable, then chain up the DSA stack?
>> 
>> Peter
>> 
>> From: IBM Mainframe Discussion List  On Behalf Of 
>> Charles Mills
>> Sent: Wednesday, November 15, 2023 12:39 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: External Functions in C on z/OS
>> 
>> 
>> I see, in my C++ projects, EFPL, ENVB, EVALB and SHVB structs that appear to 
>> me to have been produced from IBM macros by the EDCDSECT tool.
>> 
>> 
>> 
>> Have you looked for the IRX macros in SYS1.MACLIB?
>> 
>> 
>> 
>> Are you familiar with EDCDSECT?
>> 
>> 
>> 
>> Slightly changing the subject, to interface with ehe Rexx environment from a 
>> called function you will need the entry R0, I found no great way to get 
>> that. I had to write a tiny front end in assembler that passes R0 to a C/C++ 
>> main().
>> 
>> 
>> 
>> Charles
>> 
>> 
>> 
>> On Wed, 15 Nov 20 3 10:57:14 -0600, Eric Erickson  
>> wrote:
>> 
>> 
>> 
>>> I've written quite a few callable external funitions for Rexx over the 
>>> years. On z/OS I've always used assembler as we needed to access system 
>>> services for a variety of tasks. I've written them in C for other platforms 
>>> (OS/2 & Windows) over the years. I need to write some on z/OS, but I want 
>>> to use C, but can not seem to find any examples or header files for the 
>>> Rexx Control Blocks. I can't believe nobody has done this over the years? 
>>> Is it even supported?
>> 
>> 
>> 
>> --
>> 
>> This message and any attachments are intended only for the use of the 
>> addressee and may contain information that is privileged and confidential. 
>> If the reader of the message is not the intended recipient or an authorized 
>> representative of the intended recipient, you are hereby notified that any 
>> dissemination of this communication is strictly prohibited. If you have 
>> received this communication in error, please notify us immediately by e-mail 
>> and delete the message and any attachments from your system.
>> 
>> 
>> --
>> 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

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


OSA-ICC Connection Question

2023-11-15 Thread Michael Babcock
We have an OSA-ICC connection set up as a 3270 session type.   The LU Name
in that definition is TERM140.  The CUA is B400.We have a 3270 session
defined with the proper IP and the same LU Name of TERM140.This all
works as expected.  My question is that I thought a VTAM APPL with an
LUNAME of TERM140 was required but I do not see a TERM140 defined in VTAM
at all.   I’m not a network guy.   Since this is working, I assume it’s not
required.   Can someone enlighten me?

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


Re: What happens if you IPL a LPAR defined as being in a parallel sysplex but the CF LPAR is not there

2023-11-15 Thread Attila Fogarasi
Answered a decade ago including how to continue the IPL and get running
(either single system or sysplex without CF)
https://www.ibm.com/support/pages/system/files/inline-files/Where_is_My_Coupling_Facility.pdf
"The paper is being written to provide clear and concise instructions on
how to address the sysplex support team’s most common callout. Where is My
Coupling Facility?"

On Thu, Nov 16, 2023 at 10:42 AM Mark Jacobs <
0224d287a4b1-dmarc-requ...@listserv.ua.edu> wrote:

> GRS will attempt to connect to ISGLOCK, fail and z/OS will go into a
> X'0A3' wait state.
>
> Mark Jacobs
>
> Sent from ProtonMail, Swiss-based encrypted email.
>
> GPG Public Key -
> https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com
>
>
> On Wednesday, November 15th, 2023 at 5:49 PM, Laurence Chiu <
> lch...@gmail.com> wrote:
>
>
> > Thinking about a LPAR defined as being in a parallel sysplex with
> GRS=STAR.
> >
> > What happens if you IPL that LPAR and the CF is not active? Will it
> start,
> > issue a WTOR or just fail? We are wondering what would happen if our LPAR
> > was started at the DR site (off a replicated set of volumes) but the DR
> CEC
> > did not have a CF defined. Thanks
> >
> > --
> > 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
>

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


Re: What happens if you IPL a LPAR defined as being in a parallel sysplex but the CF LPAR is not there

2023-11-15 Thread Mark Jacobs
GRS will attempt to connect to ISGLOCK, fail and z/OS will go into a X'0A3' 
wait state.

Mark Jacobs 

Sent from ProtonMail, Swiss-based encrypted email.

GPG Public Key - 
https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com


On Wednesday, November 15th, 2023 at 5:49 PM, Laurence Chiu  
wrote:


> Thinking about a LPAR defined as being in a parallel sysplex with GRS=STAR.
> 
> What happens if you IPL that LPAR and the CF is not active? Will it start,
> issue a WTOR or just fail? We are wondering what would happen if our LPAR
> was started at the DR site (off a replicated set of volumes) but the DR CEC
> did not have a CF defined. Thanks
> 
> --
> 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


What happens if you IPL a LPAR defined as being in a parallel sysplex but the CF LPAR is not there

2023-11-15 Thread Laurence Chiu
Thinking about a LPAR defined as being in a parallel sysplex with GRS=STAR.

What happens if you IPL that LPAR and the CF is not active? Will it start,
issue a WTOR or just fail?  We are wondering what would happen if our LPAR
was started at the DR site (off a replicated set of volumes) but the DR CEC
did not have a CF defined.  Thanks

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


Re: PL/I question

2023-11-15 Thread Robin Vowels
The attribute BUILTIN can be used only for a name that is a built-in 
function.
It overrides any prior declaration if the name as a variable or label 
etc

in an outer block.

On 2023-11-16 05:33, Steve Beaver wrote:
BUILTIN is a way to tell the compiler that what ever something like 
SUBSTR doesn’t need to be resolved outside of the object


Sent from my iPhone

No one said I could type with one thumb

On Nov 15, 2023, at 11:33, Binyamin Dissen 
 wrote:


A PL/I source code member has

  DCL foobar BUILTIN

and must be compiled with RULES(LAXDCL)

I see no reference to FOOBAR as a function call.

My question is if FOOBAR was invoked, what does the BUILTIN clause do? 
A

different calling sequence? Looking for an internal label?

--
Binyamin Dissen 


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


Re: PL/I question

2023-11-15 Thread Robin Vowels

BUILTIN is used when, for example, an identifier that is the same
as the name of a BUILT-IN function has been used as a variable.

Suppose that you want to use that built-in function in an inner block.
Then you declare it as BUILTIN.

E.G. declare sqrt builtin;

This overrides the declaration in the outer block.


On 2023-11-16 04:34, Binyamin Dissen wrote:

A PL/I source code member has

   DCL foobar BUILTIN

and must be compiled with RULES(LAXDCL)

I see no reference to FOOBAR as a function call.

My question is if FOOBAR was invoked, what does the BUILTIN clause do? 
A

different calling sequence? Looking for an internal label?

--
Binyamin Dissen 


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


Re: External Functions in C on z/OS

2023-11-15 Thread Farley, Peter
OK, I sort of understand the “personal preference” about not using inline 
assembler (it is kludgey, I agree) and somewhat understand the concern about 
the “unsupported” aspect of retrieving register contents at entry, but if that 
is the case why not use MetalC where you have much more control of the entry 
and exit logic, and could easily provide your own version of the prolog that 
guaranteed access to the contents of R0?  Is there some C library routine that 
is not provided by MetalC that you would need in your Rexx external function?

Also you are correct that IBM does not supply C versions of the Rexx or TSO 
control blocks.  Like Colin, I cobbled together my own collection of them from 
the assembler macro library source using the EDCDSECT utility and some 
semi-automated post-processing.

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Wednesday, November 15, 2023 1:07 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: External Functions in C on z/OS


@Peter, I went around on the R0 question here a couple of years ago.



- No, I don't think there is a reliable way to get the entry R13 from within 
the C/C++ code. Obviously, if you could, then any other register is trivial.



- Yes, people suggested inline assembler. I rejected that approach -- it may be 
completely viable but I rejected it -- because



a. I am just not a fan of inline assembler. Call it personal preference. I 
think the syntax seems kludgey. I prefer an external module written in "real" 
assembler. I fully accept that this is just my personal opinion and others who 
think otherwise are just as valid.

b. IIRC the logic was a little bit unsupported. XLC is stable now, so it would 
probably be safe, but for me that was another nail in the coffin of the in-line 
assembler approach.



The code is exactly 11 executable instructions, four of them because I set up 
an eyecatcher that is not really necessary.



I do it without a save area. I branch to the C code with the assumption that 
the C code will ultimately return to *my caller* and not to me.



FWIW, I pass R0 in the EVALBLOCK data area, a totally "safe" spot that does not 
require a GETMAIN.



Charles



On Wed, 15 Nov 2023 17:54:44 +, Farley, Peter  
wrote:



>Isn’t there is some C library function (maybe unique to XLC/C++) that lets you 
>get the value of R13 (current DSA pointer)?  With that pointer value in hand, 
>couldn’t one chain up the DSA stack to get to the saved registers at entry, or 
>is that not possible?

>

>At worst, an inline ASM routine to copy the value of the current R13 to a C 
>pointer variable, then chain up the DSA stack?

>

>Peter

>

>From: IBM Mainframe Discussion List  On Behalf Of 
>Charles Mills

>Sent: Wednesday, November 15, 2023 12:39 PM

>To: IBM-MAIN@LISTSERV.UA.EDU

>Subject: Re: External Functions in C on z/OS

>

>I see, in my C++ projects, EFPL, ENVB, EVALB and SHVB structs that appear to 
>me to have been produced from IBM macros by the EDCDSECT tool.

>

>Have you looked for the IRX macros in SYS1.MACLIB?

>

>Are you familiar with EDCDSECT?

>

>Slightly changing the subject, to interface with ehe Rexx environment from a 
>called function you will need the entry R0, I found no great way to get that. 
>I had to write a tiny front end in assembler that passes R0 to a C/C++ main().

>

>Charles

>

>On Wed, 15 Nov 20 3 10:57:14 -0600, Eric Erickson  
>wrote:

>

>>I've written quite a few callable external funitions for Rexx over the years. 
>>On z/OS I've always used assembler as we needed to access system services for 
>>a variety of tasks. I've written them in C for other platforms (OS/2 & 
>>Windows) over the years. I need to write some on z/OS, but I want to use C, 
>>but can not seem to find any examples or header files for the Rexx Control 
>>Blocks. I can't believe nobody has done this over the years? Is it even 
>>supported?

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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


Re: External Functions in C on z/OS

2023-11-15 Thread Paul Gilmartin
On Wed, 15 Nov 2023 12:06:48 -0600, Charles Mills wrote:

>@Peter, I went around on the R0 question here a couple of years ago.
> 
CMSThink:  Since no one uses R0, it's OK for everyone to use it.

And the developers who ported REXX to TSO were too unaware to spot
the problem and fix it.  Or perhaps a misguided fixation on "portability"!

In the REXX Ref. I see:
Register 0
Address of an environment block (optional)

"optional" should never be specified as a register content.  I read that as:
Address of an environment block (if not, it doesn't matter)

-- 
gil

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


Re: PL/I question

2023-11-15 Thread Steve Beaver
BUILTIN is a way to tell the compiler that what ever something like SUBSTR 
doesn’t need to be resolved outside of the object 

Sent from my iPhone

No one said I could type with one thumb 

> On Nov 15, 2023, at 11:33, Binyamin Dissen  wrote:
> 
> A PL/I source code member has 
> 
>   DCL foobar BUILTIN
> 
> and must be compiled with RULES(LAXDCL)
> 
> I see no reference to FOOBAR as a function call. 
> 
> My question is if FOOBAR was invoked, what does the BUILTIN clause do? A
> different calling sequence? Looking for an internal label?
> 
> --
> Binyamin Dissen 
> http://www.dissensoftware.com
> 
> Director, Dissen Software, Bar & Grill - Israel
> 
> --
> 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


Re: External Functions in C on z/OS

2023-11-15 Thread Charles Mills
@Peter, I went around on the R0 question here a couple of years ago.

- No, I don't think there is a reliable way to get the entry R13 from within 
the C/C++ code. Obviously, if you could, then any other register is trivial.

- Yes, people suggested inline assembler. I rejected that approach -- it may be 
completely viable but I rejected it -- because

a. I am just not a fan of inline assembler. Call it personal preference. I 
think the syntax seems kludgey. I prefer an external module written in "real" 
assembler. I fully accept that this is just my personal opinion and others who 
think otherwise are just as valid.
b. IIRC the logic was a little bit unsupported. XLC is stable now, so it would 
probably be safe, but for me that was another nail in the coffin of the in-line 
assembler approach.

The code is exactly 11 executable instructions, four of them because I set up 
an eyecatcher that is not really necessary.

I do it without a save area. I branch to the C code with the assumption that 
the C code will ultimately return to *my caller* and not to me.

FWIW, I pass R0 in the EVALBLOCK data area, a totally "safe" spot that does not 
require a GETMAIN.

Charles

On Wed, 15 Nov 2023 17:54:44 +, Farley, Peter  
wrote:

>Isn’t there is some C library function (maybe unique to XLC/C++) that lets you 
>get the value of R13 (current DSA pointer)?  With that pointer value in hand, 
>couldn’t one chain up the DSA stack to get to the saved registers at entry, or 
>is that not possible?
>
>At worst, an inline ASM routine to copy the value of the current R13 to a C 
>pointer variable, then chain up the DSA stack?
>
>Peter
>
>From: IBM Mainframe Discussion List  On Behalf Of 
>Charles Mills
>Sent: Wednesday, November 15, 2023 12:39 PM
>To: IBM-MAIN@LISTSERV.UA.EDU
>Subject: Re: External Functions in C on z/OS
>
>
>I see, in my C++ projects, EFPL, ENVB, EVALB and SHVB structs that appear to 
>me to have been produced from IBM macros by the EDCDSECT tool.
>
>
>
>Have you looked for the IRX macros in SYS1.MACLIB?
>
>
>
>Are you familiar with EDCDSECT?
>
>
>
>Slightly changing the subject, to interface with ehe Rexx environment from a 
>called function you will need the entry R0, I found no great way to get that. 
>I had to write a tiny front end in assembler that passes R0 to a C/C++ main().
>
>
>
>Charles
>
>
>
>On Wed, 15 Nov 20 3 10:57:14 -0600, Eric Erickson  
>wrote:
>
>
>
>>I've written quite a few callable external funitions for Rexx over the years. 
>>On z/OS I've always used assembler as we needed to access system services for 
>>a variety of tasks. I've written them in C for other platforms (OS/2 & 
>>Windows) over the years. I need to write some on z/OS, but I want to use C, 
>>but can not seem to find any examples or header files for the Rexx Control 
>>Blocks. I can't believe nobody has done this over the years? Is it even 
>>supported?
>
>
>
>--
>
>This message and any attachments are intended only for the use of the 
>addressee and may contain information that is privileged and confidential. If 
>the reader of the message is not the intended recipient or an authorized 
>representative of the intended recipient, you are hereby notified that any 
>dissemination of this communication is strictly prohibited. If you have 
>received this communication in error, please notify us immediately by e-mail 
>and delete the message and any attachments from your system.
>
>
>--
>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


Re: External Functions in C on z/OS

2023-11-15 Thread Farley, Peter
Isn’t there is some C library function (maybe unique to XLC/C++) that lets you 
get the value of R13 (current DSA pointer)?  With that pointer value in hand, 
couldn’t one chain up the DSA stack to get to the saved registers at entry, or 
is that not possible?

At worst, an inline ASM routine to copy the value of the current R13 to a C 
pointer variable, then chain up the DSA stack?

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Wednesday, November 15, 2023 12:39 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: External Functions in C on z/OS


I see, in my C++ projects, EFPL, ENVB, EVALB and SHVB structs that appear to me 
to have been produced from IBM macros by the EDCDSECT tool.



Have you looked for the IRX macros in SYS1.MACLIB?



Are you familiar with EDCDSECT?



Slightly changing the subject, to interface with the Rexx environment from a 
called function you will need the entry R0, I found no great way to get that. I 
had to write a tiny front end in assembler that passes R0 to a C/C++ main().



Charles



On Wed, 15 Nov 2023 10:57:14 -0600, Eric Erickson  wrote:



>I've written quite a few callable external functions for Rexx over the years. 
>On z/OS I've always used assembler as we needed to access system services for 
>a variety of tasks. I've written them in C for other platforms (OS/2 & 
>Windows) over the years. I need to write some on z/OS, but I want to use C, 
>but can not seem to find any examples or header files for the Rexx Control 
>Blocks. I can't believe nobody has done this over the years? Is it even 
>supported?



--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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


Re: External Functions in C on z/OS

2023-11-15 Thread Charles Mills
I see, in my C++ projects, EFPL, ENVB, EVALB and SHVB structs that appear to me 
to have been produced from IBM macros by the EDCDSECT tool.

Have you looked for the IRX macros in SYS1.MACLIB?

Are you familiar with EDCDSECT?

Slightly changing the subject, to interface with the Rexx environment from a 
called function you will need the entry R0, I found no great way to get that. I 
had to write a tiny front end in assembler that passes R0 to a C/C++ main().

Charles

On Wed, 15 Nov 2023 10:57:14 -0600, Eric Erickson  wrote:

>I've written quite a few callable external functions for Rexx over the years. 
>On z/OS I've always used assembler as we needed to access system services for 
>a variety of tasks. I've written them in C for other platforms (OS/2 & 
>Windows) over the years. I need to write some on z/OS, but I want to use C, 
>but can not seem to find any examples or header files for the Rexx Control 
>Blocks. I can't believe nobody has done this over the years? Is it even 
>supported? 

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


PL/I question

2023-11-15 Thread Binyamin Dissen
A PL/I source code member has 

   DCL foobar BUILTIN

and must be compiled with RULES(LAXDCL)

I see no reference to FOOBAR as a function call. 

My question is if FOOBAR was invoked, what does the BUILTIN clause do? A
different calling sequence? Looking for an internal label?

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

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


Re: External Functions in C on z/OS

2023-11-15 Thread Colin Paice
I'll send you an xmit file offline.   Ftp to z/OS as bin  then use tso
receive
Colin

On Wed, 15 Nov 2023 at 16:57, Eric Erickson  wrote:

> I've written quite a few callable external functions for Rexx over the
> years. On z/OS I've always used assembler as we needed to access system
> services for a variety of tasks. I've written them in C for other platforms
> (OS/2 & Windows) over the years. I need to write some on z/OS, but I want
> to use C, but can not seem to find any examples or header files for the
> Rexx Control Blocks. I can't believe nobody has done this over the years?
> Is it even supported?
>
> --
> 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


External Functions in C on z/OS

2023-11-15 Thread Eric Erickson
I've written quite a few callable external functions for Rexx over the years. 
On z/OS I've always used assembler as we needed to access system services for a 
variety of tasks. I've written them in C for other platforms (OS/2 & Windows) 
over the years. I need to write some on z/OS, but I want to use C, but can not 
seem to find any examples or header files for the Rexx Control Blocks. I can't 
believe nobody has done this over the years? Is it even supported? 

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


Re: The JES2 NJE node that cannot die.

2023-11-15 Thread Lennie Dymoke-Bradshaw
I think you need to set up your RACF NODES profiles and set the node in 
question to UNTRUSTED.

Lennie Dymoke-Bradshaw
https://rsclweb.com 
‘Dance like no one is watching. Encrypt like everyone is.’

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Tom 
Longfellow
Sent: 15 November 2023 15:46
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: The JES2 NJE node that cannot die.

I have been in this business for decades and have run in to this situation on a 
few occaisions.   Never really came up with the right recipe to make this 
happen.

Our JES2 systems are NJE interconnected over SNA links interconnected with 
several other mainframes at other agencies.   For resiliency and reliability 
they all act as store and forward nodes in the NJE network.   
We wish to no longer communicate with one of these nodes.   Every method I use 
simply causes the NJE link to switch over to another mainframe in the 
interconnected network.
$P $E $I commands at best cause failoever to another NJE node as the middle 
man.   Killing the SNA CDRSC just causes failover as well.
We have found nothing I can do to the NODE, LINE, or APPL that allow me to make 
this node dead to us.

I am trying to do this gracefully by turning it off before modifying JES parms 
to remove it from my startup.  Trying to preseve the possiblility of fallback 
in case some stealth user pops out from behind the woodshed.

Any suggestions?

--
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


Re: The JES2 NJE node that cannot die.

2023-11-15 Thread Jack Zukt
Hi,

You could try using RACF to prevent the node being used.


>From the RACF Administrator's Guide:
You can use profiles in the NODES class to control how RACF® validates
inbound work on an NJE network. As with other RACF profiles, a NODES
profile consists of a profile name, a profile class, a universal access
authority, and an ADDMEM value. The profile name is a three-part identifier
that indicates the origin of the work and the type of security information
you want to validate. The universal access authority determines the actions
that RACF performs on the inbound work.

Best wishes
Jack


On Wed, 15 Nov 2023 at 15:46, Tom Longfellow <
03e29b607131-dmarc-requ...@listserv.ua.edu> wrote:

> I have been in this business for decades and have run in to this situation
> on a few occaisions.   Never really came up with the right recipe to make
> this happen.
>
> Our JES2 systems are NJE interconnected over SNA links interconnected with
> several other mainframes at other agencies.   For resiliency and
> reliability they all act as store and forward nodes in the NJE network.
> We wish to no longer communicate with one of these nodes.   Every method I
> use simply causes the NJE link to switch over to another mainframe in the
> interconnected network.
> $P $E $I commands at best cause failoever to another NJE node as the
> middle man.   Killing the SNA CDRSC just causes failover as well.
> We have found nothing I can do to the NODE, LINE, or APPL that allow me to
> make this node dead to us.
>
> I am trying to do this gracefully by turning it off before modifying JES
> parms to remove it from my startup.  Trying to preseve the possiblility of
> fallback in case some stealth user pops out from behind the woodshed.
>
> Any suggestions?
>
> --
> 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


Re: The JES2 NJE node that cannot die.

2023-11-15 Thread Art Zeigler
Have you looked at this webpage on deleting  JES network connections - 
https://www.ibm.com/docs/en/zos/3.1.0?topic=section-del-connect-delete-network-connections


Art Zeigler




From: IBM Mainframe Discussion List  on behalf of Tom 
Longfellow <03e29b607131-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, November 15, 2023 10:45 AM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: The JES2 NJE node that cannot die.

I have been in this business for decades and have run in to this situation on a 
few occaisions.   Never really came up with the right recipe to make this 
happen.

Our JES2 systems are NJE interconnected over SNA links interconnected with 
several other mainframes at other agencies.   For resiliency and reliability 
they all act as store and forward nodes in the NJE network.
We wish to no longer communicate with one of these nodes.   Every method I use 
simply causes the NJE link to switch over to another mainframe in the 
interconnected network.
$P $E $I commands at best cause failoever to another NJE node as the middle 
man.   Killing the SNA CDRSC just causes failover as well.
We have found nothing I can do to the NODE, LINE, or APPL that allow me to make 
this node dead to us.

I am trying to do this gracefully by turning it off before modifying JES parms 
to remove it from my startup.  Trying to preseve the possiblility of fallback 
in case some stealth user pops out from behind the woodshed.

Any suggestions?

--
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


The JES2 NJE node that cannot die.

2023-11-15 Thread Tom Longfellow
I have been in this business for decades and have run in to this situation on a 
few occaisions.   Never really came up with the right recipe to make this 
happen.

Our JES2 systems are NJE interconnected over SNA links interconnected with 
several other mainframes at other agencies.   For resiliency and reliability 
they all act as store and forward nodes in the NJE network.   
We wish to no longer communicate with one of these nodes.   Every method I use 
simply causes the NJE link to switch over to another mainframe in the 
interconnected network.
$P $E $I commands at best cause failoever to another NJE node as the middle 
man.   Killing the SNA CDRSC just causes failover as well.
We have found nothing I can do to the NODE, LINE, or APPL that allow me to make 
this node dead to us.

I am trying to do this gracefully by turning it off before modifying JES parms 
to remove it from my startup.  Trying to preseve the possiblility of fallback 
in case some stealth user pops out from behind the woodshed.

Any suggestions?

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


Re: Lessons Learned - Mass Extended Format DS Conversion - ZOS 2.5

2023-11-15 Thread Lennie Dymoke-Bradshaw
Steve,

I took a major role in such a product a couple of years back. Sadly it was 
cancelled a few week before the first application was due to be encrypted.

We had a five string approach to the project. They were led by separate people 
but we worked together a great deal of course.
1. Set up ICSF to be fit for purpose.
2. Set up TKE.
3. Set up EKMF/web for key management.
4. Devise a strategy for mass allocation and copying of data.
5. Standards, procedures and documentation.

We hit a few things you may be interested in. Happy to discuss outside this 
forum if you wish.

Lennie Dymoke-Bradshaw
https://rsclweb.com 
‘Dance like no one is watching. Encrypt like everyone is.’

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Steve Estle
Sent: 15 November 2023 12:13
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Lessons Learned - Mass Extended Format DS Conversion - ZOS 2.5

All,

We are in the midst of rolling out pervasive encryption in our ZOS 2.5 customer 
environment.  To get there of course we need to move to extended format 
datasets (sequential, VSAM, etc) which we have minimal exposure / experience 
with today (We have multiple  100K's of datasets in our catalogs across 4 
LPAR's.  We also will be leveraging hardware compression (ZEDC) as we migrate 
things as well towards path to pervasive encryption (PV) of course following 
best practice to compress before encrypting.

Have reviewed redbooks on PV, extended format, and hardware compression 
(experiences with hardware compression so far have been outstanding - 
especially in our DFDSS backup processing).

What I'm looking for are any gotchas / lessons learned / real life experiences 
in embarking on this mass migration from basic format datasets over to extended 
compressed format DSN's and encryption that aren't documented in standard doc 
or redbooks.  Or maybe you ran across or developed some tools to aid in such 
large scale migrations?

If you have anything you'd like to share feel free to share it here or if 
prefer to talk offline contact me  at sest...@gmail.com.

Thanks in advance for sharing.

Steve Estle
sest...@gmail.com

--
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


Re: Suspend/Resume for Paging

2023-11-15 Thread Jim Mulder
  No, that was removed in in 2006 by APAR OA14248 (HyperPAV support).

Jim Mulder 

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Mark Jacobs
Sent: Wednesday, November 15, 2023 8:28 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Suspend/Resume for Paging

Does z/OS still use this for I/O to its paging devices?

Mark Jacobs

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


Suspend/Resume for Paging

2023-11-15 Thread Mark Jacobs
Does z/OS still use this for I/O to its paging devices?

Mark Jacobs

Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email.

GPG Public Key - 
https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com

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


Lessons Learned - Mass Extended Format DS Conversion - ZOS 2.5

2023-11-15 Thread Steve Estle
All,

We are in the midst of rolling out pervasive encryption in our ZOS 2.5 customer 
environment.  To get there of course we need to move to extended format 
datasets (sequential, VSAM, etc) which we have minimal exposure / experience 
with today (We have multiple  100K's of datasets in our catalogs across 4 
LPAR's.  We also will be leveraging hardware compression (ZEDC) as we migrate 
things as well towards path to pervasive encryption (PV) of course following 
best practice to compress before encrypting.

Have reviewed redbooks on PV, extended format, and hardware compression 
(experiences with hardware compression so far have been outstanding - 
especially in our DFDSS backup processing).

What I'm looking for are any gotchas / lessons learned / real life experiences 
in embarking on this mass migration from basic format datasets over to extended 
compressed format DSN's and encryption that aren't documented in standard doc 
or redbooks.  Or maybe you ran across or developed some tools to aid in such 
large scale migrations?

If you have anything you'd like to share feel free to share it here or if 
prefer to talk offline contact me  at sest...@gmail.com.

Thanks in advance for sharing.

Steve Estle
sest...@gmail.com

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