]>
www.infradead.org Git - users/dhowells/kafs-utils.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
David Howells [Wed, 15 Jan 2014 13:49:36 +0000 (13:49 +0000)]
Add call to VL_ListAttribute() to test program and fix stuff
Fix the following things:
(1) Calculation of iovecs for filling the reply data circular buffer from
recvmsg().
(2) Set the circular buffer tail pointer correctly when discarding extraneous
data in the final reply decode phase when waiting for MSG_EOR.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Fri, 10 Jan 2014 01:44:40 +0000 (01:44 +0000)]
rxgen: Use the xg files as sources for rxgen
Use the Arla xg files rather than C headers as sources for the rxgen script.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Fri, 10 Jan 2014 01:07:03 +0000 (01:07 +0000)]
xg: More cleanups
More cleanups to the xg files.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Fri, 10 Jan 2014 00:52:12 +0000 (00:52 +0000)]
xg: Reindent the xg files
Reindent the xg files to use tabs.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Fri, 10 Jan 2014 00:39:44 +0000 (00:39 +0000)]
xg: All integer types should be in terms of stdint
All integer types should be in terms of stdint:
int8_t uint8_t
int16_t uint16_t
int32_t uint32_t
int64_t uint64_t
Long should not be used as it may be 32-bits or 64-bits.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Fri, 10 Jan 2014 00:13:10 +0000 (00:13 +0000)]
xg: Clean up Arla xg files
Clean up Arla xg files to remove CVS-isms and Arla-specific bits.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Fri, 10 Jan 2014 00:02:20 +0000 (00:02 +0000)]
Import the Arla XG files
Import the Arla XG files. These are RxRPC RPC API definitions for rxgen to
turn into compilables.
They are licensed under the 3-clause BSD licence from Royal Institute of
Technology, Stockholm, Sweden, which is GPL-compatible.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Thu, 9 Jan 2014 15:59:50 +0000 (15:59 +0000)]
Integrate the afs_xg.h contents back into afs.h and afs_vl.h
Integrate the afs_xg.h contents back into afs.h and afs_vl.h and get rid of
the afs_xg.h file.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Thu, 9 Jan 2014 14:59:13 +0000 (14:59 +0000)]
rxgen: Extract C synchronous RPC func emitter
Extract the code to emit C functions to perform synchronous RPC calls from the
main rxgen script and put into its own module.
Signed-off-by: David Howells <dhowells@redhat.com>
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>
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>
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>
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>
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>
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>
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>
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>
David Howells [Wed, 8 Jan 2014 21:15:54 +0000 (21:15 +0000)]
Initial revision