]> www.infradead.org Git - users/dhowells/kafs-utils.git/commit
Initial code commit now that the VLDB lookup test python script works
authorDavid Howells <dhowells@redhat.com>
Wed, 8 Jan 2014 23:38:07 +0000 (23:38 +0000)
committerDavid Howells <dhowells@redhat.com>
Thu, 9 Jan 2014 13:06:39 +0000 (13:06 +0000)
commitbec1acb6d3466ece5db74a90a9e1309179d94b42
tree17077c49a889f511986b9acfe5dc3dc2c7746b8d
parent458f36e05b4132c49d716fe4ca728c986582ce1b
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>
18 files changed:
Makefile [new file with mode: 0644]
af_rxrpc.c [new file with mode: 0644]
af_rxrpc.h [new file with mode: 0644]
afs.h [new file with mode: 0644]
afs_cm.h [new file with mode: 0644]
afs_fs.h [new file with mode: 0644]
afs_ka.h [new file with mode: 0644]
afs_vl.h [new file with mode: 0644]
afs_xg.h [new file with mode: 0644]
afsdns.py [new file with mode: 0755]
compile_pykafs.py [new file with mode: 0644]
kafs.c [new file with mode: 0644]
kafs.h [new file with mode: 0644]
py_rxgen.c [new file with mode: 0644]
py_rxgen.h [new file with mode: 0644]
rxgen.h [new file with mode: 0644]
rxgen.pl [new file with mode: 0755]
vl-test.py [new file with mode: 0755]