Thanks I am not quite sure what I am missing
This is the last thing I ran last night
Here is the output
z/OS V2 R3 BINDER 07:28:21 TUESDAY JULY 9, 2019
BATCH EMULATOR JOB(IBMUSER$) STEP(LINK ) PGM= HEWL
IEW2278I B352 INVOCATION PARAMETERS - MAP,LET,LIST
IEW2322I 1220 1 IMPORT CODE64,'SYSADATA','openadata__FPc'
IEW2322I 1220 2 INCLUDE SYSLIB(SYSADATA)
IEW2322I 1220 3 ENTRY TESTPRGD
IEW2322I 1220 4 NAME TESTPRGD(R)
IEW2469E 9907 THE ATTRIBUTES OF A REFERENCE TO CEETEST FROM SECTION SYSADATA DO
SYMBOL. REASON 2
IEW2469E 9907 THE ATTRIBUTES OF A REFERENCE TO CEETEST FROM SECTION SYSADATA DO
SYMBOL. REASON 2
IEW2456E 9207 SYMBOL CEETGTFN UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE
IEW2456E 9207 SYMBOL CEEINT UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE D
IEW2456E 9207 SYMBOL openadata UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM TH
IEW2456E 9207 SYMBOL CEESTART UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE
IEW2456E 9207 SYMBOL CEEBETBL UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE
IEW2456E 9207 SYMBOL CEETREC UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE
IEW2456E 9207 SYMBOL fopen UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE DE
*ISFPCU4
IEW2491E 9373 CLASSES C_WSA and C_WSA64 ARE BOTH PRESENT IN THE MODULE.
IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES AND CANNOT B
Dll source code
#include <stdio.h>
#include <stdlib.h>
#include <ctest.h>
#pragma export(openadata)
#pragma csect(CODE,"SYSADATA")
extern void __ceetest(void);
#pragma map(__ceetest,"CEETEST")
#pragma linkage(CEETEST,FETCHABLE)
#pragma map(opnadata,"openadata")
void openadata(char *filename)
{
__ceetest();
FILE *fp = fopen("DD:SYSADATA","r");
}
Link portion of assembler calling program
//LINK EXEC PGM=HEWL,PARM='MAP,LET,LIST'
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE)
// DD DSN=IBMUSER.DBGR.SIDEDECK(SYSADATA),DISP=SHR <--- side deck
// DD DDNAME=SYSIN
//SYSLIB DD DSN=ISP.SISPLOAD,DISP=SHR
//* DD DSN=IBMUSER.HERCULES.LOADLIB,DISP=SHR
// DD DSN=SYS1.CSSLIB,DISP=SHR
// DD DSN=IBMUSER.TEST.AUTHLIB,DISP=SHR
// DD DSN=IBMUSER.DBGR.DLLLIB,DISP=SHR <-------
//SYSLMOD DD DSN=IBMUSER.TEST.AUTHLIB,DISP=SHR
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(1024,(120,120),,,ROUND),UNIT=VIO,
// DCB=BUFNO=1
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
INCLUDE SYSLIB(SYSADATA) <---- the dll load module name
ENTRY TESTPRGD
NAME TESTPRGD(R)
/*
Side deck
BROWSE IBMUSER.DBGR.SIDEDECK(SYSADATA) Line 0000000000 Col 001 080
Command ===> Scroll ===> CSR
******************************** Top of Data **********************************
IMPORT CODE64,'SYSADATA','openadata__FPc'
******************************* Bottom of Data ********************************
Dll as a library PDSE
BROWSE IBMUSER.DBGR.DLLLIB Row 0000001 of 0000001
Command ===> Scroll ===> PAGE
Name Prompt Alias-of Size TTR AC AM RM
. SYSADATA 00001008 00000E 00 64 ANY
**End**
Command ===>
Data Set Name . . . : IBMUSER.DBGR.DLLLIB
General Data Current Allocation
Management class . . : **None** Allocated cylinders : 5
Storage class . . . : **None** Allocated extents . : 1
Volume serial . . . : WORKA1 Maximum dir. blocks : NOLIMIT
Device type . . . . : 3390
Data class . . . . . : **None**
Organization . . . : PO Current Utilization
Record format . . . : U Used pages . . . . : 49
Record length . . . : 0 % Utilized . . . . : 5
Block size . . . . : 6144 Number of members . : 1
1st extent cylinders: 5
Secondary cylinders : 10
Data set name type : LIBRARY Dates
Data set version . : 1 Creation date . . . : 2019/07/05
Referenced date . . : 2019/07/09
Expiration date . . : ***None***
-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of
Tabari Alexander
Sent: Tuesday, July 9, 2019 10:44 AM
To: [email protected]
Subject: Re: Unresolved external references when trying to link DLL app
Hello,
With respect to the unresolved references, have you included the LE libraries
in your SYSLIB concatenation? More info can be found here:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.ceea200/cllexx.htm
>However the most troubling is the C function I exported I included the
>side deck which has my exported function Strangely thought even tough I
>included a pragma map to leave the name as it appended _FPC
In the snippet you posted, I see where you use a #pragma map to map __ceetest's
name. I do not see an equivalent statement for "openadata".
>From my understanding the sidedeck would be concatenated to IEWL SYSLIN
You are correct. The sidedeck that is created would be concatenated on the IEWL
SYSLIN for programs that wish use the DLL.
----------------------------------------------------------------------
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