X-Spam-Check-By: sourceware.org Message-ID: Date: Tue, 13 Jun 2006 05:07:23 +0530 From: "Zahir Koradia" To: cygwin AT cygwin DOT com Subject: Problem with sunrpc MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hi, This message might be specifically for Sam Robb but am sending to the whole list as others may be able to help. I installed the binaries and downloaded the source of sunrpc while installing cygwin. I intended to use the function clnttcp_create present in clnt.h header. The anamoly I see is that in the header file the signature has no parameters and in the source code the function definition has parameters. The signature in the header file is /* * TCP based rpc * CLIENT * * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz) * struct sockaddr_in *raddr; * u_long prog; * u_long version; * register int *sockp; * u_int sendsz; * u_int recvsz; */ extern CLIENT *clnttcp_create( ); and the source code (clnt_tcp.c) definition had the line CLIENT * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz) struct sockaddr_in *raddr; u_long prog; u_long vers; register int *sockp; u_int sendsz; u_int recvsz; { This code does not compile. When I use the function with parameters in my code it gives me error "undefined reference to..." then i went and changed the signature in the header file itself. I did get past that error but now I have a loader error stating that there is no implementation for the function (with parameters). I wanted to know whether the binaries have the function with parameters or without them. To me having the function without the parameters seems unlikely. Where can I get the right header file? Am I going wrong somewhere myself? In clnt.h header file the macro definition #define clnt_destroy(rh) ((*(rh)->cl_ops->cl_destroy)(rh)) is fault since if u look at the client structure u will notice that cl_destroy does not take any arguments. The definition should have been #define clnt_destroy(rh) ((*(rh)->cl_ops->cl_destroy)()) Is the version that i have got very old? (It is 4.0.2 or 4.0.3 i dont rememebr exactly which one) Can someone please clear things out here? Thanx, Zahir Koradia -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/