× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Mark,

I think you're in luck.  Create two source members, one C and one CL and run
this test.  It should apply to your scenario.


/* this is C module CMAINTST */
int main(void)
{             
  return 3;   
}             

/* this is CL module CLMAINTST */
pgm                                                          
                 dcl &retval *char 4 x'00000000'

                 dcl &charval *char 10

             CALLPRC    PRC('main') RTNVAL(%bin(&RETVAL 1 4))
             chgvar &charval %bin(&retval 1 4)               
             SNDPGMMSG  MSG('charval = ' *CAT &CHARVAL)      
endpgm                                                       

CRTCMOD MODULE(QGPL/CMAINTST) SRCFILE(QGPL/C)
CRTCLMOD MODULE(QGPL/CLMAINTST) SRCFILE(QGPL/CLP)
CRTPGM PGM(QGPL/CLMAINTST) MODULE(QGPL/CLMAINTST QGPL/CMAINTST)

CALL QGPL/CLMAINTST

Returns:   charval = 0000000003


Elvis

 
-----Original Message-----
Subject: Retrieving error return code from C program

I am calling a C program from CL via the CALL command.  The C function 
returns an error number like 0 or 1 for success or failure.  Is there some 
way to retrieve this value from a CL program?  I can run the program via 
QSH and see the return code, but I would prefer to just use CALL for this. 
 I assume there is no way to use CALLPRC when you need to run the main() 
function in a C *PGM?

Thanks

Mark




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.