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



Hello Steve,

You wrote:
>The return value I am getting from a call to open( ) is -1.  My non ibm
>documentation of the C standard says that -1 indicates an error and to look
>to the "errno" global variable for the error code.

That is generally how C and Unix functions behave (but in typical Unix 
fashion you can't presume that is how they will work).

>Am I going too far if I write a CPP routine to retrieve the value of errno?

Yes --- way too far, unless you need to access errno from CL.

>Is there an ile/rpg way to retrieve errno?

Yes.  See example code below.

>Also, is there a function that can be called that converts the errno to 
>text form?

Prototype the strerror() and perror() functions. You can also use DSPMSGD 
CPEnnnn where nnnn is the errno value.

Accessing errno from RPG
=========================

Include the following definitions in your code

 * Error number returned                                         
D errno           S                   LIKE(int_t) BASED(@errno)  
D @errno          S               *                              
                                                                 
D getErrno        PR              *   Extproc('__errno')         

Somewhere in your initialisation code do:

C                       EVAL      @errno = getErrno

Then whenever you need to test errno you can do:

C                       IF        errno = $EWOULDBLOCK
 *                         do something about it      
C                       ENDIF                         

presuming that you have defined constants for each of the various errno 
values.

Regards,
Simon Coulter.
--------------------------------------------------------------------
   FlyByNight Software         AS/400 Technical Specialists       
                                                                  
   http://www.flybynight.com.au/                                  
   Phone: +61 3 9419 0175   Mobile: +61 0411 091 400        /"\   
   Fax:   +61 3 9419 0175   mailto: shc@xxxxxxxxxxxxxxxxx   \ /   
                                                             X    
                 ASCII Ribbon campaign against HTML E-Mail  / \   
--------------------------------------------------------------------


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.