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



Scott,

I'll double check that. I was having issues with the binding (thought the zero was the letter O in Qp0lRenameUnlink) and added that to see if it was the issue and probably forgot to take it out.


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: Wednesday, June 23, 2010 2:54 PM
To: RPG programming on the IBM i / System i
Subject: Re: C rename returns -1 but error text says no error exists

Hi Rick,

Reference service program QP0LLIB1 either directly on the compile or
by using a binding directory. This is where the Qp0lRenameUnlink is
exported from.

That's unnecessary. The system will automatically find QP0LLIB1 and bind to it. (Explicitly specifying QP0LLIB1 or a binding directory won't hurt anything -- but it's not necessary.)

The ILE binder will automatically find any system-supplied API. That
is, any API that's part of the IBM i operating system. APIs that are
part of ILE C, Apache, et al, would need to be bound to explicitly.

The IFS APIs are all part the Unix-type APIs category. They are not part of the ILE C Runtime. Therefore, the IFS APIs do not require any special binding.

Frustratingly, the IFS APIs do their error handling via the ILE C __errno function. This was presumably for compatibility with the way Unix does things -- but it's frustrating because it blurs the line
between Unix-type and ILE C Runtime. FWIW, __errno() and strerror()
are part of ILE C, and the APIs that actually manipulate the IFS are not.

In IBM i 6.1, IBM fixed this problem. You no longer need to bind to QC2LE to get __errno and strerror() in 6.1..

Anyway, the routines in the ILE C runtime _are_ APIs. They just are part of ILE C instead of being part of IBM i itself. An API is just a routine that provides a way to interface your program with another application...
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.



Privileged and Confidential. This e-mail, and any attachments there to, is intended only for use by the addressee(s) named herein and may contain privileged or confidential information. If you have received this e-mail in error, please notify me immediately by a return e-mail and delete this e-mail. You are hereby notified that any dissemination, distribution or copying of this e-mail and/or any attachments thereto, is strictly prohibited.

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.