WRT your first question, I would say "somewhat compatible".  There are enough 
similarities to make rough translations possible, EXCEPT that many macros only 
have this kind of PL/S expansion published:

(From DCBD macro in SYS1.MACLIB):

**/%DCBD: MACRO KEYS(DATASET_ORG,DEVICE_TYPE,BASED_VALUE);  
*  ANS('?' || MACLABEL || ' DCBDP ' || MACKEYS || ';') SKIP;
*  %END DCBD;                                               

And of course the source of the PL/S macro DCBDP is not supplied anywhere, 
possibly to prevent MACLIB bloat from the size of the actual PL/S macro text.

Even macros that have explicit PL/S mappings in the published macro text have 
macro-conditional logic that often depends on global PL/S macro variables being 
set to some value or other, with no plain indication of where or how those 
macro variables need to be set / generated, though sometimes their meaning and 
values can be inferred from the assembler source.

OTOH a library of PL/S ADATA mappings that matched the PL/S macro expansions 
might be more easily translated to multiple language header definitions (COBOL 
anyone? Maybe Java or Python?) by a replacement utility for EDCDSECT, which has 
not proven to be nearly as useful as intended.  A potential business 
opportunity for an interested and well-funded ISV who could afford the no doubt 
substantial NDA cost of acquiring PL/S ADATA documentation.

Not gonna happen in our lifetimes of course, but it is an interesting thought.

Peter

-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Paul Gilmartin
Sent: Tuesday, September 17, 2019 1:06 PM
To: [email protected]
Subject: Re: C headers in z/OS 2.4

On Tue, 17 Sep 2019 16:16:31 +0000, Seymour J Metz wrote:

>I'd rather have PL/I headers.
>
Many macros contain PL/S alternatives.  Are these PL/I compatible?

________________________________________
From: Peter Relson
Sent: Tuesday, September 17, 2019 9:20 AM

>The eventual goal is to do the mappings in SYS1.MACLIB and many in 
>SYS1.MODGEN, particularly the ones that have programming interfaces.
>z/OS 2.4 starts small, concentrating on the SMF records that the z/OS 
>core elements produce.
>
Good.  This relieves the need for customers and ISVs to generate these by 
filtering SYSPRINT or ASMADATA.  To what extent can these be generated by 
filtering the PL/S alternative sections?

>The headers are provided both in a data set (e.g., SYS1.SIEAHDR.H) and 
>within the file system (in a new subdirectory, /usr/include/zos).
>The name of the header is the same as the name of the maclib/modgen 
>macro (plus the ".h" suffix when in the file system).
>
Couldn't this duplication and its attendant maintenance and testing burden and 
risk be reduced by suitable use of the -I option or by making /usr/include/zos 
part of the conventional search order, perhaps in startup.mk?

"I see everything twice" -- Catch-22

-- 

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 [email protected] with the message: INFO IBM-MAIN

Reply via email to