]> www.infradead.org Git - users/dhowells/kafs-utils.git/log
users/dhowells/kafs-utils.git
11 years agorxgen: Extract C struct marshal/unmarshal code emitter
David Howells [Thu, 9 Jan 2014 14:55:10 +0000 (14:55 +0000)]
rxgen: Extract C struct marshal/unmarshal code emitter

Extract the code to emit the code to marshal/unmarshal C structures from the
main rxgen script and put into its own perl module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract py module emitter
David Howells [Thu, 9 Jan 2014 14:44:55 +0000 (14:44 +0000)]
rxgen: Extract py module emitter

Extract the code to emit the python module creation code from the main rxgen
script and put into its own perl module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Turn the py module emitter into a perl subroutine
David Howells [Thu, 9 Jan 2014 14:41:04 +0000 (14:41 +0000)]
rxgen: Turn the py module emitter into a perl subroutine

Turn the python module defining code emitter into a perl subroutine within the
main rxgen script.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract py wrapper type emitter
David Howells [Thu, 9 Jan 2014 14:33:21 +0000 (14:33 +0000)]
rxgen: Extract py wrapper type emitter

Extract the code to emit python wrapper types from the main rxgen script
and put into its own module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Extract py wrapper func emitter
David Howells [Thu, 9 Jan 2014 14:29:25 +0000 (14:29 +0000)]
rxgen: Extract py wrapper func emitter

Extract the code to emit python wrapper functions from the main rxgen script
and put into its own module.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Make lists of constants, structs and funcs global
David Howells [Thu, 9 Jan 2014 14:49:29 +0000 (14:49 +0000)]
rxgen: Make lists of constants, structs and funcs global

Make lists of constants, structs and funcs global within the rxgen perl script
and any modules it uses.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agorxgen: Move rxgen.pl to its own dir
David Howells [Thu, 9 Jan 2014 13:50:07 +0000 (13:50 +0000)]
rxgen: Move rxgen.pl to its own dir

Move rxgen.pl to its own dir so that it can be split up.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoInitial code commit now that the VLDB lookup test python script works
David Howells [Wed, 8 Jan 2014 23:38:07 +0000 (23:38 +0000)]
Initial code commit now that the VLDB lookup test python script works

The rxgen.pl script takes a C header file, parses it for #defined constants,
structures declarations and synchronous RPC call function declarations and
emits the following:

- C functions to marshal/unmarshal structs.
- C functions to marshal func arguments and dispatch the request.
- C functions to unmarshal the replies.
- C functions to provide synchronous RPC calls matching the source.
- A python module containing:
  - Python types to wrap the structs.
  - Python methods to wrap the synchronous RPC calls.
  - Python constants to wrap the constants.

It cannot yet handle functions that deal in bulk types/lists of structs and
functions that take interpolated chunks of arbitrary data.

It also does not yet emit server-side parts or top layer of the asynchronous
client side stuff.

It requires python v3 and requires the AF_RXRPC socket family to be available
in the kernel.

A script called "vl-test.py" is included that can be used to test the
functionality.  Run without arguments, it will attempt to retrieve the
"afs.root" volume from the grand.central.org AFS cell.

The test script uses the DNS so may require a python3-dns package installing.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoInitial revision
David Howells [Wed, 8 Jan 2014 21:15:54 +0000 (21:15 +0000)]
Initial revision