This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problem with sunrpc


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]