Subject: Automated support for combined RPC procedure calls

From: Bruce Korb <[email-masked]>
Date: Mon, 07 Aug 2000 11:14:22 -0700

Hi all,

For any of you who have not yet started your v4 implementation,
you may find this interesting and useful.

As you are probably aware, there is no support in RPCGEN for
the concept of batching remote calls and responses.  So, in
the v4 spec the procedure calls were renamed "operations"
and the arguments were packed together in a miserably complex
data structure for a "COMBINED" procedure to dispatch on
the server side.  Well, heck.  That facility is pretty useful
and it is certainly painful to implement.  So, for a marginal
increase in work, I have implemented all that functionality
as a generalized layer on top of RPCGEN.  I even implemented
a debugging mode that will allow you to glue together the
client and server sides into a single process for easier
debugging.  You can read all the gory details here:

  http://AutoGen.sourceforge.net/xdr/

To use this, you must first install both the Guile-Scheme
library:

  http://www.gnu.org/software/guile/guile.html

and AutoGen:

  ftp://download.sourceforge.net/AutoGen/autogen-5.0.5.tar.gz

Then you can download and use the "AutoXDR" templates:

  ftp://download.sourceforge.net/AutoGen/autoxdr-0.0.tar.gz

I ran out of time (this not being a funded project :),
so I did not finish the conversion of the nfsv4.x file into
an AutoGen definition file.  That ought to be ready tomorrow,
and you will find it here:

  ftp://autogen.linuxave.net/pub/nfsv4def.tar.gz

Meanwhile,

  http://AutoGen.sourceforge.net/xdr/nfsv4.def.html

will show you the flavor of the final result.

---

From: Bruce Korb <[email-masked]>
Date: Thu, 10 Aug 2000 13:42:04 -0700

Jim Rees wrote:
> 
> I need something like Autogen for the OpenBSD nfsv4 implementation, but I'm
> worried about the license issues.  Is the generated code covered by GPL?

Currently, L-GPL  ("Library" GPL, which places no constraints on
using it in commercial software).

HOWEVER:

For those of you worried about licensing issues:

The code generated by AutoGen is not covered by AutoGen's
license.  It is similar to the output of a compiler or
editor: it would be subject to the copyright or licensing
of the source text (templates, in this case).  For this
particular application, I only have about 30 hours into
it, so I'm not all worked up about protecting it. :-)
I would prefer to keep copyright ownership, but I'll
license it any way anybody wants (BSD, LGPL, artistic, whatever),
or even public domain the thing, if anyone insists.

By the way (oops), in wrapping up the NFSv4 ISL in AutoGen-ese,
I bumped into a buglet, so you will need AutoGen 5.0.6 to play:

<P>
<A HREF="ftp://autogen.linuxave.net/pub/autogen-5.0.6.tar.gz">AutoGen</A>
<BR>
<A HREF="ftp://autogen.linuxave.net/pub/autoxdr-0.1.tar.gz">AutoXDR</A>
<P>

The latter tarball includes the NFSv4 definitions in a subdirectory.