|
From: Aneesh K. <ane...@gm...> - 2006-05-11 16:09:09
|
On 5/11/06, Aneesh Kumar <ane...@gm...> wrote:
> On 5/11/06, Aneesh Kumar <ane...@gm...> wrote:
> > Hi John and Brian,
> >
> > What is the specific requirment of using XDR within ICS. ? I see
> > structures like pt_regs being encoded using ics directly. As per our
> > last discussion most of these structures are marked OOL. So with XDR
> > we encode them with XDR routines and out then as OOL data. But then if
> > all the nodes involved in clustering are of same endian do we need to
> > encode them using XDR routines ?
> >
>
> After looking at the code again i guess i understand what is
> happening. For structures carrying pointers to another data type we
> need the XDR param type.
>
> I have dropped from the latest ICS code the openssirpcgen. I am right
> now looking at NFS and understanding how to do the work the same way
> they are doing.
>
>
How about doing it the below way
struct my_struct {
int a;
char *data;
}
cli_encode_xdr_struct_my_struct(cli_handle_t *handle, struct my_struct *p)
{
/* scalar type encode inline */
cli_encode_int(handle, p->a)
cli_encode_ool_data_t(handle, p->data, length_of_data, NULL, 0);
}
By carefully doing this way i guess we should be able to drop XDR and rpcge=
n
-aneesh
|