Description: expected 'ulong_t *' but argument is of type 'rpcprog_t *' sizeof(rpcprog_t) == sizeof(ulong_t) == sizeof(rpcvers_t) Index: illumos-rpcbind/usr/src/cmd/rpcbind/rpcb_svc_com.c =================================================================== --- illumos-rpcbind.orig/usr/src/cmd/rpcbind/rpcb_svc_com.c 2014-05-03 18:55:06.557381077 +0400 +++ illumos-rpcbind/usr/src/cmd/rpcbind/rpcb_svc_com.c 2014-05-03 19:33:13.955817403 +0400 @@ -89,7 +89,7 @@ static void netbuffree(struct netbuf *); static struct netbuf *netbufdup(struct netbuf *); static void find_versions(rpcprog_t, char *, rpcvers_t *, rpcvers_t *); -static rpcblist_ptr find_service(ulong_t, ulong_t, char *); +static rpcblist_ptr find_service(rpcprog_t, rpcvers_t, char *); #ifdef PORTMAP static int add_pmaplist(RPCB *); #endif @@ -488,11 +488,11 @@ bool_t xdr_rpcb_rmtcallargs(XDR *xdrs, rpcb_rmtcallargs *objp) { - if (!xdr_u_long(xdrs, &objp->prog)) + if (!xdr_u_long(xdrs, (ulong_t*)&objp->prog)) return (FALSE); - if (!xdr_u_long(xdrs, &objp->vers)) + if (!xdr_u_long(xdrs, (ulong_t*)&objp->vers)) return (FALSE); - if (!xdr_u_long(xdrs, &objp->proc)) + if (!xdr_u_long(xdrs, (ulong_t*)&objp->proc)) return (FALSE); if (!xdr_bytes(xdrs, (char **)&objp->args.args_val, (uint_t *)&objp->args.args_len, ~0)) @@ -504,7 +504,7 @@ bool_t xdr_rmtcallres(XDR *xdrs, rmtcallres *objp) { - if (!xdr_u_long(xdrs, &objp->port)) + if (!xdr_u_long(xdrs, (ulong_t*)&objp->port)) return (FALSE); if (!xdr_bytes(xdrs, (char **)&objp->res.res_val, (uint_t *)&objp->res.res_len, ~0)) @@ -893,7 +893,7 @@ } if (rbl->rpcb_map.r_vers != arg.vers) { if (reply_type == RPCBPROC_INDIRECT) { - ulong_t vers_low, vers_high; + rpcvers_t vers_low, vers_high; find_versions(arg.prog, transp->xp_netid, &vers_low, &vers_high); @@ -1022,7 +1022,7 @@ goto error; } - if (!xdr_u_long(&outxdr, &arg.proc)) { + if (!xdr_u_long(&outxdr, (ulong_t*)&arg.proc)) { forward_destroy(fi); (void) mutex_unlock(&finfo_lock); if (reply_type == RPCBPROC_INDIRECT)